From e2eeb1aa7d1307777ccfbaa071387256485ff4fe Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 17 Jul 2026 18:09:16 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `open_router.beta.responses.send()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.tts.create_speech()`: * `request.provider.options.fish_audio` **Added** * `open_router.stt.create_transcription()`: * `request.provider.options.fish_audio` **Added** * `open_router.byok.list()`: * `request.provider` **Changed** * `response.data[].provider.enum(fish_audio)` **Added** * `open_router.byok.create()`: * `request.provider.enum(fish_audio)` **Added** * `response.data.provider.enum(fish_audio)` **Added** * `open_router.byok.get()`: `response.data.provider.enum(fish_audio)` **Added** * `open_router.byok.update()`: `response.data.provider.enum(fish_audio)` **Added** * `open_router.chat.send()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.embeddings.generate()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name.enum(fish_audio)` **Added** * `open_router.endpoints.list()`: `response.data.endpoints[].provider_name.enum(fish_audio)` **Added** * `open_router.generations.get_generation()`: `response.data.provider_responses[].provider_name.enum(fish_audio)` **Added** * `open_router.images.generate()`: `request.provider` **Changed** * `open_router.presets.create_presets_chat_completions()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.presets.create_presets_messages()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.presets.create_presets_responses()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.rerank.rerank()`: * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added** * `open_router.video_generation.generate()`: * `request.provider.options.fish_audio` **Added** --- .speakeasy/gen.lock | 80 +++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 8 ++ .speakeasy/workflow.lock | 10 +-- RELEASES.md | 12 ++- docs/components/byokproviderslug.mdx | 1 + ...gegenerationproviderpreferencesoptions.mdx | 1 + docs/components/providername.mdx | 1 + docs/components/provideroptions.mdx | 1 + .../providerresponseprovidername.mdx | 1 + .../videogenerationrequestoptions.mdx | 1 + docs/operations/provider.mdx | 1 + pyproject.toml | 2 +- src/openrouter/_version.py | 4 +- src/openrouter/components/byokproviderslug.py | 1 + .../imagegenerationproviderpreferences.py | 6 ++ src/openrouter/components/providername.py | 1 + src/openrouter/components/provideroptions.py | 6 ++ src/openrouter/components/providerresponse.py | 1 + .../components/videogenerationrequest.py | 6 ++ src/openrouter/operations/listbyokkeys.py | 1 + uv.lock | 2 +- 22 files changed, 97 insertions(+), 52 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 24fe659b..521d0907 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: 6dbc066243539a97a1e225d3d6391b61 + docChecksum: a14ec5eaa5e2e26622bad969687b396a docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 0.11.41 - configChecksum: ddac6556ba465f524a1cec7a31b32b0a + releaseVersion: 0.11.42 + configChecksum: 7e02fef5a98baed923066c5fbd072b9d repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 8314c8ef-99b5-48c1-8a60-4626f255bef4 - pristine_commit_hash: 550028ddd21d236997e3a4e2dca4e50a5f5ab419 - pristine_tree_hash: 439cc92e5a9b273693102bea2fafe65e409b9757 + generation_id: c1959972-862e-441b-b9e6-3362479ca821 + pristine_commit_hash: 3d29620a0e70ba7c2e34b67a57a3a901ef05b5e5 + pristine_tree_hash: dbfaa785290ad6891028543793db46f2c4c20fe8 features: python: acceptHeaders: 3.0.0 @@ -766,8 +766,8 @@ trackedFiles: pristine_git_object: 151dd8398dc818ff4d26d6859d25efd202d03917 docs/components/byokproviderslug.mdx: id: 6ea70819f6d8 - last_write_checksum: sha1:6d22db8a9d83df36a6305e30e6885d0deabb0a39 - pristine_git_object: 4dbc4cec5e6acb4f1598a9656ec80e6cfa40e191 + last_write_checksum: sha1:b33bbe51ee1b5f476ae86506c4d01506122747b4 + pristine_git_object: d0a82622e37ba36ad96cb605571c59d1be6f456d docs/components/capabilitydescriptor.mdx: id: 34ac0e581d79 last_write_checksum: sha1:62ee9ccab6cec4572383cef654997ab4106d4676 @@ -2154,8 +2154,8 @@ trackedFiles: pristine_git_object: 11f1471c8b6c04f52af89d74d6dec2e9d12c2d82 docs/components/imagegenerationproviderpreferencesoptions.mdx: id: 32d5c4b3e06b - last_write_checksum: sha1:7b4de8e17d7a0e408b1707e625e97a1da8232646 - pristine_git_object: a5a0f4721f73ca92c2822f23320b60c2ad8aa6b1 + last_write_checksum: sha1:0dfc5e291021c90d01eb6ff845d6df72ad0bb23b + pristine_git_object: 97dd2d0c8d779a167f891f6fc562a45784e66056 docs/components/imagegenerationproviderpreferencesorder.mdx: id: 0547877073f3 last_write_checksum: sha1:3e890c691097373cc9a2d7e47c3594f56b57809c @@ -3966,12 +3966,12 @@ trackedFiles: pristine_git_object: 1d91d32cd0bf4b64699bbbf05a7e95ab835b10cf docs/components/providername.mdx: id: aa3a4904b228 - last_write_checksum: sha1:6eb2feecb38652cc41c3bdb5cef4ff0e1aa36ea2 - pristine_git_object: 311793cd8513dc58817c521be6183115608a2d4d + last_write_checksum: sha1:e05c144168463f4a0abf3288f99689d1184f7f85 + pristine_git_object: 013b898344ed7a7653d6ad9f34138cbe459e2f4f docs/components/provideroptions.mdx: id: 2697807524fe - last_write_checksum: sha1:e9ebc5e3e8f24a90121b8659be5b084895a4fcf8 - pristine_git_object: 9c1c5a8e4c58f2f4ba0e7328a01b7f5ce9432ef2 + last_write_checksum: sha1:3c7632cca61a1144395e700f1c7e8ee36587522b + pristine_git_object: 8d2e1d9a5b2cb9adafe06ccd5134c965fdb33f3d docs/components/provideroverloadedresponseerrordata.mdx: id: dc500cd14889 last_write_checksum: sha1:8326118941c8899a398931c8c7871af21b716b00 @@ -4002,8 +4002,8 @@ trackedFiles: pristine_git_object: dd376f0952fa0517dd83b06ed7afc2c856123dbc docs/components/providerresponseprovidername.mdx: id: 2fc17b61e546 - last_write_checksum: sha1:50933d213120e22c958af792a234e1d93c796305 - pristine_git_object: 8cbe511b2c8c01bb212761e58b6c09cba67ebf3a + last_write_checksum: sha1:efad32b9c034ac4bded5d188859e66687c7ad476 + pristine_git_object: 7a5f03e41f4162a7f4166e0d75bcf97657a64ad9 docs/components/providersort.mdx: id: d73fa13eeb95 last_write_checksum: sha1:b7e9e6842741e3433d705bd576f2ac5383f00134 @@ -5102,8 +5102,8 @@ trackedFiles: pristine_git_object: 67f56887bb4758559189e3e9e6123dff9a38df81 docs/components/videogenerationrequestoptions.mdx: id: 1d67160e7e7a - last_write_checksum: sha1:85ff779c4d9b17b5e6cfc6b7d2c6b2d49600d624 - pristine_git_object: 696bc465f6244a645a8b92ee920569f8503376fe + last_write_checksum: sha1:d003e6feee4e4c9353c3bbc10f672fecda3c227a + pristine_git_object: 6eb8746fa3c18b2cbbb8503b0fff7379f3e4a7da docs/components/videogenerationrequestprovider.mdx: id: d6424dd5de9d last_write_checksum: sha1:72aa46a3335220b579db56574ea179d150dbe2b6 @@ -6378,8 +6378,8 @@ trackedFiles: pristine_git_object: 0f0b54e43577a8a835cd971f82e48c3921e3d88e docs/operations/provider.mdx: id: c75b3bbeeaa0 - last_write_checksum: sha1:3bab794d2b3f7f6d0405de604f55c33606c6a2aa - pristine_git_object: bd7ec3fd662bff29e58367ac7ca98e4ac60e3ba0 + last_write_checksum: sha1:5c386b4f3aa38688eaec839f40c27a4e6eaed12d + pristine_git_object: 7818d58ff814a981f4b2383dfc081e8930f63116 docs/operations/queryanalyticsdata1.mdx: id: 0e41beea77d0 last_write_checksum: sha1:f9a349b4fee07f786180e94b45f92002bfae0e56 @@ -6694,8 +6694,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:0110d38ef96fe2ab6c76b19c6f151e5d5f19d550 - pristine_git_object: 1a2b61bcea2b580dbe603784edc8309e6b6ddc65 + last_write_checksum: sha1:ea69005f6ca112f6f46523f3dc69dd2b8d1ce856 + pristine_git_object: f1187bab962e20424c67d026c659dce63c7bfa8c scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -6722,8 +6722,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:cce8b5c35f58d8675f8cd2b0b77ab4d63047e389 - pristine_git_object: 6f847a9d821ebe3dd1b8eeb3259e4cad78297843 + last_write_checksum: sha1:343fbb3ffab662aa3e56126ea79dade43b804e19 + pristine_git_object: 6cb9ccfb9b437b36e5f852e2b11fbcf79287950c src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841 @@ -7106,8 +7106,8 @@ trackedFiles: pristine_git_object: 47ef267b5e0f7b615b0cd66018728e3f47440a66 src/openrouter/components/byokproviderslug.py: id: 6738a8516caf - last_write_checksum: sha1:44997a480291aa5bee678ffbb98f6bb3bbcf21ff - pristine_git_object: ae5da1933d48f1c1b038eaf6321f55297a7a8496 + last_write_checksum: sha1:5575e0d338e670a25ac845da7424a494538ffff6 + pristine_git_object: 434610c41a4f2ba30462436341cf52c4af9c2f05 src/openrouter/components/capabilitydescriptor.py: id: 368790a86f10 last_write_checksum: sha1:a167551924ee82b4b5876a0ab698a45fe8c87a95 @@ -7722,8 +7722,8 @@ trackedFiles: pristine_git_object: 6b9a8990973466285f9b49b366bbc5fc1ae42e41 src/openrouter/components/imagegenerationproviderpreferences.py: id: 100a82a54e2d - last_write_checksum: sha1:3fa3f760132d16c3f73075e6b666e95752f5cf52 - pristine_git_object: c2d2bd05e665240a7307a4cf6b89b6ffedaaa80b + last_write_checksum: sha1:b5648c27231831e1b2e584d2d8f7642b395a3016 + pristine_git_object: c83c1b95deca13b45ec02574e168e961b8ee9837 src/openrouter/components/imagegenerationrequest.py: id: f8291a7be9a0 last_write_checksum: sha1:48a9640c0b9f48833d5514c7671bfa4b76aac776 @@ -8422,12 +8422,12 @@ trackedFiles: pristine_git_object: 170ae25c582bb8decd74e1c69bfa8353bd44e86d src/openrouter/components/providername.py: id: fcc722fa2fce - last_write_checksum: sha1:7899a42013912b227ff10ab1c7581982321cb4f6 - pristine_git_object: a779333ac0c3a5a4b810a7ae7d2a5eaf8c411605 + last_write_checksum: sha1:dc5225608523e46f11b678bf929c80ae432fd615 + pristine_git_object: 1d876904876277e38b6399b0a45abf8db9f8b1ff src/openrouter/components/provideroptions.py: id: 73dde6c8f359 - last_write_checksum: sha1:821df909a8647d3a0a079670ba9174bbe90aeae8 - pristine_git_object: 2d7a313b528cb33c072ac94afde1cb530778db45 + last_write_checksum: sha1:1f5445c41af5d791b7a772fd0c3f5648e38cbfe9 + pristine_git_object: b615e8482c50a5b7ebe0d56223c851753bdfb55c src/openrouter/components/provideroverloadedresponseerrordata.py: id: 5b693682570e last_write_checksum: sha1:b54682560ff95dad18d26f9aaf887f8f6e0e1f71 @@ -8438,8 +8438,8 @@ trackedFiles: pristine_git_object: 54ef6ce91cc841aff1c74c0fed7c6f54f2f0ee2f src/openrouter/components/providerresponse.py: id: ad3887be54c5 - last_write_checksum: sha1:39da8d81308d0cd253ffd10dbe1a4f7a32703afe - pristine_git_object: de277f8caaf20decb933ba4d65601a94dc030017 + last_write_checksum: sha1:0baacc44e1cfc0d58af40df1c3c5a90e2ebf626b + pristine_git_object: 12f8589d4b7f506862070fe325330ed83e8fbce5 src/openrouter/components/providersort.py: id: 348e382bf494 last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152 @@ -8902,8 +8902,8 @@ trackedFiles: pristine_git_object: a0491cc8fd3bd9986146cb1176e27d5b9c9beb60 src/openrouter/components/videogenerationrequest.py: id: 70e3c9ff288c - last_write_checksum: sha1:78d324450c009cc3071c898ee905f7712717fe92 - pristine_git_object: 26d076feddde66414b42a1b568098adcc0e30adb + last_write_checksum: sha1:8979fd8715a39f322e076cc44b627a47b34c154e + pristine_git_object: eb6c9c01f5648311009df517d3c63c577177dad6 src/openrouter/components/videogenerationresponse.py: id: 541f1321b072 last_write_checksum: sha1:18c3aa7845f63a9614286b1a27b6098eae1c4951 @@ -9370,8 +9370,8 @@ trackedFiles: pristine_git_object: 75480914b4db49d02f606f22d17d1a6ef52eea2a src/openrouter/operations/listbyokkeys.py: id: b6dd42b3e05f - last_write_checksum: sha1:03be6d3f10af3ca3fd84b0e6e4b2017917ebe70f - pristine_git_object: 6bf7df4328413ca57fbead1748683f8f34c9d955 + last_write_checksum: sha1:3306554cb6bb0bb830a19b32f65470f854cc90d4 + pristine_git_object: 30be823f06b3cec9ff3216b725d9d69ff544ca4d src/openrouter/operations/listembeddingsmodels.py: id: bf749a1f23d6 last_write_checksum: sha1:938440c9b9df0c3d8430792f262bffced0207d13 @@ -11189,6 +11189,4 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: | - ## Python SDK Changes: - * `open_router.beta.responses.send()`: `response` **Changed** +releaseNotes: "## Python SDK Changes:\n* `open_router.beta.responses.send()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.tts.create_speech()`: \n * `request.provider.options.fish_audio` **Added**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options.fish_audio` **Added**\n* `open_router.byok.list()`: \n * `request.provider` **Changed**\n * `response.data[].provider.enum(fish_audio)` **Added**\n* `open_router.byok.create()`: \n * `request.provider.enum(fish_audio)` **Added**\n * `response.data.provider.enum(fish_audio)` **Added**\n* `open_router.byok.get()`: `response.data.provider.enum(fish_audio)` **Added**\n* `open_router.byok.update()`: `response.data.provider.enum(fish_audio)` **Added**\n* `open_router.chat.send()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.embeddings.generate()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name.enum(fish_audio)` **Added**\n* `open_router.endpoints.list()`: `response.data.endpoints[].provider_name.enum(fish_audio)` **Added**\n* `open_router.generations.get_generation()`: `response.data.provider_responses[].provider_name.enum(fish_audio)` **Added**\n* `open_router.images.generate()`: `request.provider` **Changed**\n* `open_router.presets.create_presets_chat_completions()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.presets.create_presets_messages()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.presets.create_presets_responses()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.rerank.rerank()`: \n * `request.provider.ignore[].union(ProviderName).enum(fish_audio)` **Added**\n* `open_router.video_generation.generate()`: \n * `request.provider.options.fish_audio` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index cec0661b..faf8883a 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 0.11.41 + version: 0.11.42 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index e2b8b8c0..f437c785 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -4312,6 +4312,7 @@ components: - 'digitalocean' - 'featherless' - 'fireworks' + - 'fish-audio' - 'friendli' - 'gmicloud' - 'google-ai-studio' @@ -13121,6 +13122,7 @@ components: - 'DigitalOcean' - 'Featherless' - 'Fireworks' + - 'Fish Audio' - 'Friendli' - 'GMICloud' - 'Google' @@ -18797,6 +18799,7 @@ components: - 'DigitalOcean' - 'Featherless' - 'Fireworks' + - 'Fish Audio' - 'Friendli' - 'GMICloud' - 'Google' @@ -18989,6 +18992,9 @@ components: fireworks: additionalProperties: {} type: 'object' + fish-audio: + additionalProperties: {} + type: 'object' friendli: additionalProperties: {} type: 'object' @@ -19493,6 +19499,7 @@ components: - 'DigitalOcean' - 'Featherless' - 'Fireworks' + - 'Fish Audio' - 'Friendli' - 'GMICloud' - 'Google' @@ -25597,6 +25604,7 @@ paths: - 'digitalocean' - 'featherless' - 'fireworks' + - 'fish-audio' - 'friendli' - 'gmicloud' - 'google-ai-studio' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index eb96a953..00c9da0c 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:da22df10cffa0bd2d54dcf8d9dae10c42018060422a5c6406d933be4e9a7ebe8 - sourceBlobDigest: sha256:9638fb99f873cb57e93d5817c8b9f003789fcd46b782ba735794aecbf8cec0d4 + sourceRevisionDigest: sha256:9bba35f03b7012500fb827fc449a79b6c7c33cd693732cc20444e75daaf3f173 + sourceBlobDigest: sha256:0d45f65f8464d3721af69d46f98098a69c02e994447f24f5604a611ef93c9a30 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:da22df10cffa0bd2d54dcf8d9dae10c42018060422a5c6406d933be4e9a7ebe8 - sourceBlobDigest: sha256:9638fb99f873cb57e93d5817c8b9f003789fcd46b782ba735794aecbf8cec0d4 + sourceRevisionDigest: sha256:9bba35f03b7012500fb827fc449a79b6c7c33cd693732cc20444e75daaf3f173 + sourceBlobDigest: sha256:0d45f65f8464d3721af69d46f98098a69c02e994447f24f5604a611ef93c9a30 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:041da88c8c234c9074b4688c217053b7e181bd35b9a943f4ad8099d33e29292e + codeSamplesRevisionDigest: sha256:46847eb3c65982c5a6b88769ed30842f850200c73584ed08e444a36dbf611830 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index f8a57b08..80e95dda 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -518,4 +518,14 @@ Based on: ### Generated - [python v0.11.41] . ### Releases -- [PyPI v0.11.41] https://pypi.org/project/openrouter/0.11.41 - . \ No newline at end of file +- [PyPI v0.11.41] https://pypi.org/project/openrouter/0.11.41 - . + +## 2026-07-17 18:08:09 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.11.42] . +### Releases +- [PyPI v0.11.42] https://pypi.org/project/openrouter/0.11.42 - . \ No newline at end of file diff --git a/docs/components/byokproviderslug.mdx b/docs/components/byokproviderslug.mdx index 4dbc4cec..d0a82622 100644 --- a/docs/components/byokproviderslug.mdx +++ b/docs/components/byokproviderslug.mdx @@ -50,6 +50,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"digitalocean"` - `"featherless"` - `"fireworks"` +- `"fish-audio"` - `"friendli"` - `"gmicloud"` - `"google-ai-studio"` diff --git a/docs/components/imagegenerationproviderpreferencesoptions.mdx b/docs/components/imagegenerationproviderpreferencesoptions.mdx index a5a0f472..97dd2d0c 100644 --- a/docs/components/imagegenerationproviderpreferencesoptions.mdx +++ b/docs/components/imagegenerationproviderpreferencesoptions.mdx @@ -49,6 +49,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `fake_provider` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `featherless` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `fireworks` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `fish_audio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `friendli` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `gmicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `google_ai_studio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | diff --git a/docs/components/providername.mdx b/docs/components/providername.mdx index 311793cd..013b8983 100644 --- a/docs/components/providername.mdx +++ b/docs/components/providername.mdx @@ -49,6 +49,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"DigitalOcean"` - `"Featherless"` - `"Fireworks"` +- `"Fish Audio"` - `"Friendli"` - `"GMICloud"` - `"Google"` diff --git a/docs/components/provideroptions.mdx b/docs/components/provideroptions.mdx index 9c1c5a8e..8d2e1d9a 100644 --- a/docs/components/provideroptions.mdx +++ b/docs/components/provideroptions.mdx @@ -49,6 +49,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `fake_provider` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `featherless` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `fireworks` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `fish_audio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `friendli` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `gmicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `google_ai_studio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | diff --git a/docs/components/providerresponseprovidername.mdx b/docs/components/providerresponseprovidername.mdx index 8cbe511b..7a5f03e4 100644 --- a/docs/components/providerresponseprovidername.mdx +++ b/docs/components/providerresponseprovidername.mdx @@ -79,6 +79,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"DigitalOcean"` - `"Featherless"` - `"Fireworks"` +- `"Fish Audio"` - `"Friendli"` - `"GMICloud"` - `"Google"` diff --git a/docs/components/videogenerationrequestoptions.mdx b/docs/components/videogenerationrequestoptions.mdx index 696bc465..6eb8746f 100644 --- a/docs/components/videogenerationrequestoptions.mdx +++ b/docs/components/videogenerationrequestoptions.mdx @@ -49,6 +49,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `fake_provider` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `featherless` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `fireworks` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `fish_audio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `friendli` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `gmicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `google_ai_studio` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | diff --git a/docs/operations/provider.mdx b/docs/operations/provider.mdx index bd7ec3fd..7818d58f 100644 --- a/docs/operations/provider.mdx +++ b/docs/operations/provider.mdx @@ -50,6 +50,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"digitalocean"` - `"featherless"` - `"fireworks"` +- `"fish-audio"` - `"friendli"` - `"gmicloud"` - `"google-ai-studio"` diff --git a/pyproject.toml b/pyproject.toml index 1a2b61bc..f1187bab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "0.11.41" +version = "0.11.42" 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 6f847a9d..6cb9ccfb 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.41" +__version__: str = "0.11.42" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 0.11.41 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 0.11.42 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/byokproviderslug.py b/src/openrouter/components/byokproviderslug.py index ae5da193..434610c4 100644 --- a/src/openrouter/components/byokproviderslug.py +++ b/src/openrouter/components/byokproviderslug.py @@ -39,6 +39,7 @@ "digitalocean", "featherless", "fireworks", + "fish-audio", "friendli", "gmicloud", "google-ai-studio", diff --git a/src/openrouter/components/imagegenerationproviderpreferences.py b/src/openrouter/components/imagegenerationproviderpreferences.py index c2d2bd05..c83c1b95 100644 --- a/src/openrouter/components/imagegenerationproviderpreferences.py +++ b/src/openrouter/components/imagegenerationproviderpreferences.py @@ -80,6 +80,7 @@ class ImageGenerationProviderPreferencesOptionsTypedDict(TypedDict): fake_provider: NotRequired[Dict[str, Any]] featherless: NotRequired[Dict[str, Any]] fireworks: NotRequired[Dict[str, Any]] + fish_audio: NotRequired[Dict[str, Any]] friendli: NotRequired[Dict[str, Any]] gmicloud: NotRequired[Dict[str, Any]] google_ai_studio: NotRequired[Dict[str, Any]] @@ -263,6 +264,10 @@ class ImageGenerationProviderPreferencesOptions(BaseModel): fireworks: Optional[Dict[str, Any]] = None + fish_audio: Annotated[ + Optional[Dict[str, Any]], pydantic.Field(alias="fish-audio") + ] = None + friendli: Optional[Dict[str, Any]] = None gmicloud: Optional[Dict[str, Any]] = None @@ -499,6 +504,7 @@ def serialize_model(self, handler): "fake-provider", "featherless", "fireworks", + "fish-audio", "friendli", "gmicloud", "google-ai-studio", diff --git a/src/openrouter/components/providername.py b/src/openrouter/components/providername.py index a779333a..1d876904 100644 --- a/src/openrouter/components/providername.py +++ b/src/openrouter/components/providername.py @@ -40,6 +40,7 @@ "DigitalOcean", "Featherless", "Fireworks", + "Fish Audio", "Friendli", "GMICloud", "Google", diff --git a/src/openrouter/components/provideroptions.py b/src/openrouter/components/provideroptions.py index 2d7a313b..b615e848 100644 --- a/src/openrouter/components/provideroptions.py +++ b/src/openrouter/components/provideroptions.py @@ -51,6 +51,7 @@ class ProviderOptionsTypedDict(TypedDict): fake_provider: NotRequired[Dict[str, Any]] featherless: NotRequired[Dict[str, Any]] fireworks: NotRequired[Dict[str, Any]] + fish_audio: NotRequired[Dict[str, Any]] friendli: NotRequired[Dict[str, Any]] gmicloud: NotRequired[Dict[str, Any]] google_ai_studio: NotRequired[Dict[str, Any]] @@ -234,6 +235,10 @@ class ProviderOptions(BaseModel): fireworks: Optional[Dict[str, Any]] = None + fish_audio: Annotated[ + Optional[Dict[str, Any]], pydantic.Field(alias="fish-audio") + ] = None + friendli: Optional[Dict[str, Any]] = None gmicloud: Optional[Dict[str, Any]] = None @@ -470,6 +475,7 @@ def serialize_model(self, handler): "fake-provider", "featherless", "fireworks", + "fish-audio", "friendli", "gmicloud", "google-ai-studio", diff --git a/src/openrouter/components/providerresponse.py b/src/openrouter/components/providerresponse.py index de277f8c..12f8589d 100644 --- a/src/openrouter/components/providerresponse.py +++ b/src/openrouter/components/providerresponse.py @@ -70,6 +70,7 @@ "DigitalOcean", "Featherless", "Fireworks", + "Fish Audio", "Friendli", "GMICloud", "Google", diff --git a/src/openrouter/components/videogenerationrequest.py b/src/openrouter/components/videogenerationrequest.py index 26d076fe..eb6c9c01 100644 --- a/src/openrouter/components/videogenerationrequest.py +++ b/src/openrouter/components/videogenerationrequest.py @@ -70,6 +70,7 @@ class VideoGenerationRequestOptionsTypedDict(TypedDict): fake_provider: NotRequired[Dict[str, Any]] featherless: NotRequired[Dict[str, Any]] fireworks: NotRequired[Dict[str, Any]] + fish_audio: NotRequired[Dict[str, Any]] friendli: NotRequired[Dict[str, Any]] gmicloud: NotRequired[Dict[str, Any]] google_ai_studio: NotRequired[Dict[str, Any]] @@ -253,6 +254,10 @@ class VideoGenerationRequestOptions(BaseModel): fireworks: Optional[Dict[str, Any]] = None + fish_audio: Annotated[ + Optional[Dict[str, Any]], pydantic.Field(alias="fish-audio") + ] = None + friendli: Optional[Dict[str, Any]] = None gmicloud: Optional[Dict[str, Any]] = None @@ -489,6 +494,7 @@ def serialize_model(self, handler): "fake-provider", "featherless", "fireworks", + "fish-audio", "friendli", "gmicloud", "google-ai-studio", diff --git a/src/openrouter/operations/listbyokkeys.py b/src/openrouter/operations/listbyokkeys.py index 6bf7df43..30be823f 100644 --- a/src/openrouter/operations/listbyokkeys.py +++ b/src/openrouter/operations/listbyokkeys.py @@ -116,6 +116,7 @@ def serialize_model(self, handler): "digitalocean", "featherless", "fireworks", + "fish-audio", "friendli", "gmicloud", "google-ai-studio", diff --git a/uv.lock b/uv.lock index 1baf379d..3233d26a 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "0.11.41" +version = "0.11.42" source = { editable = "." } dependencies = [ { name = "httpcore" }, From f5b47e5a470b82fdcc193d5a06ec9ce7d7c76fbf Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 18:09:23 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow