diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index a5bbd65..e3da5e5 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
- docChecksum: 50e8a290b50314df7023e7445cd94cb7
+ docChecksum: 26f46e3c834197b7bc10a6e6c1c6ba9f
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 0.11.9
- configChecksum: 9c016c039411cba3aa46abf1ab1badb3
+ releaseVersion: 0.11.10
+ configChecksum: 196bea01b3663ba0c9fdcc5a798cbc32
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
- generation_id: 8e196ce1-4bb9-479a-8a36-6bbf4cf7d66f
- pristine_commit_hash: a316fdd152bcac88410dd9cf9e6908a4416ed3c8
- pristine_tree_hash: 6f1b53c0371fcec3591a93a8ac1967e4276cf63f
+ generation_id: aec5cf4e-117a-47a0-8159-8a6d7ca86365
+ pristine_commit_hash: 26539b409b95eeb377bfa623b3f12986c8084558
+ pristine_tree_hash: 1e58f3d7bd2923db31822357308a4c3358e7e7e5
features:
python:
acceptHeaders: 3.0.0
@@ -2062,8 +2062,8 @@ trackedFiles:
pristine_git_object: 8eb6786a519936cce87262623156a61e2f645c38
docs/components/imagegencompletedevent.mdx:
id: 2b1b82b2ff79
- last_write_checksum: sha1:3d4e28577da1d6ee353a8f3bdacbc45e8a1c043a
- pristine_git_object: 90ddd67dae34e0fed8c622edf27638d47709f3f7
+ last_write_checksum: sha1:2e4d746322e73bf36923a7f14ff6888207b660d6
+ pristine_git_object: 247d9e47e9583ec3778ca94cc3fadee3a4034376
docs/components/imagegencompletedeventtype.mdx:
id: dd9998bc9093
last_write_checksum: sha1:a7d7c52d0a7c5128a40fd9f1524e8b6f372a9061
@@ -2106,8 +2106,8 @@ trackedFiles:
pristine_git_object: b6e0e2c0dadc42fd0fbfaeb9b81f12efb62ff051
docs/components/imagegenerationresponsedata.mdx:
id: 1afc55d56268
- last_write_checksum: sha1:04d65c9889436bc57b88dc1e9e98765f86d9da29
- pristine_git_object: 78ec1e139b813231ed78ecf7f337cb277180b7a8
+ last_write_checksum: sha1:7960f5fce39a388da2aaf3a39a38d5c27f17da10
+ pristine_git_object: e36ed8937fc9401d2741d97cc03ff5c0ffc3bd52
docs/components/imagegenerationservertool.mdx:
id: "299013078656"
last_write_checksum: sha1:663ae715382f7f22890ea81a43ddb3cd0c07cf6b
@@ -6442,8 +6442,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:238a3b1285d4733be3e0d5a000d543a456ef5394
- pristine_git_object: 8d6f4efe9d7861f05cd73ed9fc603106d6f9238f
+ last_write_checksum: sha1:873cc7036938ca992145fa28afb0fb5ea2e513ca
+ pristine_git_object: afaaf4d246119c26a1cba696bbea015daf43fe5f
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -6470,8 +6470,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
- last_write_checksum: sha1:3af1feffc24d94b4b72fc4721954bc0e697b4259
- pristine_git_object: a3f702d5d53068571a1198b71b220742e7f6214b
+ last_write_checksum: sha1:a64fdf174e7ccce65f0d2619aed5e905c88dc30d
+ pristine_git_object: f7bcfe2ddc56fb83561f2b5ef3a3475b70d3f18f
src/openrouter/analytics.py:
id: cb406b5aaabb
last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841
@@ -7442,16 +7442,16 @@ trackedFiles:
pristine_git_object: 5f17d77c25a82ad2bf7b1211d05ee665b6fee35a
src/openrouter/components/imagegencompletedevent.py:
id: 7a791a02cb5b
- last_write_checksum: sha1:bd73865dd7ffd0ff9ec34b2edd484e4f0a3bde61
- pristine_git_object: ca3f68a4504570acfdc9c095ccdecfbb636c30f1
+ last_write_checksum: sha1:497f9be381527fd1ee961450a2364a898dba875b
+ pristine_git_object: 6b9a8990973466285f9b49b366bbc5fc1ae42e41
src/openrouter/components/imagegenerationrequest.py:
id: f8291a7be9a0
last_write_checksum: sha1:179a0b7ea9363fa826749e8bb6fb21074433e43e
pristine_git_object: fbb59ab7c3ea49aa774b4fc917eb9ed9d4484d32
src/openrouter/components/imagegenerationresponse.py:
id: 53354cd0cbfc
- last_write_checksum: sha1:8c42a25c58b589aad6031d2c1734eabcf1a1b143
- pristine_git_object: 7eddf64ed888d59494938f38e2b9035e7ba2b38e
+ last_write_checksum: sha1:53f1cde7b8bfe4f9e786a76f6e57b0a1f76aced2
+ pristine_git_object: 687008d328b39a67390cdf0ab3eb8f6179ae6f7c
src/openrouter/components/imagegenerationservertool.py:
id: 9c95bc975f2e
last_write_checksum: sha1:f87c338c9b54030623f7f3e32f08a064e411f76c
@@ -10760,6 +10760,3 @@ examples:
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2
-releaseNotes: |
- ## Python SDK Changes:
- * `open_router.images.generate()`: `error.status[413]` **Added**
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 4929c6a..2896614 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
- version: 0.11.9
+ version: 0.11.10
additionalDependencies:
dev: {}
main: {}
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 8a55da3..b283dbb 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -9306,8 +9306,8 @@ components:
type: integer
media_type:
description: >-
- Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`).
- example: image/svg+xml
+ Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined.
+ example: image/png
type: string
type:
description: The event type
@@ -9471,8 +9471,8 @@ components:
type: string
media_type:
description: >-
- Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`).
- example: image/svg+xml
+ Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined.
+ example: image/png
type: string
required:
- b64_json
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 51493c6..ec4835c 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:c731f8b098d442f39d564a1fedec657ac7d3843f65b420ea96129da64def2d56
- sourceBlobDigest: sha256:fd18c48e9365dbfc7d68e34b39776a45cfff3c27aaba929f037f6d0ffb8e2c3c
+ sourceRevisionDigest: sha256:87aa335eb202bedb623990e67878aeccd1338fdea6fb68c51d211ad8155652bf
+ sourceBlobDigest: sha256:98310b3c6bd4b7b0c9e45f9b9402c28a43ee7e81669d401ce000be1885dd4aea
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:c731f8b098d442f39d564a1fedec657ac7d3843f65b420ea96129da64def2d56
- sourceBlobDigest: sha256:fd18c48e9365dbfc7d68e34b39776a45cfff3c27aaba929f037f6d0ffb8e2c3c
+ sourceRevisionDigest: sha256:87aa335eb202bedb623990e67878aeccd1338fdea6fb68c51d211ad8155652bf
+ sourceBlobDigest: sha256:98310b3c6bd4b7b0c9e45f9b9402c28a43ee7e81669d401ce000be1885dd4aea
codeSamplesNamespace: open-router-python-code-samples
- codeSamplesRevisionDigest: sha256:9f518db7f190fe719cb5f362d238ec42ada2152e6c1251f78b1cbfd106b239ca
+ codeSamplesRevisionDigest: sha256:7fa7234a88a43ca2e6a2b0a9b47dcf355f9a3875c0c46977a99bca9a1c784418
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index 9ac8a1d..57c0f11 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -198,4 +198,14 @@ Based on:
### Generated
- [python v0.11.9] .
### Releases
-- [PyPI v0.11.9] https://pypi.org/project/openrouter/0.11.9 - .
\ No newline at end of file
+- [PyPI v0.11.9] https://pypi.org/project/openrouter/0.11.9 - .
+
+## 2026-07-08 09:31:18
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v0.11.10] .
+### Releases
+- [PyPI v0.11.10] https://pypi.org/project/openrouter/0.11.10 - .
\ No newline at end of file
diff --git a/docs/components/imagegencompletedevent.mdx b/docs/components/imagegencompletedevent.mdx
index 90ddd67..247d9e4 100644
--- a/docs/components/imagegencompletedevent.mdx
+++ b/docs/components/imagegencompletedevent.mdx
@@ -7,10 +7,10 @@ Emitted when generation completes and the final image is available
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded final image data | |
-| `created` | *int* | :heavy_check_mark: | Unix timestamp (seconds) when the image was generated | |
-| `media_type` | *Optional[str]* | :heavy_minus_sign: | Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`). | image/svg+xml |
-| `type` | [components.ImageGenCompletedEventType](../components/imagegencompletedeventtype.mdx) | :heavy_check_mark: | The event type | |
-| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage.mdx) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded final image data | |
+| `created` | *int* | :heavy_check_mark: | Unix timestamp (seconds) when the image was generated | |
+| `media_type` | *Optional[str]* | :heavy_minus_sign: | Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined. | image/png |
+| `type` | [components.ImageGenCompletedEventType](../components/imagegencompletedeventtype.mdx) | :heavy_check_mark: | The event type | |
+| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage.mdx) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
diff --git a/docs/components/imagegenerationresponsedata.mdx b/docs/components/imagegenerationresponsedata.mdx
index 78ec1e1..e36ed89 100644
--- a/docs/components/imagegenerationresponsedata.mdx
+++ b/docs/components/imagegenerationresponsedata.mdx
@@ -4,7 +4,7 @@ title: "ImageGenerationResponseData"
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded image bytes | |
-| `media_type` | *Optional[str]* | :heavy_minus_sign: | Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`). | image/svg+xml |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded image bytes | |
+| `media_type` | *Optional[str]* | :heavy_minus_sign: | Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined. | image/png |
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 8d6f4ef..afaaf4d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
-version = "0.11.9"
+version = "0.11.10"
description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md"
diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py
index a3f702d..f7bcfe2 100644
--- a/src/openrouter/_version.py
+++ b/src/openrouter/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "openrouter"
-__version__: str = "0.11.9"
+__version__: str = "0.11.10"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
-__user_agent__: str = "speakeasy-sdk/python 0.11.9 2.914.0 1.0.0 openrouter"
+__user_agent__: str = "speakeasy-sdk/python 0.11.10 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
diff --git a/src/openrouter/components/imagegencompletedevent.py b/src/openrouter/components/imagegencompletedevent.py
index ca3f68a..6b9a899 100644
--- a/src/openrouter/components/imagegencompletedevent.py
+++ b/src/openrouter/components/imagegencompletedevent.py
@@ -22,7 +22,7 @@ class ImageGenCompletedEventTypedDict(TypedDict):
type: ImageGenCompletedEventType
r"""The event type"""
media_type: NotRequired[str]
- r"""Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`)."""
+ r"""Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined."""
usage: NotRequired[ImageGenerationUsageTypedDict]
r"""Token and cost usage for the image generation request, when available"""
@@ -40,7 +40,7 @@ class ImageGenCompletedEvent(BaseModel):
r"""The event type"""
media_type: Optional[str] = None
- r"""Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`)."""
+ r"""Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined."""
usage: Optional[ImageGenerationUsage] = None
r"""Token and cost usage for the image generation request, when available"""
diff --git a/src/openrouter/components/imagegenerationresponse.py b/src/openrouter/components/imagegenerationresponse.py
index 7eddf64..687008d 100644
--- a/src/openrouter/components/imagegenerationresponse.py
+++ b/src/openrouter/components/imagegenerationresponse.py
@@ -12,7 +12,7 @@ class ImageGenerationResponseDataTypedDict(TypedDict):
b64_json: str
r"""Base64-encoded image bytes"""
media_type: NotRequired[str]
- r"""Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`)."""
+ r"""Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined."""
class ImageGenerationResponseData(BaseModel):
@@ -20,7 +20,7 @@ class ImageGenerationResponseData(BaseModel):
r"""Base64-encoded image bytes"""
media_type: Optional[str] = None
- r"""Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`)."""
+ r"""Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined."""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
diff --git a/uv.lock b/uv.lock
index 21dc7ad..6f3b043 100644
--- a/uv.lock
+++ b/uv.lock
@@ -213,7 +213,7 @@ wheels = [
[[package]]
name = "openrouter"
-version = "0.11.9"
+version = "0.11.10"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },