From 649c41d2c4a0e76e11e54fa4ceccbe2137e902f4 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 8 Jul 2026 07:02:34 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `open_router.images.generate()`: `error.status[413]` **Added** --- .speakeasy/gen.lock | 34 +++++++++++++++++++--------------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 10 ++++++++++ .speakeasy/workflow.lock | 10 +++++----- RELEASES.md | 12 +++++++++++- docs/sdks/images/README.mdx | 1 + pyproject.toml | 2 +- src/openrouter/_version.py | 4 ++-- src/openrouter/images.py | 16 ++++++++++++++++ uv.lock | 2 +- 10 files changed, 67 insertions(+), 26 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 3029b66..a5bbd65 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: 650dff337a98bf070a3d52ab3a7ab1c3 + docChecksum: 50e8a290b50314df7023e7445cd94cb7 docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 0.11.8 - configChecksum: a51ccbb5afd956309fcd066b2592f06a + releaseVersion: 0.11.9 + configChecksum: 9c016c039411cba3aa46abf1ab1badb3 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 5184830b-3a82-41c6-bf4b-e4b5d536132f - pristine_commit_hash: 6261057d5344c7013ae79689331b8322cf7cc91f - pristine_tree_hash: 5c34f8ea38ccc5bd114c8bf2a16d8045c5c53e52 + generation_id: 8e196ce1-4bb9-479a-8a36-6bbf4cf7d66f + pristine_commit_hash: a316fdd152bcac88410dd9cf9e6908a4416ed3c8 + pristine_tree_hash: 6f1b53c0371fcec3591a93a8ac1967e4276cf63f features: python: acceptHeaders: 3.0.0 @@ -6386,8 +6386,8 @@ trackedFiles: pristine_git_object: d164a1da79b0838bd68f0a6560a0317eb86e0226 docs/sdks/images/README.mdx: id: 534a6c102c4f - last_write_checksum: sha1:fd7a87a3091a9cc65b1f6785fff8f3b278da1660 - pristine_git_object: 77f3172dabafbaa192b258382074cb34cfd55a5e + last_write_checksum: sha1:eb919a70e20e9bde335ff1e8ae52ba0a309ca5c3 + pristine_git_object: 8277c7710decc3ee152c7fe725c90bac9784800a docs/sdks/models/README.mdx: id: 58f1ca464e0b last_write_checksum: sha1:2a8e7baeb6586e3b46d4da14c1e4701e4625ee7d @@ -6442,8 +6442,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:3e14d3b854b2587843adcc288c3fb7a72eb4702a - pristine_git_object: bc961c19b4d009a656fba6ca0650d989217cbe22 + last_write_checksum: sha1:238a3b1285d4733be3e0d5a000d543a456ef5394 + pristine_git_object: 8d6f4efe9d7861f05cd73ed9fc603106d6f9238f 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:25325f38ff9226e3d977f13708341c3ede65cc51 - pristine_git_object: b995898c8db408d20edd2aab81a06d90085d7604 + last_write_checksum: sha1:3af1feffc24d94b4b72fc4721954bc0e697b4259 + pristine_git_object: a3f702d5d53068571a1198b71b220742e7f6214b src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841 @@ -8774,8 +8774,8 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/openrouter/images.py: id: c4d7adf63ae0 - last_write_checksum: sha1:17dfa465ebb0408aff811872149f6ecda426a050 - pristine_git_object: 6f5c7bad3913610dbe97f5bd03837deff83faa6b + last_write_checksum: sha1:2237619daf56a48c3ee0c8980178d36443ca1b13 + pristine_git_object: b7a120ad3562280aab790be56cbf482286fe40b4 src/openrouter/models/__init__.py: id: ed73b93abb3f last_write_checksum: sha1:932a790ae66ccd7d7022b39c659bcf72a664ebea @@ -10721,6 +10721,8 @@ examples: application/json: {"error": {"code": 524, "message": "Request timed out. Please try again later."}} "529": application/json: {"error": {"code": 529, "message": "Provider returned error"}} + "413": + application/json: {"error": {"code": 413, "message": "Request payload too large"}} listImageModels: speakeasy-default-list-image-models: responses: @@ -10758,4 +10760,6 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.chat.send()`: \n * `request.tools[].union(FusionServerTool_OpenRouter)` **Added**\n* `open_router.presets.create_presets_chat_completions()`: \n * `request.tools[].union(FusionServerTool_OpenRouter)` **Added**\n" +releaseNotes: | + ## Python SDK Changes: + * `open_router.images.generate()`: `error.status[413]` **Added** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 348b9c4..4929c6a 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 0.11.8 + version: 0.11.9 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index ca09c7c..8a55da3 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -28324,6 +28324,16 @@ paths: schema: $ref: '#/components/schemas/NotFoundResponse' description: Not Found - Resource does not exist + '413': + content: + application/json: + example: + error: + code: 413 + message: Request payload too large + schema: + $ref: '#/components/schemas/PayloadTooLargeResponse' + description: Payload Too Large - Request payload exceeds size limits '429': content: application/json: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index ceb6fa9..51493c6 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:7a4e4af7f34e5e5dc83b857eb62b94f52637b1a26b430d7e0ef087d52b7785e6 - sourceBlobDigest: sha256:48fc5a54f2206a06167402e7a65ffe98be97296dae660a3d62c5a3f9e30004e9 + sourceRevisionDigest: sha256:c731f8b098d442f39d564a1fedec657ac7d3843f65b420ea96129da64def2d56 + sourceBlobDigest: sha256:fd18c48e9365dbfc7d68e34b39776a45cfff3c27aaba929f037f6d0ffb8e2c3c tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:7a4e4af7f34e5e5dc83b857eb62b94f52637b1a26b430d7e0ef087d52b7785e6 - sourceBlobDigest: sha256:48fc5a54f2206a06167402e7a65ffe98be97296dae660a3d62c5a3f9e30004e9 + sourceRevisionDigest: sha256:c731f8b098d442f39d564a1fedec657ac7d3843f65b420ea96129da64def2d56 + sourceBlobDigest: sha256:fd18c48e9365dbfc7d68e34b39776a45cfff3c27aaba929f037f6d0ffb8e2c3c codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:10ee60774c94f2b4646c4693a1daf788a657303a4bb0ea83bf5775d0a751a74b + codeSamplesRevisionDigest: sha256:9f518db7f190fe719cb5f362d238ec42ada2152e6c1251f78b1cbfd106b239ca workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index b7d300d..9ac8a1d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -188,4 +188,14 @@ Based on: ### Generated - [python v0.11.8] . ### Releases -- [PyPI v0.11.8] https://pypi.org/project/openrouter/0.11.8 - . \ No newline at end of file +- [PyPI v0.11.8] https://pypi.org/project/openrouter/0.11.8 - . + +## 2026-07-08 07:00:39 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.11.9] . +### Releases +- [PyPI v0.11.9] https://pypi.org/project/openrouter/0.11.9 - . \ No newline at end of file diff --git a/docs/sdks/images/README.mdx b/docs/sdks/images/README.mdx index 77f3172..8277c77 100644 --- a/docs/sdks/images/README.mdx +++ b/docs/sdks/images/README.mdx @@ -76,6 +76,7 @@ with OpenRouter( | errors.PaymentRequiredResponseError | 402 | application/json | | errors.ForbiddenResponseError | 403 | application/json | | errors.NotFoundResponseError | 404 | application/json | +| errors.PayloadTooLargeResponseError | 413 | application/json | | errors.TooManyRequestsResponseError | 429 | application/json | | errors.InternalServerResponseError | 500 | application/json | | errors.BadGatewayResponseError | 502 | application/json | diff --git a/pyproject.toml b/pyproject.toml index bc961c1..8d6f4ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "0.11.8" +version = "0.11.9" 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 b995898..a3f702d 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.8" +__version__: str = "0.11.9" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 0.11.8 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 0.11.9 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/images.py b/src/openrouter/images.py index 6f5c7ba..b7a120a 100644 --- a/src/openrouter/images.py +++ b/src/openrouter/images.py @@ -430,6 +430,14 @@ def generate( errors.NotFoundResponseErrorData, http_res, http_res_text ) raise errors.NotFoundResponseError(response_data, http_res, http_res_text) + if utils.match_response(http_res, "413", "application/json"): + http_res_text = utils.stream_to_text(http_res) + response_data = unmarshal_json_response( + errors.PayloadTooLargeResponseErrorData, http_res, http_res_text + ) + raise errors.PayloadTooLargeResponseError( + response_data, http_res, http_res_text + ) if utils.match_response(http_res, "429", "application/json"): http_res_text = utils.stream_to_text(http_res) response_data = unmarshal_json_response( @@ -902,6 +910,14 @@ async def generate_async( errors.NotFoundResponseErrorData, http_res, http_res_text ) raise errors.NotFoundResponseError(response_data, http_res, http_res_text) + if utils.match_response(http_res, "413", "application/json"): + http_res_text = await utils.stream_to_text_async(http_res) + response_data = unmarshal_json_response( + errors.PayloadTooLargeResponseErrorData, http_res, http_res_text + ) + raise errors.PayloadTooLargeResponseError( + response_data, http_res, http_res_text + ) if utils.match_response(http_res, "429", "application/json"): http_res_text = await utils.stream_to_text_async(http_res) response_data = unmarshal_json_response( diff --git a/uv.lock b/uv.lock index 7f529be..21dc7ad 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "0.11.8" +version = "0.11.9" source = { editable = "." } dependencies = [ { name = "httpcore" }, From 0379b3ea7f1f9745bc9c1fa3aef3ec93c3c12f5d Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 8 Jul 2026 07:02:41 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow