Compare commits

...
14 Commits
Author SHA1 Message Date
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
778e2e36fb chore: 🐝 Update SDK - Generate (spec change merged) 0.10.8 (#380)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-28 15:31:38 +00:00
14f262fa66 chore: update OpenAPI spec from monorepo (#379)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-28 15:25:57 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
10f2890d75 chore: 🐝 Update SDK - Generate (spec change merged) 0.10.7 (#378)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-26 23:48:17 +00:00
ad1cfda1f4 chore: update OpenAPI spec from monorepo (#377)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-26 23:42:21 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
21020fb334 chore: 🐝 Update SDK - Generate (spec change merged) 0.10.6 (#376)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-26 18:23:57 +00:00
a243d78d32 chore: update OpenAPI spec from monorepo (#375)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-26 18:17:47 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
66512fa808 chore: 🐝 Update SDK - Generate (spec change merged) 0.10.5 (#374)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-26 14:41:46 +00:00
7efd03fb3b chore: update OpenAPI spec from monorepo (#373)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-26 14:35:36 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
e1b89f5aaf chore: 🐝 Update SDK - Generate (spec change merged) 0.10.4 (#372)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-26 12:10:48 +00:00
32dd522d5a chore: update OpenAPI spec from monorepo (#371)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-26 12:04:34 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
eeb0373033 chore: 🐝 Update SDK - Generate (spec change merged) 0.10.3 (#370)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-26 00:20:39 +00:00
facade7d00 chore: update OpenAPI spec from monorepo (#369)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-26 00:14:27 +00:00
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
08e796401a chore: 🐝 Update SDK - Generate (spec change merged) 0.10.2 (#368)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-25 22:33:28 +00:00
f8e8ab669d chore: update OpenAPI spec from monorepo (#367)
Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
2026-06-25 22:27:08 +00:00
37 changed files with 672 additions and 385 deletions
+107 -99
View File
@@ -1,19 +1,19 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828 id: c48cf606-fb42-4a45-9c23-8f0555307828
management: management:
docChecksum: 277b2709d437113b43fcdc406e3c4442 docChecksum: e7ae838af3f89aafec730d6f56a6264b
docVersion: 1.0.0 docVersion: 1.0.0
speakeasyVersion: 1.680.0 speakeasyVersion: 1.680.0
generationVersion: 2.788.4 generationVersion: 2.788.4
releaseVersion: 0.10.1 releaseVersion: 0.10.8
configChecksum: b1687c127d87a1ac114b35dd9b492f3c configChecksum: 8243c4a0e55e45da047a1d60c75a497d
repoURL: https://github.com/OpenRouterTeam/python-sdk.git repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true published: true
persistentEdits: persistentEdits:
generation_id: 7445f129-ecfe-4ff4-b54d-4f9e27c9bb12 generation_id: 941715a1-02fc-4177-a705-0f0a75de97ec
pristine_commit_hash: 24e0fd81404ca9b9cd9afc377950218983fd639b pristine_commit_hash: d3f06b10deb99bed3a70737944b76cb45ba18876
pristine_tree_hash: ab5a87f29d3595a758a09c58a6074bd453723e21 pristine_tree_hash: 7e30bc063f631c35e1645f8790acc79f301f383f
features: features:
python: python:
acceptHeaders: 3.0.0 acceptHeaders: 3.0.0
@@ -702,8 +702,8 @@ trackedFiles:
pristine_git_object: b4b8d797251e82804d823c25a93aa5116e292d5f pristine_git_object: b4b8d797251e82804d823c25a93aa5116e292d5f
docs/components/byokproviderslug.md: docs/components/byokproviderslug.md:
id: 73e588243967 id: 73e588243967
last_write_checksum: sha1:4a77fc0d9fa1ce7f687ec483caaa927d7e7e1e75 last_write_checksum: sha1:6e85a868fdbea9db4233014f2f01ba5c86a51b65
pristine_git_object: 3e4b84561cc1233d6fcd750524a07c54c6ece242 pristine_git_object: 6ba1aa86c9a3c4f6fce12927c1efc8b798432f01
docs/components/caching.md: docs/components/caching.md:
id: 87fa8b1ac535 id: 87fa8b1ac535
last_write_checksum: sha1:cd5e0704dcc4beb29c8e173b7d73365c27b1cb8e last_write_checksum: sha1:cd5e0704dcc4beb29c8e173b7d73365c27b1cb8e
@@ -774,12 +774,12 @@ trackedFiles:
pristine_git_object: 79909c48a34888496f9051cf33899ca1b9a7b4fc pristine_git_object: 79909c48a34888496f9051cf33899ca1b9a7b4fc
docs/components/chatcontentimagedetail.md: docs/components/chatcontentimagedetail.md:
id: 3f26a1053cda id: 3f26a1053cda
last_write_checksum: sha1:c074cafc4780c4bc7e6d4a053c886020a89c4e42 last_write_checksum: sha1:296d52deb9b5223ed17cfb8ff3300727e671e001
pristine_git_object: 9653ab78adb9b8b9ccfcd46d186d4f9c5a2ace85 pristine_git_object: 1c2cfb3ab7c7f2226e3c00c65af8fb9b79ca7740
docs/components/chatcontentimageimageurl.md: docs/components/chatcontentimageimageurl.md:
id: 7c66172651cc id: 7c66172651cc
last_write_checksum: sha1:f0382f65b65ec13b0747b9f7ca6aaf235c7d39d4 last_write_checksum: sha1:035c15e90cd89d8a8f20a27e28cf19551df62ecd
pristine_git_object: e1e9f886d59c9580dd2b0556b737508573ec03d4 pristine_git_object: 9915ffe26c36a6a8ad5054389f960f7ea3c4e7bf
docs/components/chatcontentimagetype.md: docs/components/chatcontentimagetype.md:
id: b92a4757efe6 id: b92a4757efe6
last_write_checksum: sha1:ce2d8002a22bf03477cbbd88c68fc4eace9b392b last_write_checksum: sha1:ce2d8002a22bf03477cbbd88c68fc4eace9b392b
@@ -1944,6 +1944,10 @@ trackedFiles:
id: 58ee513b0cad id: 58ee513b0cad
last_write_checksum: sha1:2ec57cd7447b8eecdbe6fec744c22edb3a817999 last_write_checksum: sha1:2ec57cd7447b8eecdbe6fec744c22edb3a817999
pristine_git_object: c7121728c6509e3d02a0b431431f133067ca057d pristine_git_object: c7121728c6509e3d02a0b431431f133067ca057d
docs/components/fusionsource.md:
id: 8e98a9da51e2
last_write_checksum: sha1:3e0611061189a883bfd2c1fad738798debb71e9a
pristine_git_object: 59ff3c09fff96145b369a5fe5165618810fa1076
docs/components/generationcontentdata.md: docs/components/generationcontentdata.md:
id: 1085c488fd3a id: 1085c488fd3a
last_write_checksum: sha1:186d3e8118f6d393d524a91e2ac06772a7eaf818 last_write_checksum: sha1:186d3e8118f6d393d524a91e2ac06772a7eaf818
@@ -2046,16 +2050,16 @@ trackedFiles:
pristine_git_object: 841d9210013aa9eac24702237c16d0aca12a985f pristine_git_object: 841d9210013aa9eac24702237c16d0aca12a985f
docs/components/imagegencompletedevent.md: docs/components/imagegencompletedevent.md:
id: 43f5718fe2c2 id: 43f5718fe2c2
last_write_checksum: sha1:650b4752a08040461390f10b30ceda0b5df1f0bb last_write_checksum: sha1:c69ebcd923faf4b7831c70ca19a62992006804c4
pristine_git_object: 33b0307acdb1bf725cd89c5adb39eb3e110ff876 pristine_git_object: 683545f58a32d3174edc2548652516d446f31cfb
docs/components/imagegencompletedeventtype.md: docs/components/imagegencompletedeventtype.md:
id: 84e07b20590e id: 84e07b20590e
last_write_checksum: sha1:2c301f011ef720a3d8c561c8823bcfb982934d16 last_write_checksum: sha1:2c301f011ef720a3d8c561c8823bcfb982934d16
pristine_git_object: a55fc00acede523cca610d646093deddf558b168 pristine_git_object: a55fc00acede523cca610d646093deddf558b168
docs/components/imagegenerationrequest.md: docs/components/imagegenerationrequest.md:
id: e9d8e330fcaa id: e9d8e330fcaa
last_write_checksum: sha1:dddd107f6e4742d210cf232c0f790ab89a767883 last_write_checksum: sha1:f0bb2b63837fb668c14bac8f504d656aac257d5a
pristine_git_object: 554e79c04d916e93d56da8434958640791e87fea pristine_git_object: 4b35a0e9546566dff24eb12c7c8b6a173de63b0c
docs/components/imagegenerationrequestaspectratio.md: docs/components/imagegenerationrequestaspectratio.md:
id: 4362d9221e46 id: 4362d9221e46
last_write_checksum: sha1:42f4b0d20c677cb8eeed1da4be0ba99b3949a092 last_write_checksum: sha1:42f4b0d20c677cb8eeed1da4be0ba99b3949a092
@@ -2066,12 +2070,12 @@ trackedFiles:
pristine_git_object: e6a05256245f0e61a844854a79e3df7b614660e7 pristine_git_object: e6a05256245f0e61a844854a79e3df7b614660e7
docs/components/imagegenerationrequestoptions.md: docs/components/imagegenerationrequestoptions.md:
id: c0b61720c268 id: c0b61720c268
last_write_checksum: sha1:54fc9c4e05c5d33e9f84c278a93979e0dfea24f8 last_write_checksum: sha1:f9b967e71b8ecc7f3aeb97556d27e00bc09feacc
pristine_git_object: 5f18d985446e527983d4c116c4c15f8ab642dc54 pristine_git_object: c8182577e9d32346d37eaf1c0a6e3dde7e5329d7
docs/components/imagegenerationrequestoutputformat.md: docs/components/imagegenerationrequestoutputformat.md:
id: e2b7dc215866 id: e2b7dc215866
last_write_checksum: sha1:4b9a9b87036845d3ac7d1750f9f23ed0a89d9151 last_write_checksum: sha1:bbed0fcaa1458a6d761ae64bd4f6b54a583a801f
pristine_git_object: 6120e0a8081f9a2ed9a0c3606f7fe3d45d4e6f81 pristine_git_object: 5fb8cd251197d2bab3f86ab91e6e7f2bbe81d9e5
docs/components/imagegenerationrequestprovider.md: docs/components/imagegenerationrequestprovider.md:
id: 2718a263ac9d id: 2718a263ac9d
last_write_checksum: sha1:cd79a69707ee0a6040570128b20dc122f9561c37 last_write_checksum: sha1:cd79a69707ee0a6040570128b20dc122f9561c37
@@ -2090,8 +2094,8 @@ trackedFiles:
pristine_git_object: a921a4c4cd5f75c926ba03263469315a14537160 pristine_git_object: a921a4c4cd5f75c926ba03263469315a14537160
docs/components/imagegenerationresponsedata.md: docs/components/imagegenerationresponsedata.md:
id: 6a33b08924d8 id: 6a33b08924d8
last_write_checksum: sha1:ddb47b0ec0e5854effe56ca1989b8206e0d7b56a last_write_checksum: sha1:e6df003afd8f77d5e98b6720c825818c229d4cee
pristine_git_object: c80a572552036e143d3b8827a84011d5f62083e9 pristine_git_object: bd99f56bb2c6f10a7f26e49dc81bf00a6436fe99
docs/components/imagegenerationservertool.md: docs/components/imagegenerationservertool.md:
id: 0ddff7f46134 id: 0ddff7f46134
last_write_checksum: sha1:02ee9876107578bd27eb9ba811439416b9e76a63 last_write_checksum: sha1:02ee9876107578bd27eb9ba811439416b9e76a63
@@ -2526,8 +2530,8 @@ trackedFiles:
pristine_git_object: cc928f671dcbde0ebe7ef10cef976333fa35cd68 pristine_git_object: cc928f671dcbde0ebe7ef10cef976333fa35cd68
docs/components/maxprice.md: docs/components/maxprice.md:
id: 15ed956070c8 id: 15ed956070c8
last_write_checksum: sha1:a6b154896d64cb9feac8742b812bf40951867375 last_write_checksum: sha1:dcd7d78e509fde879074c55d18f52f244cd6bb35
pristine_git_object: b932c8f3988960414d7cd0f2ac795f1cc3b58884 pristine_git_object: fdbe77b802746a777199ba4780a1f2981cc3f7c8
docs/components/mcpapprovalrequestitem.md: docs/components/mcpapprovalrequestitem.md:
id: 0d3537b2e5c8 id: 0d3537b2e5c8
last_write_checksum: sha1:d2c00357d59374eee2845918d50ab5125d9583be last_write_checksum: sha1:d2c00357d59374eee2845918d50ab5125d9583be
@@ -3346,8 +3350,8 @@ trackedFiles:
pristine_git_object: 31066e50f45a2f32c35d0389886757885704ea4a pristine_git_object: 31066e50f45a2f32c35d0389886757885704ea4a
docs/components/outputfusionservertoolitem.md: docs/components/outputfusionservertoolitem.md:
id: 886e6be27ec2 id: 886e6be27ec2
last_write_checksum: sha1:9c957daab1d214aa7f9b997c451876c759de0eec last_write_checksum: sha1:b3758081c485683416158c2f10c228958f60055b
pristine_git_object: f16afb99ac514a2fa4b63fed2feea6226872a038 pristine_git_object: be5e88a6f8bb73b9e2e7aaec2a8b4a84661e480f
docs/components/outputfusionservertoolitemtype.md: docs/components/outputfusionservertoolitemtype.md:
id: 93233bb8c5d7 id: 93233bb8c5d7
last_write_checksum: sha1:5e9a0f90c938eaa5fc231859f48f5b9673b6b00b last_write_checksum: sha1:5e9a0f90c938eaa5fc231859f48f5b9673b6b00b
@@ -3750,20 +3754,20 @@ trackedFiles:
pristine_git_object: 685705c19f968d6408d3bfc3d398eddb2ef5e52a pristine_git_object: 685705c19f968d6408d3bfc3d398eddb2ef5e52a
docs/components/pricing.md: docs/components/pricing.md:
id: 15dca753d9eb id: 15dca753d9eb
last_write_checksum: sha1:11793d86b7506e8bfee21225071f1841bbb368ab last_write_checksum: sha1:80bb9085218cbe75ef0623b86bc9f52a354b0722
pristine_git_object: 084b83a2e83521084ef17c63e88007953e5d3170 pristine_git_object: 69ac72cf96ac924243230189563bbe6a6dcdfc6c
docs/components/promptinjectionscanscope.md: docs/components/promptinjectionscanscope.md:
id: 285ea7802dcd id: 285ea7802dcd
last_write_checksum: sha1:0fff83f064f6699f5a86c5068423c646a9fca69e last_write_checksum: sha1:0fff83f064f6699f5a86c5068423c646a9fca69e
pristine_git_object: 02d5dcdfc5bec22a67a803487f4758df68ba098e pristine_git_object: 02d5dcdfc5bec22a67a803487f4758df68ba098e
docs/components/providername.md: docs/components/providername.md:
id: fe24a77d9911 id: fe24a77d9911
last_write_checksum: sha1:552665ddb99a8215f58362282c25c9c8b2d49465 last_write_checksum: sha1:9251a4df3259e1c6a63e4f7347262abbe0de59a3
pristine_git_object: 0dd68bf256c61f217507d1dc0d75be455e943c4d pristine_git_object: 5f381792df185806eb19e6ebabd813a56ab43e86
docs/components/provideroptions.md: docs/components/provideroptions.md:
id: 48594a6d2d81 id: 48594a6d2d81
last_write_checksum: sha1:ef3c6c58230710f89677c2e80fa5eef875172777 last_write_checksum: sha1:c672b409e17f8ac6aa7af0bde839038550520947
pristine_git_object: 08b4434c0d67ee45f592cf873a36ff79353f19db pristine_git_object: fe43b8f18c5ca25745aa5eb9902aaa1399d96976
docs/components/provideroverloadedresponseerrordata.md: docs/components/provideroverloadedresponseerrordata.md:
id: c2a8cc4ec6df id: c2a8cc4ec6df
last_write_checksum: sha1:1d206d00dc0d91b5ceec470579c6ce345cc23d29 last_write_checksum: sha1:1d206d00dc0d91b5ceec470579c6ce345cc23d29
@@ -3778,8 +3782,8 @@ trackedFiles:
pristine_git_object: 09beea2aedab445e726f20fb9a9d3ed5ebb4df25 pristine_git_object: 09beea2aedab445e726f20fb9a9d3ed5ebb4df25
docs/components/providerresponseprovidername.md: docs/components/providerresponseprovidername.md:
id: 800bab487911 id: 800bab487911
last_write_checksum: sha1:b01b16e578fc36f1706ac4bc9093855817a283fe last_write_checksum: sha1:87cfea6a4b25dd6af2a37db94b098f4657be99fa
pristine_git_object: ed7da33f53789b0c569a6ce8da2e7f2484801128 pristine_git_object: 27b5b6256e9b4518068682241ac48ce193fb7cd9
docs/components/providersort.md: docs/components/providersort.md:
id: 290449b1880f id: 290449b1880f
last_write_checksum: sha1:f15d65e5c226a222c3bfc0b9f55dd9ca0443d415 last_write_checksum: sha1:f15d65e5c226a222c3bfc0b9f55dd9ca0443d415
@@ -3798,8 +3802,8 @@ trackedFiles:
pristine_git_object: 7d0edd22dafe693920f18e0c0c99b852c6b3bb57 pristine_git_object: 7d0edd22dafe693920f18e0c0c99b852c6b3bb57
docs/components/publicpricing.md: docs/components/publicpricing.md:
id: 9d43651da8ad id: 9d43651da8ad
last_write_checksum: sha1:c066038e95bcbaec6cb1eeb3b5657102c37ee5a7 last_write_checksum: sha1:a0307105d112c890670088159350ed59040629a8
pristine_git_object: b96d4af729e9e69d041122e88b11e82cd2db8878 pristine_git_object: 0746b9999a7aa39ce957aef7cf72235cba2f16a8
docs/components/quantization.md: docs/components/quantization.md:
id: 0d17b4a78828 id: 0d17b4a78828
last_write_checksum: sha1:992ee3fdd0f4e09c9f6e6426c413841fe34a86a5 last_write_checksum: sha1:992ee3fdd0f4e09c9f6e6426c413841fe34a86a5
@@ -4838,8 +4842,8 @@ trackedFiles:
pristine_git_object: 16659f24b21051064e5fc6addbda9ebe73650a01 pristine_git_object: 16659f24b21051064e5fc6addbda9ebe73650a01
docs/components/videogenerationrequestoptions.md: docs/components/videogenerationrequestoptions.md:
id: 6d200b026e3d id: 6d200b026e3d
last_write_checksum: sha1:3ed5898d1a750d476ac949a3e82d9e01abc26f5d last_write_checksum: sha1:0b25700301c18aa273ec8f564d20e53064296e36
pristine_git_object: 4607009dc8e6685134fd8410ff5941c4b6c99889 pristine_git_object: 91b1436ae06dcdd8b699bf8ea4f96c5daea1d027
docs/components/videogenerationrequestprovider.md: docs/components/videogenerationrequestprovider.md:
id: e2a64e74f555 id: e2a64e74f555
last_write_checksum: sha1:f0461ead71e8c146e9ba4fcfd1cdf3383828f125 last_write_checksum: sha1:f0461ead71e8c146e9ba4fcfd1cdf3383828f125
@@ -6046,8 +6050,8 @@ trackedFiles:
pristine_git_object: 56c454715dfb32bf210dfe8031e7145fd4c2c83b pristine_git_object: 56c454715dfb32bf210dfe8031e7145fd4c2c83b
docs/operations/provider.md: docs/operations/provider.md:
id: 9d89f101fabf id: 9d89f101fabf
last_write_checksum: sha1:18773b116029fb2a2e3cd4dc0b87d15373243c6f last_write_checksum: sha1:471f657da16aeb9befb08e98183f85eb92dba405
pristine_git_object: 494a1ff4769f30b08a0f87dcff232e9457eedc56 pristine_git_object: 487ab7b109aa3bbda8dc7e8f200e858f2771c629
docs/operations/queryanalyticsdata1.md: docs/operations/queryanalyticsdata1.md:
id: f5ead5b95530 id: f5ead5b95530
last_write_checksum: sha1:a55813c57010d0613c1e70ee1a9232fdcf98775c last_write_checksum: sha1:a55813c57010d0613c1e70ee1a9232fdcf98775c
@@ -6230,8 +6234,8 @@ trackedFiles:
pristine_git_object: 44f78122819ded7e472e28ebcf37dd8812707097 pristine_git_object: 44f78122819ded7e472e28ebcf37dd8812707097
docs/sdks/apikeys/README.md: docs/sdks/apikeys/README.md:
id: e2bd25998427 id: e2bd25998427
last_write_checksum: sha1:82bec11fedf21eed760739e1adb08fec06239279 last_write_checksum: sha1:626c856e422b77914d461ed5fa86c94053dafdaa
pristine_git_object: 6e72f51df9e9811cee424032f7dba0887e15afec pristine_git_object: d3fbe9dfcd49510ee05f82b2ad115359d46eed37
docs/sdks/benchmarks/README.md: docs/sdks/benchmarks/README.md:
id: 61c16262af9b id: 61c16262af9b
last_write_checksum: sha1:e3030fe550fa8bb1d3379692f9633b5f8e98be99 last_write_checksum: sha1:e3030fe550fa8bb1d3379692f9633b5f8e98be99
@@ -6242,8 +6246,8 @@ trackedFiles:
pristine_git_object: 7f19e372b77803949f2afb8dd86b4794556e9c7e pristine_git_object: 7f19e372b77803949f2afb8dd86b4794556e9c7e
docs/sdks/byok/README.md: docs/sdks/byok/README.md:
id: 511ba2ae7a1b id: 511ba2ae7a1b
last_write_checksum: sha1:ef72e4c9cae06d60f4c2f2ad0578747d39e1d5ef last_write_checksum: sha1:451e316d1a15cea3c43033a9eb0b3989be9fd43d
pristine_git_object: a6f5335576f02b6108482dcd54e066b34a7c586f pristine_git_object: acb77887ae8d7612f039ae319b5654d2e03c9e26
docs/sdks/chat/README.md: docs/sdks/chat/README.md:
id: 393193527c2c id: 393193527c2c
last_write_checksum: sha1:0b40d973610ed193d6faafc7f4f0bfad06c78225 last_write_checksum: sha1:0b40d973610ed193d6faafc7f4f0bfad06c78225
@@ -6278,12 +6282,12 @@ trackedFiles:
pristine_git_object: 7fd647d02bfd29a3c7a5da0487761e89f308f224 pristine_git_object: 7fd647d02bfd29a3c7a5da0487761e89f308f224
docs/sdks/guardrails/README.md: docs/sdks/guardrails/README.md:
id: f72b38a5a2a7 id: f72b38a5a2a7
last_write_checksum: sha1:e90c6c713afcfa087edfcb6367397b9109ac3af9 last_write_checksum: sha1:359f450bfeb9b1a3436b85a446a7529b76118c25
pristine_git_object: 427dac57b47fbb136a16eb1ab7732c1ff61d7c2e pristine_git_object: 4b79890caa9a8296cdbabf550c66b4952f59d0c2
docs/sdks/images/README.md: docs/sdks/images/README.md:
id: cc752c3524d0 id: cc752c3524d0
last_write_checksum: sha1:5a7a17ae16ed1070ff54f29bf479699454c91f00 last_write_checksum: sha1:51f80f2eb736d11fcdc1368df1a4b54c2476c695
pristine_git_object: 65f916be2b82bb2a8f62757aa39b95c6f226dbd1 pristine_git_object: 7737857e7d4c450d333814536cef0f6554975d18
docs/sdks/models/README.md: docs/sdks/models/README.md:
id: b35bdf4bc7ed id: b35bdf4bc7ed
last_write_checksum: sha1:0c8c328bdaad985f129d8f4427f83415db883e38 last_write_checksum: sha1:0c8c328bdaad985f129d8f4427f83415db883e38
@@ -6330,16 +6334,16 @@ trackedFiles:
pristine_git_object: 393bdc66fbf85057da5811936439c48ad03a2322 pristine_git_object: 393bdc66fbf85057da5811936439c48ad03a2322
docs/sdks/workspaces/README.md: docs/sdks/workspaces/README.md:
id: 1f5b051a6380 id: 1f5b051a6380
last_write_checksum: sha1:e315405c5619ae4b47119d01951118cb658cba46 last_write_checksum: sha1:c5ed18ad453c4cdc032fa5f2a81d7b93b36bdbab
pristine_git_object: b3df8f8977c859410224e187e091860dfdc59ea0 pristine_git_object: 6a5d5e09c3fb9006efddd9ca32a72e0353a390f5
py.typed: py.typed:
id: 258c3ed47ae4 id: 258c3ed47ae4
last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml: pyproject.toml:
id: 5d07e7d72637 id: 5d07e7d72637
last_write_checksum: sha1:8223abd8e7463dfa2b2c1097670bb28b2ec73e68 last_write_checksum: sha1:83883613f4ce5a35940a61255018ae96c5b161a3
pristine_git_object: b98c0280ffbb42638747b1064375fa36f467223c pristine_git_object: 2c73ae5647842e85c54240de3c2634ef1644c424
scripts/prepare_readme.py: scripts/prepare_readme.py:
id: e0c5957a6035 id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -6366,16 +6370,16 @@ trackedFiles:
pristine_git_object: 07ace03229fd3267623c8f48665d2c3a67c3565d pristine_git_object: 07ace03229fd3267623c8f48665d2c3a67c3565d
src/openrouter/_version.py: src/openrouter/_version.py:
id: d8d15ad6c586 id: d8d15ad6c586
last_write_checksum: sha1:856bdf17b7de36f6e1abd0b56f55bbc6093e4c68 last_write_checksum: sha1:9191ddd2824cab64aba72a37907c39c13bae5e7b
pristine_git_object: ade61995259031f3789ff71f0cfd1d6ae4b39395 pristine_git_object: ae046a12bfe3757e47b922caa4ee98754663db43
src/openrouter/analytics.py: src/openrouter/analytics.py:
id: cb406b5aaabb id: cb406b5aaabb
last_write_checksum: sha1:6d47d1ab3da9cb4ac9f0a2bfe442f1a82a614f35 last_write_checksum: sha1:6d47d1ab3da9cb4ac9f0a2bfe442f1a82a614f35
pristine_git_object: ea004eaf47a1a48622d4a4276fba1e329d5559ab pristine_git_object: ea004eaf47a1a48622d4a4276fba1e329d5559ab
src/openrouter/api_keys.py: src/openrouter/api_keys.py:
id: 876fac88fff6 id: 876fac88fff6
last_write_checksum: sha1:4c037d1c4fc922061ca968b9cd961b2db69429f6 last_write_checksum: sha1:9dc40b10044a433ab5718c6db5122648c9b1d44a
pristine_git_object: e4a30e1b293a197994317a1e2169619fcbd0a0c6 pristine_git_object: 6c2cdf75cb4578b25bfd7cd17bd99b982a4a2e36
src/openrouter/basesdk.py: src/openrouter/basesdk.py:
id: c5733c5a1e12 id: c5733c5a1e12
last_write_checksum: sha1:71f242fd9955e5a17a8d055e2210cc2708bb94fc last_write_checksum: sha1:71f242fd9955e5a17a8d055e2210cc2708bb94fc
@@ -6394,8 +6398,8 @@ trackedFiles:
pristine_git_object: 9db10e868aa38e1c38036d55416f7bb39c71bc0d pristine_git_object: 9db10e868aa38e1c38036d55416f7bb39c71bc0d
src/openrouter/byok.py: src/openrouter/byok.py:
id: bec352462ae1 id: bec352462ae1
last_write_checksum: sha1:2508c32fac403ebb6dbd65eab53601d88039fbc0 last_write_checksum: sha1:1368b36fa52094caafdd2d9a50f6b4b762c8983a
pristine_git_object: 9c2b675374900474076991a713a40ad119ee8b17 pristine_git_object: e915cbb90c56bf622de74204ebc8e62cd4af92ef
src/openrouter/chat.py: src/openrouter/chat.py:
id: 723fdce15c1d id: 723fdce15c1d
last_write_checksum: sha1:045ca733908a82e099a0c2a76c6c498025827391 last_write_checksum: sha1:045ca733908a82e099a0c2a76c6c498025827391
@@ -6406,8 +6410,8 @@ trackedFiles:
pristine_git_object: 2654cbc562cc83940a6713b68f3967cb3f9dcfbe pristine_git_object: 2654cbc562cc83940a6713b68f3967cb3f9dcfbe
src/openrouter/components/__init__.py: src/openrouter/components/__init__.py:
id: 81754e97b3f4 id: 81754e97b3f4
last_write_checksum: sha1:e38f46d4bf8292139d85d59c2b2cb5f450367e39 last_write_checksum: sha1:d82d36a0074b74d4556f1226230bc17565ec0171
pristine_git_object: 27e2fff5aafa475227a34c3dd5242e4e54b9e762 pristine_git_object: 581b01ca5299006b8b6596ea466a7b26810e594b
src/openrouter/components/aabenchmarkentry.py: src/openrouter/components/aabenchmarkentry.py:
id: e2e0f0b48c82 id: e2e0f0b48c82
last_write_checksum: sha1:1b6b66672fb80dccdc39843a98bdef6d7d804364 last_write_checksum: sha1:1b6b66672fb80dccdc39843a98bdef6d7d804364
@@ -6734,8 +6738,8 @@ trackedFiles:
pristine_git_object: 033a6f367e4da3d56835bb0d593042f24bfa0930 pristine_git_object: 033a6f367e4da3d56835bb0d593042f24bfa0930
src/openrouter/components/byokproviderslug.py: src/openrouter/components/byokproviderslug.py:
id: 6738a8516caf id: 6738a8516caf
last_write_checksum: sha1:bb799bcc20ed60d437d4b8c3c9fd62bf52c677fa last_write_checksum: sha1:2b105bacb46fd7150af7f079241fab2ba6700322
pristine_git_object: aa906bf2e863b8d45c7afc0537f94020060641bd pristine_git_object: 38050fde0204f069cb2568fafc91338a7051c92f
src/openrouter/components/capabilitydescriptor.py: src/openrouter/components/capabilitydescriptor.py:
id: 368790a86f10 id: 368790a86f10
last_write_checksum: sha1:13a2fe668fd9d3fdb2d6941cf7a14b49f8168066 last_write_checksum: sha1:13a2fe668fd9d3fdb2d6941cf7a14b49f8168066
@@ -6770,8 +6774,8 @@ trackedFiles:
pristine_git_object: e737cbd7318fb553946f2c5a9986a9630415016e pristine_git_object: e737cbd7318fb553946f2c5a9986a9630415016e
src/openrouter/components/chatcontentimage.py: src/openrouter/components/chatcontentimage.py:
id: 6897abcd5da0 id: 6897abcd5da0
last_write_checksum: sha1:e60f0f980421fe82190850b65948bdca3b0a7859 last_write_checksum: sha1:3e4d1947edd8b77f1ebd804e91423221e6d33682
pristine_git_object: 6219f8400d09673322eaa3068c0b57dbcd662e5c pristine_git_object: 45430fd36f0e76600b818778af749de0969ae34f
src/openrouter/components/chatcontentitems.py: src/openrouter/components/chatcontentitems.py:
id: c4253e14cbd3 id: c4253e14cbd3
last_write_checksum: sha1:e17966663f37a773e5ab5fc0c5e7e09f3ab9aef4 last_write_checksum: sha1:e17966663f37a773e5ab5fc0c5e7e09f3ab9aef4
@@ -7256,6 +7260,10 @@ trackedFiles:
id: 0d1d229c531f id: 0d1d229c531f
last_write_checksum: sha1:b0b2c44af496c446fd6bbf1396f1f97f696eff5e last_write_checksum: sha1:b0b2c44af496c446fd6bbf1396f1f97f696eff5e
pristine_git_object: 9d5ec202c11d21002eaa7b6724d62e0710c42522 pristine_git_object: 9d5ec202c11d21002eaa7b6724d62e0710c42522
src/openrouter/components/fusionsource.py:
id: ce20a4a9f32f
last_write_checksum: sha1:2141dd1dd9396035bf8070878c9ec945331514c8
pristine_git_object: c60f29915ce3fed38a693d10b8c2de868f8ee728
src/openrouter/components/generationcontentdata.py: src/openrouter/components/generationcontentdata.py:
id: 0140215b5b46 id: 0140215b5b46
last_write_checksum: sha1:09e15ae2acc4f44084e2206ea51e6a06f4c5ee11 last_write_checksum: sha1:09e15ae2acc4f44084e2206ea51e6a06f4c5ee11
@@ -7326,16 +7334,16 @@ trackedFiles:
pristine_git_object: 5f17d77c25a82ad2bf7b1211d05ee665b6fee35a pristine_git_object: 5f17d77c25a82ad2bf7b1211d05ee665b6fee35a
src/openrouter/components/imagegencompletedevent.py: src/openrouter/components/imagegencompletedevent.py:
id: 7a791a02cb5b id: 7a791a02cb5b
last_write_checksum: sha1:2e5822401bac22b5936ed4787b3d648eed60e725 last_write_checksum: sha1:df249afb22b4d56c3493cf8ec506e7ecf06402a6
pristine_git_object: e5907de80032821f54ab0829729f137497b6f289 pristine_git_object: e767efe399701e27924a1fa2e98d44d78e3715a1
src/openrouter/components/imagegenerationrequest.py: src/openrouter/components/imagegenerationrequest.py:
id: f8291a7be9a0 id: f8291a7be9a0
last_write_checksum: sha1:bd9bc81281c9d034120f86b0eee96ed00ff38cce last_write_checksum: sha1:d44c19ab94704abc128c6172e0fe89bd0ba57fe4
pristine_git_object: cd035aaead03f8181da12b8635f23fa7688d727f pristine_git_object: 6c0fe3e3c349ca204e3f6aa7a3f1281853c8d651
src/openrouter/components/imagegenerationresponse.py: src/openrouter/components/imagegenerationresponse.py:
id: 53354cd0cbfc id: 53354cd0cbfc
last_write_checksum: sha1:e1c531b4a761668151800f450b82dfab0da00f77 last_write_checksum: sha1:073a770f1574629ec4e8ae59f6a365fbca9ace3f
pristine_git_object: deb67493a8ace61abf039d5d6d46b33e37a7c66c pristine_git_object: 64b059a152dab4754cdece4fb2021249f76444a7
src/openrouter/components/imagegenerationservertool.py: src/openrouter/components/imagegenerationservertool.py:
id: 9c95bc975f2e id: 9c95bc975f2e
last_write_checksum: sha1:b7e0d9db78b0b7662cd34a31e593842cea5ef990 last_write_checksum: sha1:b7e0d9db78b0b7662cd34a31e593842cea5ef990
@@ -7794,8 +7802,8 @@ trackedFiles:
pristine_git_object: dcfc7a806fbf5794ad168bca00344b005e0d16ee pristine_git_object: dcfc7a806fbf5794ad168bca00344b005e0d16ee
src/openrouter/components/outputfusionservertoolitem.py: src/openrouter/components/outputfusionservertoolitem.py:
id: 1d798a2bb7ae id: 1d798a2bb7ae
last_write_checksum: sha1:3808bb5da64abfef93437fb05e494ea492eb9818 last_write_checksum: sha1:72cd3cdd5e1f505fe58c30949b4ceba8faf49644
pristine_git_object: 0ad5d34088e18cd0727ce13c5b9a3b8d47a94297 pristine_git_object: 0e8e4e6ed1d5e8c5fb613c6fb1c6beee033087c3
src/openrouter/components/outputimagegenerationcallitem.py: src/openrouter/components/outputimagegenerationcallitem.py:
id: 48d20dc00e1c id: 48d20dc00e1c
last_write_checksum: sha1:6795b316ac97958ba4381cdd4d6cc6108d7bd1a5 last_write_checksum: sha1:6795b316ac97958ba4381cdd4d6cc6108d7bd1a5
@@ -7810,8 +7818,8 @@ trackedFiles:
pristine_git_object: 897c4727eec2497fe15e5603187e24218c08ac87 pristine_git_object: 897c4727eec2497fe15e5603187e24218c08ac87
src/openrouter/components/outputitems.py: src/openrouter/components/outputitems.py:
id: 90f107de3116 id: 90f107de3116
last_write_checksum: sha1:31923f8d495bcd6b48594217cff463b5f868ecbb last_write_checksum: sha1:e262597f5269a4d4374500a0bc9b43701cc938fa
pristine_git_object: a7d056e30ef0b1035d5d2e020505821dbc638143 pristine_git_object: da3d920280394d094a6745d0770e57373df1afc5
src/openrouter/components/outputmcpservertoolitem.py: src/openrouter/components/outputmcpservertoolitem.py:
id: bb8c2536a58e id: bb8c2536a58e
last_write_checksum: sha1:6cbe556b2268af0142d982007b273cc43b7605c7 last_write_checksum: sha1:6cbe556b2268af0142d982007b273cc43b7605c7
@@ -7966,24 +7974,24 @@ trackedFiles:
pristine_git_object: 170ae25c582bb8decd74e1c69bfa8353bd44e86d pristine_git_object: 170ae25c582bb8decd74e1c69bfa8353bd44e86d
src/openrouter/components/providername.py: src/openrouter/components/providername.py:
id: fcc722fa2fce id: fcc722fa2fce
last_write_checksum: sha1:c20c16668a4bd2af2c42ed4650fa4b5103e759d9 last_write_checksum: sha1:b6d26b4ce3e92121a80cb351962e89593951962d
pristine_git_object: 7e61e70d5005ab92d8c8505898cf40e1936056a2 pristine_git_object: 009c1401a29123f18887b48c03f9c2a8b11ca2b5
src/openrouter/components/provideroptions.py: src/openrouter/components/provideroptions.py:
id: 73dde6c8f359 id: 73dde6c8f359
last_write_checksum: sha1:07fd845585c8920239a8af526e816da2d564a6a3 last_write_checksum: sha1:f53a3ec58bd7380337d7011ac312694692ea683e
pristine_git_object: ec240ddbd24f162844f874fd3f142d47b339ae22 pristine_git_object: 160b700e8c5f2824932928daad552979ef086bec
src/openrouter/components/provideroverloadedresponseerrordata.py: src/openrouter/components/provideroverloadedresponseerrordata.py:
id: 5b693682570e id: 5b693682570e
last_write_checksum: sha1:41a977452d58b52cb9d4b3a85f4b7970529352d5 last_write_checksum: sha1:41a977452d58b52cb9d4b3a85f4b7970529352d5
pristine_git_object: f3d7756851495a1f1cdbf62fd62d20ff0ea07bf8 pristine_git_object: f3d7756851495a1f1cdbf62fd62d20ff0ea07bf8
src/openrouter/components/providerpreferences.py: src/openrouter/components/providerpreferences.py:
id: cdd58c8d664d id: cdd58c8d664d
last_write_checksum: sha1:6b45aaae052bcf64980242ec344fe385de94ebd3 last_write_checksum: sha1:f3d54af0f02fd2ae3f2fd0aba05c77419f79562a
pristine_git_object: 5145815e6196470f3f5f24893afdc4415d27c53e pristine_git_object: ce5d942a25ef1bda1af7d40e5c98418550fb34a3
src/openrouter/components/providerresponse.py: src/openrouter/components/providerresponse.py:
id: ad3887be54c5 id: ad3887be54c5
last_write_checksum: sha1:17b2491e58fea36851d21b85298a3480d98b9c37 last_write_checksum: sha1:fcaede27042d7d3fc2252a8950903eeb298abcb7
pristine_git_object: 3fa87d1928675c2841c1abeb0fd08ce3d0cda650 pristine_git_object: 5cad4c141cd79f69eeae90dd17063a9ba3538723
src/openrouter/components/providersort.py: src/openrouter/components/providersort.py:
id: 348e382bf494 id: 348e382bf494
last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152 last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152
@@ -7994,12 +8002,12 @@ trackedFiles:
pristine_git_object: 4e1073b4e3c10943c7035376f9984cd6559653a2 pristine_git_object: 4e1073b4e3c10943c7035376f9984cd6559653a2
src/openrouter/components/publicendpoint.py: src/openrouter/components/publicendpoint.py:
id: 848aa2ef9129 id: 848aa2ef9129
last_write_checksum: sha1:a268ea8595c25267ae05b3a2ab9bc452b064c33f last_write_checksum: sha1:2e389b5e4301174b4c8aaa5e0c679d6872ddd67e
pristine_git_object: 6761c9129979d95e6f44c955e77a2d412bf0eb1b pristine_git_object: a7d3e523472feb11203aa79bd081fa87c0ed6503
src/openrouter/components/publicpricing.py: src/openrouter/components/publicpricing.py:
id: 96d115d83cc5 id: 96d115d83cc5
last_write_checksum: sha1:ccec3f6d6b07186a612c23561f2bbe6ecfd6839f last_write_checksum: sha1:1980193d2339dc13b08d1caabb235b0b8bcb8ce3
pristine_git_object: 42a29282d09996796b9e981b96a2772d08eea28c pristine_git_object: 09a1bdd6ec5d204533288516de6d01ae20be218f
src/openrouter/components/quantization.py: src/openrouter/components/quantization.py:
id: bde317b3d703 id: bde317b3d703
last_write_checksum: sha1:96b042899bfb818f20d282be76ad37fc948a599d last_write_checksum: sha1:96b042899bfb818f20d282be76ad37fc948a599d
@@ -8414,8 +8422,8 @@ trackedFiles:
pristine_git_object: b140a02148be319bb2aeb0287bdd6e031ad6a3a4 pristine_git_object: b140a02148be319bb2aeb0287bdd6e031ad6a3a4
src/openrouter/components/videogenerationrequest.py: src/openrouter/components/videogenerationrequest.py:
id: 70e3c9ff288c id: 70e3c9ff288c
last_write_checksum: sha1:17c582e6ab58fec81a8cfc0a8dd367e254886af7 last_write_checksum: sha1:1e17df29049bc37407c363437f28cd56504ff88e
pristine_git_object: ed3693b3c93462d1325ac563613b61897cb774d6 pristine_git_object: 230d48746fee477d943c6b9b01bbe5242dc1c95b
src/openrouter/components/videogenerationresponse.py: src/openrouter/components/videogenerationresponse.py:
id: 541f1321b072 id: 541f1321b072
last_write_checksum: sha1:051ace67776106616ec4c8e55cf2df9a99855d0f last_write_checksum: sha1:051ace67776106616ec4c8e55cf2df9a99855d0f
@@ -8630,16 +8638,16 @@ trackedFiles:
pristine_git_object: 409e169fc5f43a0eea65b7568588c25c82abb46a pristine_git_object: 409e169fc5f43a0eea65b7568588c25c82abb46a
src/openrouter/guardrails.py: src/openrouter/guardrails.py:
id: 705839f34e66 id: 705839f34e66
last_write_checksum: sha1:212ed4757bf87d2acd6d179e25cf03d9ba3d64b4 last_write_checksum: sha1:137f03185776ee3f734609612e37aef1d3e2f178
pristine_git_object: beb82bf31bd9bca3baa7f61eb28105dfd3d22be3 pristine_git_object: 50249a344d342b955acdcaf9796466b9e8c3a1d1
src/openrouter/httpclient.py: src/openrouter/httpclient.py:
id: e9311185443d id: e9311185443d
last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7 last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7
pristine_git_object: 89560b566073785535643e694c112bedbd3db13d pristine_git_object: 89560b566073785535643e694c112bedbd3db13d
src/openrouter/images.py: src/openrouter/images.py:
id: c4d7adf63ae0 id: c4d7adf63ae0
last_write_checksum: sha1:1bfa3a9cf3bd0eb942d50d77e96bfe456ee9e688 last_write_checksum: sha1:b936333eef102e8b53441ab985eb259c73712131
pristine_git_object: 87b2682c7449ab1be4f24ed44143769772e51b72 pristine_git_object: e96036fee4a23a6b204dc00594e17e9ae875e19d
src/openrouter/models/__init__.py: src/openrouter/models/__init__.py:
id: ed73b93abb3f id: ed73b93abb3f
last_write_checksum: sha1:fd931d5c2d58b5f9189cc897e038d6d78e362dab last_write_checksum: sha1:fd931d5c2d58b5f9189cc897e038d6d78e362dab
@@ -8878,8 +8886,8 @@ trackedFiles:
pristine_git_object: bf9965a274d7249abb169adb43c8358b1ee73105 pristine_git_object: bf9965a274d7249abb169adb43c8358b1ee73105
src/openrouter/operations/listbyokkeys.py: src/openrouter/operations/listbyokkeys.py:
id: b6dd42b3e05f id: b6dd42b3e05f
last_write_checksum: sha1:c9f64f85259661b9446c39f0c1c5cea5e2ae5ce7 last_write_checksum: sha1:d0fdaf6fac9d2364ee0b092f5808b85e1e03421b
pristine_git_object: bfe12fe1167ef86405de56a6f579d68626166438 pristine_git_object: dcbff9f3f4f59d1617c9c793c9eb1a212c313905
src/openrouter/operations/listembeddingsmodels.py: src/openrouter/operations/listembeddingsmodels.py:
id: bf749a1f23d6 id: bf749a1f23d6
last_write_checksum: sha1:654a4e7e7b486f1d321eeb11ef7a7fa928e501a6 last_write_checksum: sha1:654a4e7e7b486f1d321eeb11ef7a7fa928e501a6
@@ -9126,12 +9134,12 @@ trackedFiles:
pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3
src/openrouter/video_generation.py: src/openrouter/video_generation.py:
id: d0a90c1b8efe id: d0a90c1b8efe
last_write_checksum: sha1:d752e915a80df1f48a7ca35e901b50175fe3682b last_write_checksum: sha1:a857083fe9fe2766e7c083dce8778a30dd0a0b03
pristine_git_object: cdd7182ff939a02a0bbcd135c06a3b34d50e7076 pristine_git_object: 14d0c5e4e7757eeb383e460784073b8f05accd82
src/openrouter/workspaces.py: src/openrouter/workspaces.py:
id: cd6c533b1802 id: cd6c533b1802
last_write_checksum: sha1:2d9fc04510d5e28f57f23eacd7a5814495b127e7 last_write_checksum: sha1:7b1a29a2c1faa68ef30ccd0c8e61dfe535b90314
pristine_git_object: 54a25f1f83e29f7f005e58d0f2fedb1599be3b60 pristine_git_object: 1b82a9360ac6b08cee12e674770f7681e2a5e6f4
examples: examples:
createResponses: createResponses:
speakeasy-default-create-responses: speakeasy-default-create-responses:
@@ -9764,6 +9772,7 @@ examples:
responses: responses:
"200": "200":
application/octet-stream: "x-file: example.file" application/octet-stream: "x-file: example.file"
video/mp4: "x-file: example.file"
"400": "400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}} application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401": "401":
@@ -10559,4 +10568,3 @@ examples:
"500": "500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}} application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2 examplesVersion: 1.0.2
releaseNotes: "## Python SDK Changes:\n* `open_router.beta.responses.send()`: \n * `request` **Changed**\n * `response` **Changed** **Breaking** :warning:\n* `open_router.tts.create_speech()`: \n * `request.provider.options` **Changed**\n* `open_router.chat.send()`: `response` **Changed**\n* `open_router.images.list_models()`: **Added**\n* `open_router.images.list_model_endpoints()`: **Added**\n* `open_router.datasets.get_benchmarks_artificial_analysis()`: **Deleted** **Breaking** :warning:\n* `open_router.datasets.get_benchmarks_design_arena()`: **Deleted** **Breaking** :warning:\n* `open_router.classifications.get_task_classifications()`: **Added**\n* `open_router.benchmarks.get_benchmarks()`: **Added**\n* `open_router.images.generate()`: **Added**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options` **Changed**\n* `open_router.byok.list()`: `request.provider` **Changed**\n* `open_router.embeddings.generate()`: `response.usage` **Changed**\n* `open_router.embeddings.list_models()`: `response.data.[].reasoning` **Added**\n* `open_router.models.get()`: `response.data.reasoning` **Added**\n* `open_router.models.list()`: \n * `request.sort` **Changed**\n * `response.data.[].reasoning` **Added**\n* `open_router.models.list_for_user()`: `response.data.[].reasoning` **Added**\n* `open_router.presets.create_presets_responses()`: `request` **Changed**\n* `open_router.video_generation.generate()`: \n * `request.provider.options` **Changed**\n"
+1 -1
View File
@@ -32,7 +32,7 @@ generation:
skipResponseBodyAssertions: false skipResponseBodyAssertions: false
preApplyUnionDiscriminators: true preApplyUnionDiscriminators: true
python: python:
version: 0.10.1 version: 0.10.8
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}
+149 -105
View File
@@ -3677,10 +3677,6 @@ components:
oneOf: oneOf:
- $ref: '#/components/schemas/ContainerAutoEnvironment' - $ref: '#/components/schemas/ContainerAutoEnvironment'
- $ref: '#/components/schemas/ContainerReferenceEnvironment' - $ref: '#/components/schemas/ContainerReferenceEnvironment'
BigNumberUnion:
description: Price per million prompt tokens
example: 1000
type: string
BooleanCapability: BooleanCapability:
description: A supported-or-not flag. Present means the parameter is accepted. description: A supported-or-not flag. Present means the parameter is accepted.
example: example:
@@ -4047,6 +4043,7 @@ components:
- perplexity - perplexity
- phala - phala
- poolside - poolside
- quiver
- recraft - recraft
- reka - reka
- relace - relace
@@ -4273,11 +4270,15 @@ components:
image_url: image_url:
properties: properties:
detail: detail:
description: Image detail level for vision models description: >-
Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat
Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers
that lack an original-resolution tier.
enum: enum:
- auto - auto
- low - low
- high - high
- original
type: string type: string
url: url:
description: 'URL of the image (data: URLs supported)' description: 'URL of the image (data: URLs supported)'
@@ -8408,6 +8409,22 @@ components:
maxItems: 8 maxItems: 8
type: array type: array
type: object type: object
FusionSource:
description: A web page retrieved via web search during a fusion run.
example:
title: Example article title
url: https://example.com/article
properties:
title:
description: Title of the retrieved web page.
type: string
url:
description: URL of the web page a panel or the judge retrieved during the run.
type: string
required:
- url
- title
type: object
GenerationContentData: GenerationContentData:
description: Stored prompt and completion content description: Stored prompt and completion content
example: example:
@@ -9319,6 +9336,12 @@ components:
created: created:
description: Unix timestamp (seconds) when the image was generated description: Unix timestamp (seconds) when the image was generated
type: integer 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
type: string
type: type:
description: The event type description: The event type
enum: enum:
@@ -9391,11 +9414,14 @@ components:
example: 100 example: 100
type: integer type: integer
output_format: output_format:
description: Encoding of the returned image bytes. description: >-
Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported
by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
enum: enum:
- png - png
- jpeg - jpeg
- webp - webp
- svg
example: png example: png
type: string type: string
prompt: prompt:
@@ -9478,6 +9504,12 @@ components:
b64_json: b64_json:
description: Base64-encoded image bytes description: Base64-encoded image bytes
type: string 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
type: string
required: required:
- b64_json - b64_json
type: object type: object
@@ -12527,6 +12559,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -16282,6 +16315,13 @@ components:
- model - model
type: object type: object
type: array type: array
sources:
description: >-
Web pages the analysis panels and judge retrieved via web search during this fusion run, deduplicated by URL
across the whole run. Present when at least one model cited a source.
items:
$ref: '#/components/schemas/FusionSource'
type: array
status: status:
$ref: '#/components/schemas/ToolCallStatus' $ref: '#/components/schemas/ToolCallStatus'
type: type:
@@ -17938,6 +17978,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -18312,6 +18353,10 @@ components:
additionalProperties: additionalProperties:
nullable: true nullable: true
type: object type: object
quiver:
additionalProperties:
nullable: true
type: object
recraft: recraft:
additionalProperties: additionalProperties:
nullable: true nullable: true
@@ -18527,23 +18572,20 @@ components:
prompt and completion. prompt and completion.
properties: properties:
audio: audio:
allOf: description: Maximum price in USD per audio unit
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per audio unit
completion: completion:
allOf: description: Maximum price in USD per million completion tokens
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per million completion tokens
image: image:
allOf: description: Maximum price in USD per image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per image
prompt: prompt:
$ref: '#/components/schemas/BigNumberUnion' description: Maximum price in USD per million prompt tokens
type: string
request: request:
allOf: description: Maximum price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per request
type: object type: object
only: only:
description: >- description: >-
@@ -18755,6 +18797,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -18865,60 +18908,57 @@ components:
pricing: pricing:
properties: properties:
audio: audio:
allOf: description: Price in USD per audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
audio_output: audio_output:
allOf: description: Price in USD per audio output token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
completion: completion:
allOf: description: Price in USD per token for completion (output) generation
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
discount: discount:
description: >-
Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 =
no discount, 1 = free)
format: double format: double
type: number type: number
image: image:
allOf: description: Price in USD per input image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_output: image_output:
allOf: description: Price in USD per output image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_token: image_token:
allOf: description: Price in USD per image token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_audio_cache: input_audio_cache:
allOf: description: Price in USD per cached audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_read: input_cache_read:
allOf: description: Price in USD per cached input token (read)
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_write: input_cache_write:
allOf: description: >-
- $ref: '#/components/schemas/BigNumberUnion' Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic),
- description: A number or string value representing a large number this is the default (5-minute) cache-write rate.
type: string
input_cache_write_1h:
description: >-
Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended
(1-hour) cache TTL separately, such as Anthropic.
type: string
internal_reasoning: internal_reasoning:
allOf: description: Price in USD per internal reasoning token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
prompt: prompt:
allOf: description: Price in USD per token for prompt (input) processing
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
request: request:
allOf: description: Price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
web_search: web_search:
allOf: description: Price in USD per web search
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
required: required:
- prompt - prompt
- completion - completion
@@ -18992,60 +19032,57 @@ components:
request: '0' request: '0'
properties: properties:
audio: audio:
allOf: description: Price in USD per audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
audio_output: audio_output:
allOf: description: Price in USD per audio output token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
completion: completion:
allOf: description: Price in USD per token for completion (output) generation
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
discount: discount:
description: >-
Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no
discount, 1 = free)
format: double format: double
type: number type: number
image: image:
allOf: description: Price in USD per input image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_output: image_output:
allOf: description: Price in USD per output image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_token: image_token:
allOf: description: Price in USD per image token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_audio_cache: input_audio_cache:
allOf: description: Price in USD per cached audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_read: input_cache_read:
allOf: description: Price in USD per cached input token (read)
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_write: input_cache_write:
allOf: description: >-
- $ref: '#/components/schemas/BigNumberUnion' Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this
- description: A number or string value representing a large number is the default (5-minute) cache-write rate.
type: string
input_cache_write_1h:
description: >-
Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended
(1-hour) cache TTL separately, such as Anthropic.
type: string
internal_reasoning: internal_reasoning:
allOf: description: Price in USD per internal reasoning token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
prompt: prompt:
allOf: description: Price in USD per token for prompt (input) processing
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
request: request:
allOf: description: Price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
web_search: web_search:
allOf: description: Price in USD per web search
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
required: required:
- prompt - prompt
- completion - completion
@@ -24426,6 +24463,7 @@ paths:
- perplexity - perplexity
- phala - phala
- poolside - poolside
- quiver
- recraft - recraft
- reka - reka
- relace - relace
@@ -24509,7 +24547,8 @@ paths:
description: >- description: >-
Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned
in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to
scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required. scope to a different workspace. Treat the raw key as write-only; it is never returned after creation.
[Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: createBYOKKey operationId: createBYOKKey
requestBody: requestBody:
content: content:
@@ -27189,7 +27228,9 @@ paths:
- Guardrails - Guardrails
x-speakeasy-name-override: get x-speakeasy-name-override: get
patch: patch:
description: Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. description: >-
Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every
update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: updateGuardrail operationId: updateGuardrail
parameters: parameters:
- description: The unique identifier of the guardrail to update - description: The unique identifier of the guardrail to update
@@ -27383,8 +27424,8 @@ paths:
type: offsetLimit type: offsetLimit
post: post:
description: >- description: >-
Assign multiple API keys to a specific guardrail. [Management Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any
key](/docs/guides/overview/auth/management-api-keys) required. existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: bulkAssignKeysToGuardrail operationId: bulkAssignKeysToGuardrail
parameters: parameters:
- description: The unique identifier of the guardrail - description: The unique identifier of the guardrail
@@ -28736,7 +28777,8 @@ paths:
x-speakeasy-name-override: list x-speakeasy-name-override: list
post: post:
description: >- description: >-
Create a new API key for the authenticated user. [Management Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it
as a write-only, sensitive value; it cannot be retrieved later. [Management
key](/docs/guides/overview/auth/management-api-keys) required. key](/docs/guides/overview/auth/management-api-keys) required.
operationId: createKeys operationId: createKeys
requestBody: requestBody:
@@ -33152,12 +33194,14 @@ paths:
responses: responses:
'200': '200':
content: content:
application/octet-stream: video/mp4:
example: <binary video data> example: <binary video data>
schema: schema:
format: binary format: binary
type: string type: string
description: Video content stream description: >-
Video content stream. The body is the raw video bytes proxied from the upstream provider, and the
Content-Type reflects the provider media type (video/mp4).
'400': '400':
content: content:
application/json: application/json:
@@ -33446,7 +33490,7 @@ paths:
delete: delete:
description: >- description: >-
Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be
deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required. deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: deleteWorkspace operationId: deleteWorkspace
parameters: parameters:
- description: The workspace ID (UUID) or slug - description: The workspace ID (UUID) or slug
+132 -104
View File
@@ -3676,10 +3676,6 @@ components:
oneOf: oneOf:
- $ref: '#/components/schemas/ContainerAutoEnvironment' - $ref: '#/components/schemas/ContainerAutoEnvironment'
- $ref: '#/components/schemas/ContainerReferenceEnvironment' - $ref: '#/components/schemas/ContainerReferenceEnvironment'
BigNumberUnion:
description: Price per million prompt tokens
example: 1000
type: string
BooleanCapability: BooleanCapability:
description: A supported-or-not flag. Present means the parameter is accepted. description: A supported-or-not flag. Present means the parameter is accepted.
example: example:
@@ -4043,6 +4039,7 @@ components:
- perplexity - perplexity
- phala - phala
- poolside - poolside
- quiver
- recraft - recraft
- reka - reka
- relace - relace
@@ -4270,11 +4267,13 @@ components:
image_url: image_url:
properties: properties:
detail: detail:
description: Image detail level for vision models description: >-
Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier.
enum: enum:
- auto - auto
- low - low
- high - high
- original
type: string type: string
x-speakeasy-unknown-values: allow x-speakeasy-unknown-values: allow
url: url:
@@ -8359,6 +8358,22 @@ components:
maxItems: 8 maxItems: 8
type: array type: array
type: object type: object
FusionSource:
description: A web page retrieved via web search during a fusion run.
example:
title: Example article title
url: https://example.com/article
properties:
title:
description: Title of the retrieved web page.
type: string
url:
description: URL of the web page a panel or the judge retrieved during the run.
type: string
required:
- url
- title
type: object
GenerationContentData: GenerationContentData:
description: Stored prompt and completion content description: Stored prompt and completion content
example: example:
@@ -9266,6 +9281,11 @@ components:
created: created:
description: Unix timestamp (seconds) when the image was generated description: Unix timestamp (seconds) when the image was generated
type: integer 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
type: string
type: type:
description: The event type description: The event type
enum: enum:
@@ -9340,11 +9360,13 @@ components:
example: 100 example: 100
type: integer type: integer
output_format: output_format:
description: Encoding of the returned image bytes. description: >-
Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
enum: enum:
- png - png
- jpeg - jpeg
- webp - webp
- svg
example: png example: png
type: string type: string
x-speakeasy-unknown-values: allow x-speakeasy-unknown-values: allow
@@ -9424,6 +9446,11 @@ components:
b64_json: b64_json:
description: Base64-encoded image bytes description: Base64-encoded image bytes
type: string 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
type: string
required: required:
- b64_json - b64_json
type: object type: object
@@ -12472,6 +12499,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -16202,6 +16230,12 @@ components:
- model - model
type: object type: object
type: array type: array
sources:
description: >-
Web pages the analysis panels and judge retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source.
items:
$ref: '#/components/schemas/FusionSource'
type: array
status: status:
$ref: '#/components/schemas/ToolCallStatus' $ref: '#/components/schemas/ToolCallStatus'
type: type:
@@ -17847,6 +17881,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -18221,6 +18256,10 @@ components:
additionalProperties: additionalProperties:
nullable: true nullable: true
type: object type: object
quiver:
additionalProperties:
nullable: true
type: object
recraft: recraft:
additionalProperties: additionalProperties:
nullable: true nullable: true
@@ -18433,23 +18472,20 @@ components:
The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.
properties: properties:
audio: audio:
allOf: description: Maximum price in USD per audio unit
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per audio unit
completion: completion:
allOf: description: Maximum price in USD per million completion tokens
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per million completion tokens
image: image:
allOf: description: Maximum price in USD per image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per image
prompt: prompt:
$ref: '#/components/schemas/BigNumberUnion' description: Maximum price in USD per million prompt tokens
type: string
request: request:
allOf: description: Maximum price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: Price per request
type: object type: object
only: only:
description: >- description: >-
@@ -18655,6 +18691,7 @@ components:
- Venice - Venice
- Wafer - Wafer
- WandB - WandB
- Quiver
- Xiaomi - Xiaomi
- xAI - xAI
- Z.AI - Z.AI
@@ -18768,60 +18805,54 @@ components:
pricing: pricing:
properties: properties:
audio: audio:
allOf: description: Price in USD per audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
audio_output: audio_output:
allOf: description: Price in USD per audio output token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
completion: completion:
allOf: description: Price in USD per token for completion (output) generation
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
discount: discount:
description: >-
Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)
format: double format: double
type: number type: number
image: image:
allOf: description: Price in USD per input image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_output: image_output:
allOf: description: Price in USD per output image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_token: image_token:
allOf: description: Price in USD per image token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_audio_cache: input_audio_cache:
allOf: description: Price in USD per cached audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_read: input_cache_read:
allOf: description: Price in USD per cached input token (read)
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_write: input_cache_write:
allOf: description: >-
- $ref: '#/components/schemas/BigNumberUnion' Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate.
- description: A number or string value representing a large number type: string
input_cache_write_1h:
description: >-
Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic.
type: string
internal_reasoning: internal_reasoning:
allOf: description: Price in USD per internal reasoning token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
prompt: prompt:
allOf: description: Price in USD per token for prompt (input) processing
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
request: request:
allOf: description: Price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
web_search: web_search:
allOf: description: Price in USD per web search
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
required: required:
- prompt - prompt
- completion - completion
@@ -18891,60 +18922,54 @@ components:
request: '0' request: '0'
properties: properties:
audio: audio:
allOf: description: Price in USD per audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
audio_output: audio_output:
allOf: description: Price in USD per audio output token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
completion: completion:
allOf: description: Price in USD per token for completion (output) generation
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
discount: discount:
description: >-
Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)
format: double format: double
type: number type: number
image: image:
allOf: description: Price in USD per input image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_output: image_output:
allOf: description: Price in USD per output image
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
image_token: image_token:
allOf: description: Price in USD per image token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_audio_cache: input_audio_cache:
allOf: description: Price in USD per cached audio input token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_read: input_cache_read:
allOf: description: Price in USD per cached input token (read)
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
input_cache_write: input_cache_write:
allOf: description: >-
- $ref: '#/components/schemas/BigNumberUnion' Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate.
- description: A number or string value representing a large number type: string
input_cache_write_1h:
description: >-
Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic.
type: string
internal_reasoning: internal_reasoning:
allOf: description: Price in USD per internal reasoning token
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
prompt: prompt:
allOf: description: Price in USD per token for prompt (input) processing
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
request: request:
allOf: description: Price in USD per request
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
web_search: web_search:
allOf: description: Price in USD per web search
- $ref: '#/components/schemas/BigNumberUnion' type: string
- description: A number or string value representing a large number
required: required:
- prompt - prompt
- completion - completion
@@ -24267,6 +24292,7 @@ paths:
- perplexity - perplexity
- phala - phala
- poolside - poolside
- quiver
- recraft - recraft
- reka - reka
- relace - relace
@@ -24349,7 +24375,7 @@ paths:
type: offsetLimit type: offsetLimit
post: post:
description: >- description: >-
Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: createBYOKKey operationId: createBYOKKey
requestBody: requestBody:
content: content:
@@ -27057,7 +27083,8 @@ paths:
- Guardrails - Guardrails
x-speakeasy-name-override: get x-speakeasy-name-override: get
patch: patch:
description: Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. description: >-
Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: updateGuardrail operationId: updateGuardrail
parameters: parameters:
- description: The unique identifier of the guardrail to update - description: The unique identifier of the guardrail to update
@@ -27254,7 +27281,7 @@ paths:
type: offsetLimit type: offsetLimit
post: post:
description: >- description: >-
Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: bulkAssignKeysToGuardrail operationId: bulkAssignKeysToGuardrail
parameters: parameters:
- description: The unique identifier of the guardrail - description: The unique identifier of the guardrail
@@ -28635,7 +28662,7 @@ paths:
x-speakeasy-name-override: list x-speakeasy-name-override: list
post: post:
description: >- description: >-
Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: createKeys operationId: createKeys
requestBody: requestBody:
content: content:
@@ -33077,12 +33104,13 @@ paths:
responses: responses:
'200': '200':
content: content:
application/octet-stream: video/mp4:
example: <binary video data> example: <binary video data>
schema: schema:
format: binary format: binary
type: string type: string
description: Video content stream description: >-
Video content stream. The body is the raw video bytes proxied from the upstream provider, and the Content-Type reflects the provider media type (video/mp4).
'400': '400':
content: content:
application/json: application/json:
@@ -33380,7 +33408,7 @@ paths:
/workspaces/{id}: /workspaces/{id}:
delete: delete:
description: >- description: >-
Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required. Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
operationId: deleteWorkspace operationId: deleteWorkspace
parameters: parameters:
- description: The workspace ID (UUID) or slug - description: The workspace ID (UUID) or slug
+6 -6
View File
@@ -2,20 +2,20 @@ speakeasyVersion: 1.680.0
sources: sources:
OpenRouter API: OpenRouter API:
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:8a4df86f3d3822da1bc0bd41158b6e2674f517dde9d9747c7fd6aeae92531d65 sourceRevisionDigest: sha256:ed6981b24a0f8df827afac0f83d7dae4d8f7df331ae6e72664e03800cb7a0244
sourceBlobDigest: sha256:6ced93728e355c985d439c194e9d8ee1593b92f6f809f1315be8847686c46174 sourceBlobDigest: sha256:5961e537bd3160eb3f541232a5e7cb43704fed5e9ce76b342c08f6c52d4fefe9
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1782424634 - speakeasy-sdk-regen-1782660460
- 1.0.0 - 1.0.0
targets: targets:
open-router: open-router:
source: OpenRouter API source: OpenRouter API
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:8a4df86f3d3822da1bc0bd41158b6e2674f517dde9d9747c7fd6aeae92531d65 sourceRevisionDigest: sha256:ed6981b24a0f8df827afac0f83d7dae4d8f7df331ae6e72664e03800cb7a0244
sourceBlobDigest: sha256:6ced93728e355c985d439c194e9d8ee1593b92f6f809f1315be8847686c46174 sourceBlobDigest: sha256:5961e537bd3160eb3f541232a5e7cb43704fed5e9ce76b342c08f6c52d4fefe9
codeSamplesNamespace: open-router-python-code-samples codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:50757f7fdc830970d172346b5b1a7308c4861a13f531f093a629e1ac180687ee codeSamplesRevisionDigest: sha256:d3f20480ea1c0bcb8d872ae696b7a8b2c16d1469ee95b6df12b03b7004ce1c9c
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: 1.680.0 speakeasyVersion: 1.680.0
+70
View File
@@ -39,3 +39,73 @@ Based on:
- [python v0.10.1] . - [python v0.10.1] .
### Releases ### Releases
- [PyPI v0.10.1] https://pypi.org/project/openrouter/0.10.1 - . - [PyPI v0.10.1] https://pypi.org/project/openrouter/0.10.1 - .
## 2026-06-25 22:28:38
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.2] .
### Releases
- [PyPI v0.10.2] https://pypi.org/project/openrouter/0.10.2 - .
## 2026-06-26 00:15:50
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.3] .
### Releases
- [PyPI v0.10.3] https://pypi.org/project/openrouter/0.10.3 - .
## 2026-06-26 12:06:01
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.4] .
### Releases
- [PyPI v0.10.4] https://pypi.org/project/openrouter/0.10.4 - .
## 2026-06-26 14:36:56
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.5] .
### Releases
- [PyPI v0.10.5] https://pypi.org/project/openrouter/0.10.5 - .
## 2026-06-26 18:19:11
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.6] .
### Releases
- [PyPI v0.10.6] https://pypi.org/project/openrouter/0.10.6 - .
## 2026-06-26 23:43:40
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.7] .
### Releases
- [PyPI v0.10.7] https://pypi.org/project/openrouter/0.10.7 - .
## 2026-06-28 15:27:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.10.8] .
### Releases
- [PyPI v0.10.8] https://pypi.org/project/openrouter/0.10.8 - .
+17 -16
View File
@@ -3,19 +3,20 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `audio` | *Optional[str]* | :heavy_minus_sign: | Price in USD per audio input token |
| `audio_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `audio_output` | *Optional[str]* | :heavy_minus_sign: | Price in USD per audio output token |
| `completion` | *str* | :heavy_check_mark: | N/A | 1000 | | `completion` | *str* | :heavy_check_mark: | Price in USD per token for completion (output) generation |
| `discount` | *Optional[float]* | :heavy_minus_sign: | N/A | | | `discount` | *Optional[float]* | :heavy_minus_sign: | Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free) |
| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image` | *Optional[str]* | :heavy_minus_sign: | Price in USD per input image |
| `image_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image_output` | *Optional[str]* | :heavy_minus_sign: | Price in USD per output image |
| `image_token` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image_token` | *Optional[str]* | :heavy_minus_sign: | Price in USD per image token |
| `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | Price in USD per cached audio input token |
| `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | Price in USD per cached input token (read) |
| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate. |
| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_write_1h` | *Optional[str]* | :heavy_minus_sign: | Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic. |
| `prompt` | *str* | :heavy_check_mark: | N/A | 1000 | | `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | Price in USD per internal reasoning token |
| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `prompt` | *str* | :heavy_check_mark: | Price in USD per token for prompt (input) processing |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `request` | *Optional[str]* | :heavy_minus_sign: | Price in USD per request |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | Price in USD per web search |
+1
View File
@@ -91,6 +91,7 @@
| `VENICE` | Venice | | `VENICE` | Venice |
| `WAFER` | Wafer | | `WAFER` | Wafer |
| `WAND_B` | WandB | | `WAND_B` | WandB |
| `QUIVER` | Quiver |
| `XIAOMI` | Xiaomi | | `XIAOMI` | Xiaomi |
| `X_AI` | xAI | | `X_AI` | xAI |
| `Z_AI` | Z.AI | | `Z_AI` | Z.AI |
+17 -16
View File
@@ -5,19 +5,20 @@ Pricing information for the model
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `audio` | *Optional[str]* | :heavy_minus_sign: | Price in USD per audio input token |
| `audio_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `audio_output` | *Optional[str]* | :heavy_minus_sign: | Price in USD per audio output token |
| `completion` | *str* | :heavy_check_mark: | N/A | 1000 | | `completion` | *str* | :heavy_check_mark: | Price in USD per token for completion (output) generation |
| `discount` | *Optional[float]* | :heavy_minus_sign: | N/A | | | `discount` | *Optional[float]* | :heavy_minus_sign: | Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free) |
| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image` | *Optional[str]* | :heavy_minus_sign: | Price in USD per input image |
| `image_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image_output` | *Optional[str]* | :heavy_minus_sign: | Price in USD per output image |
| `image_token` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `image_token` | *Optional[str]* | :heavy_minus_sign: | Price in USD per image token |
| `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | Price in USD per cached audio input token |
| `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | Price in USD per cached input token (read) |
| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate. |
| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `input_cache_write_1h` | *Optional[str]* | :heavy_minus_sign: | Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic. |
| `prompt` | *str* | :heavy_check_mark: | N/A | 1000 | | `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | Price in USD per internal reasoning token |
| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `prompt` | *str* | :heavy_check_mark: | Price in USD per token for prompt (input) processing |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | | `request` | *Optional[str]* | :heavy_minus_sign: | Price in USD per request |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | Price in USD per web search |
+1 -1
View File
@@ -113,7 +113,7 @@ with OpenRouter(
## create ## create
Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
### Example Usage ### Example Usage
+2 -2
View File
@@ -241,7 +241,7 @@ with OpenRouter(
## update ## update
Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
### Example Usage ### Example Usage
@@ -359,7 +359,7 @@ with OpenRouter(
## bulk_assign_keys ## bulk_assign_keys
Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
### Example Usage ### Example Usage
+1 -1
View File
@@ -1,6 +1,6 @@
[project] [project]
name = "openrouter" name = "openrouter"
version = "0.10.1" version = "0.10.8"
description = "Official Python Client SDK for OpenRouter." description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },] authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md" readme = "README-PYPI.md"
+2 -2
View File
@@ -3,10 +3,10 @@
import importlib.metadata import importlib.metadata
__title__: str = "openrouter" __title__: str = "openrouter"
__version__: str = "0.10.1" __version__: str = "0.10.8"
__openapi_doc_version__: str = "1.0.0" __openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.788.4" __gen_version__: str = "2.788.4"
__user_agent__: str = "speakeasy-sdk/python 0.10.1 2.788.4 1.0.0 openrouter" __user_agent__: str = "speakeasy-sdk/python 0.10.8 2.788.4 1.0.0 openrouter"
try: try:
if __package__ is not None: if __package__ is not None:
+2 -2
View File
@@ -533,7 +533,7 @@ class APIKeys(BaseSDK):
) -> operations.CreateKeysResponse: ) -> operations.CreateKeysResponse:
r"""Create a new API key r"""Create a new API key
Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param name: Name for the new API key :param name: Name for the new API key
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
@@ -696,7 +696,7 @@ class APIKeys(BaseSDK):
) -> operations.CreateKeysResponse: ) -> operations.CreateKeysResponse:
r"""Create a new API key r"""Create a new API key
Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param name: Name for the new API key :param name: Name for the new API key
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
+2 -2
View File
@@ -359,7 +359,7 @@ class Byok(BaseSDK):
) -> components.CreateBYOKKeyResponse: ) -> components.CreateBYOKKeyResponse:
r"""Create a BYOK provider credential r"""Create a BYOK provider credential
Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param key: The raw provider API key or credential. This value is encrypted at rest and never returned in API responses. :param key: The raw provider API key or credential. This value is encrypted at rest and never returned in API responses.
:param provider: The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). :param provider: The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`).
@@ -520,7 +520,7 @@ class Byok(BaseSDK):
) -> components.CreateBYOKKeyResponse: ) -> components.CreateBYOKKeyResponse:
r"""Create a BYOK provider credential r"""Create a BYOK provider credential
Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required. Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param key: The raw provider API key or credential. This value is encrypted at rest and never returned in API responses. :param key: The raw provider API key or credential. This value is encrypted at rest and never returned in API responses.
:param provider: The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). :param provider: The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`).
+5
View File
@@ -1020,6 +1020,7 @@ if TYPE_CHECKING:
FusionServerToolConfigToolTypedDict, FusionServerToolConfigToolTypedDict,
FusionServerToolConfigTypedDict, FusionServerToolConfigTypedDict,
) )
from .fusionsource import FusionSource, FusionSourceTypedDict
from .generationcontentdata import ( from .generationcontentdata import (
GenerationContentData, GenerationContentData,
GenerationContentDataOutput, GenerationContentDataOutput,
@@ -3423,6 +3424,8 @@ __all__ = [
"FusionServerToolOpenRouter", "FusionServerToolOpenRouter",
"FusionServerToolOpenRouterType", "FusionServerToolOpenRouterType",
"FusionServerToolOpenRouterTypedDict", "FusionServerToolOpenRouterTypedDict",
"FusionSource",
"FusionSourceTypedDict",
"GenerationContentData", "GenerationContentData",
"GenerationContentDataOutput", "GenerationContentDataOutput",
"GenerationContentDataOutputTypedDict", "GenerationContentDataOutputTypedDict",
@@ -5348,6 +5351,8 @@ _dynamic_imports: dict[str, str] = {
"FusionServerToolConfigTool": ".fusionservertoolconfig", "FusionServerToolConfigTool": ".fusionservertoolconfig",
"FusionServerToolConfigToolTypedDict": ".fusionservertoolconfig", "FusionServerToolConfigToolTypedDict": ".fusionservertoolconfig",
"FusionServerToolConfigTypedDict": ".fusionservertoolconfig", "FusionServerToolConfigTypedDict": ".fusionservertoolconfig",
"FusionSource": ".fusionsource",
"FusionSourceTypedDict": ".fusionsource",
"GenerationContentData": ".generationcontentdata", "GenerationContentData": ".generationcontentdata",
"GenerationContentDataOutput": ".generationcontentdata", "GenerationContentDataOutput": ".generationcontentdata",
"GenerationContentDataOutputTypedDict": ".generationcontentdata", "GenerationContentDataOutputTypedDict": ".generationcontentdata",
@@ -74,6 +74,7 @@ BYOKProviderSlug = Union[
"perplexity", "perplexity",
"phala", "phala",
"poolside", "poolside",
"quiver",
"recraft", "recraft",
"reka", "reka",
"relace", "relace",
@@ -13,17 +13,18 @@ ChatContentImageDetail = Union[
"auto", "auto",
"low", "low",
"high", "high",
"original",
], ],
UnrecognizedStr, UnrecognizedStr,
] ]
r"""Image detail level for vision models""" r"""Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier."""
class ChatContentImageImageURLTypedDict(TypedDict): class ChatContentImageImageURLTypedDict(TypedDict):
url: str url: str
r"""URL of the image (data: URLs supported)""" r"""URL of the image (data: URLs supported)"""
detail: NotRequired[ChatContentImageDetail] detail: NotRequired[ChatContentImageDetail]
r"""Image detail level for vision models""" r"""Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier."""
class ChatContentImageImageURL(BaseModel): class ChatContentImageImageURL(BaseModel):
@@ -33,7 +34,7 @@ class ChatContentImageImageURL(BaseModel):
detail: Annotated[ detail: Annotated[
Optional[ChatContentImageDetail], PlainValidator(validate_open_enum(False)) Optional[ChatContentImageDetail], PlainValidator(validate_open_enum(False))
] = None ] = None
r"""Image detail level for vision models""" r"""Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier."""
ChatContentImageType = Literal["image_url",] ChatContentImageType = Literal["image_url",]
+24
View File
@@ -0,0 +1,24 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
from openrouter.types import BaseModel
from typing_extensions import TypedDict
class FusionSourceTypedDict(TypedDict):
r"""A web page retrieved via web search during a fusion run."""
title: str
r"""Title of the retrieved web page."""
url: str
r"""URL of the web page a panel or the judge retrieved during the run."""
class FusionSource(BaseModel):
r"""A web page retrieved via web search during a fusion run."""
title: str
r"""Title of the retrieved web page."""
url: str
r"""URL of the web page a panel or the judge retrieved during the run."""
@@ -20,6 +20,8 @@ class ImageGenCompletedEventTypedDict(TypedDict):
r"""Unix timestamp (seconds) when the image was generated""" r"""Unix timestamp (seconds) when the image was generated"""
type: ImageGenCompletedEventType type: ImageGenCompletedEventType
r"""The event type""" 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`)."""
usage: NotRequired[ImageGenerationUsageTypedDict] usage: NotRequired[ImageGenerationUsageTypedDict]
r"""Token and cost usage for the image generation request, when available""" r"""Token and cost usage for the image generation request, when available"""
@@ -36,5 +38,8 @@ class ImageGenCompletedEvent(BaseModel):
type: ImageGenCompletedEventType type: ImageGenCompletedEventType
r"""The event type""" 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`)."""
usage: Optional[ImageGenerationUsage] = None usage: Optional[ImageGenerationUsage] = None
r"""Token and cost usage for the image generation request, when available""" r"""Token and cost usage for the image generation request, when available"""
@@ -56,10 +56,11 @@ ImageGenerationRequestOutputFormat = Union[
"png", "png",
"jpeg", "jpeg",
"webp", "webp",
"svg",
], ],
UnrecognizedStr, UnrecognizedStr,
] ]
r"""Encoding of the returned image bytes.""" r"""Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`."""
class ImageGenerationRequestOptionsTypedDict(TypedDict): class ImageGenerationRequestOptionsTypedDict(TypedDict):
@@ -155,6 +156,7 @@ class ImageGenerationRequestOptionsTypedDict(TypedDict):
perplexity: NotRequired[Dict[str, Nullable[Any]]] perplexity: NotRequired[Dict[str, Nullable[Any]]]
phala: NotRequired[Dict[str, Nullable[Any]]] phala: NotRequired[Dict[str, Nullable[Any]]]
poolside: NotRequired[Dict[str, Nullable[Any]]] poolside: NotRequired[Dict[str, Nullable[Any]]]
quiver: NotRequired[Dict[str, Nullable[Any]]]
recraft: NotRequired[Dict[str, Nullable[Any]]] recraft: NotRequired[Dict[str, Nullable[Any]]]
recursal: NotRequired[Dict[str, Nullable[Any]]] recursal: NotRequired[Dict[str, Nullable[Any]]]
reflection: NotRequired[Dict[str, Nullable[Any]]] reflection: NotRequired[Dict[str, Nullable[Any]]]
@@ -407,6 +409,8 @@ class ImageGenerationRequestOptions(BaseModel):
poolside: Optional[Dict[str, Nullable[Any]]] = None poolside: Optional[Dict[str, Nullable[Any]]] = None
quiver: Optional[Dict[str, Nullable[Any]]] = None
recraft: Optional[Dict[str, Nullable[Any]]] = None recraft: Optional[Dict[str, Nullable[Any]]] = None
recursal: Optional[Dict[str, Nullable[Any]]] = None recursal: Optional[Dict[str, Nullable[Any]]] = None
@@ -530,7 +534,7 @@ class ImageGenerationRequestTypedDict(TypedDict):
output_compression: NotRequired[int] output_compression: NotRequired[int]
r"""Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.""" r"""Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob."""
output_format: NotRequired[ImageGenerationRequestOutputFormat] output_format: NotRequired[ImageGenerationRequestOutputFormat]
r"""Encoding of the returned image bytes.""" r"""Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`."""
provider: NotRequired[ImageGenerationRequestProviderTypedDict] provider: NotRequired[ImageGenerationRequestProviderTypedDict]
r"""Provider-specific passthrough configuration""" r"""Provider-specific passthrough configuration"""
quality: NotRequired[ImageGenerationRequestQuality] quality: NotRequired[ImageGenerationRequestQuality]
@@ -579,7 +583,7 @@ class ImageGenerationRequest(BaseModel):
Optional[ImageGenerationRequestOutputFormat], Optional[ImageGenerationRequestOutputFormat],
PlainValidator(validate_open_enum(False)), PlainValidator(validate_open_enum(False)),
] = None ] = None
r"""Encoding of the returned image bytes.""" r"""Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`."""
provider: Optional[ImageGenerationRequestProvider] = None provider: Optional[ImageGenerationRequestProvider] = None
r"""Provider-specific passthrough configuration""" r"""Provider-specific passthrough configuration"""
@@ -10,12 +10,17 @@ from typing_extensions import NotRequired, TypedDict
class ImageGenerationResponseDataTypedDict(TypedDict): class ImageGenerationResponseDataTypedDict(TypedDict):
b64_json: str b64_json: str
r"""Base64-encoded image bytes""" 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`)."""
class ImageGenerationResponseData(BaseModel): class ImageGenerationResponseData(BaseModel):
b64_json: str b64_json: str
r"""Base64-encoded image bytes""" 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`)."""
class ImageGenerationResponseTypedDict(TypedDict): class ImageGenerationResponseTypedDict(TypedDict):
r"""Image generation response""" r"""Image generation response"""
@@ -2,6 +2,7 @@
from __future__ import annotations from __future__ import annotations
from .fusionanalysisresult import FusionAnalysisResult, FusionAnalysisResultTypedDict from .fusionanalysisresult import FusionAnalysisResult, FusionAnalysisResultTypedDict
from .fusionsource import FusionSource, FusionSourceTypedDict
from .toolcallstatus import ToolCallStatus from .toolcallstatus import ToolCallStatus
from openrouter.types import BaseModel from openrouter.types import BaseModel
from openrouter.utils import validate_open_enum from openrouter.utils import validate_open_enum
@@ -60,6 +61,8 @@ class OutputFusionServerToolItemTypedDict(TypedDict):
id: NotRequired[str] id: NotRequired[str]
responses: NotRequired[List[ResponseTypedDict]] responses: NotRequired[List[ResponseTypedDict]]
r"""Analysis models that produced a response in this fusion run, with each model's full panel content.""" r"""Analysis models that produced a response in this fusion run, with each model's full panel content."""
sources: NotRequired[List[FusionSourceTypedDict]]
r"""Web pages the analysis panels and judge retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source."""
class OutputFusionServerToolItem(BaseModel): class OutputFusionServerToolItem(BaseModel):
@@ -85,3 +88,6 @@ class OutputFusionServerToolItem(BaseModel):
responses: Optional[List[Response]] = None responses: Optional[List[Response]] = None
r"""Analysis models that produced a response in this fusion run, with each model's full panel content.""" r"""Analysis models that produced a response in this fusion run, with each model's full panel content."""
sources: Optional[List[FusionSource]] = None
r"""Web pages the analysis panels and judge retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source."""
+1 -1
View File
@@ -140,9 +140,9 @@ OutputItemsTypedDict = TypeAliasType(
OutputWebFetchServerToolItemTypedDict, OutputWebFetchServerToolItemTypedDict,
OutputCodeInterpreterServerToolItemTypedDict, OutputCodeInterpreterServerToolItemTypedDict,
OutputReasoningItemTypedDict, OutputReasoningItemTypedDict,
OutputFusionServerToolItemTypedDict,
OutputAdvisorServerToolItemTypedDict, OutputAdvisorServerToolItemTypedDict,
OutputSubagentServerToolItemTypedDict, OutputSubagentServerToolItemTypedDict,
OutputFusionServerToolItemTypedDict,
], ],
) )
r"""An output item from the response""" r"""An output item from the response"""
@@ -93,6 +93,7 @@ ProviderName = Union[
"Venice", "Venice",
"Wafer", "Wafer",
"WandB", "WandB",
"Quiver",
"Xiaomi", "Xiaomi",
"xAI", "xAI",
"Z.AI", "Z.AI",
@@ -100,6 +100,7 @@ class ProviderOptionsTypedDict(TypedDict):
perplexity: NotRequired[Dict[str, Nullable[Any]]] perplexity: NotRequired[Dict[str, Nullable[Any]]]
phala: NotRequired[Dict[str, Nullable[Any]]] phala: NotRequired[Dict[str, Nullable[Any]]]
poolside: NotRequired[Dict[str, Nullable[Any]]] poolside: NotRequired[Dict[str, Nullable[Any]]]
quiver: NotRequired[Dict[str, Nullable[Any]]]
recraft: NotRequired[Dict[str, Nullable[Any]]] recraft: NotRequired[Dict[str, Nullable[Any]]]
recursal: NotRequired[Dict[str, Nullable[Any]]] recursal: NotRequired[Dict[str, Nullable[Any]]]
reflection: NotRequired[Dict[str, Nullable[Any]]] reflection: NotRequired[Dict[str, Nullable[Any]]]
@@ -352,6 +353,8 @@ class ProviderOptions(BaseModel):
poolside: Optional[Dict[str, Nullable[Any]]] = None poolside: Optional[Dict[str, Nullable[Any]]] = None
quiver: Optional[Dict[str, Nullable[Any]]] = None
recraft: Optional[Dict[str, Nullable[Any]]] = None recraft: Optional[Dict[str, Nullable[Any]]] = None
recursal: Optional[Dict[str, Nullable[Any]]] = None recursal: Optional[Dict[str, Nullable[Any]]] = None
@@ -52,26 +52,34 @@ class MaxPriceTypedDict(TypedDict):
r"""The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.""" r"""The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion."""
audio: NotRequired[str] audio: NotRequired[str]
r"""Maximum price in USD per audio unit"""
completion: NotRequired[str] completion: NotRequired[str]
r"""Maximum price in USD per million completion tokens"""
image: NotRequired[str] image: NotRequired[str]
r"""Maximum price in USD per image"""
prompt: NotRequired[str] prompt: NotRequired[str]
r"""Price per million prompt tokens""" r"""Maximum price in USD per million prompt tokens"""
request: NotRequired[str] request: NotRequired[str]
r"""Maximum price in USD per request"""
class MaxPrice(BaseModel): class MaxPrice(BaseModel):
r"""The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.""" r"""The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion."""
audio: Optional[str] = None audio: Optional[str] = None
r"""Maximum price in USD per audio unit"""
completion: Optional[str] = None completion: Optional[str] = None
r"""Maximum price in USD per million completion tokens"""
image: Optional[str] = None image: Optional[str] = None
r"""Maximum price in USD per image"""
prompt: Optional[str] = None prompt: Optional[str] = None
r"""Price per million prompt tokens""" r"""Maximum price in USD per million prompt tokens"""
request: Optional[str] = None request: Optional[str] = None
r"""Maximum price in USD per request"""
OnlyTypedDict = TypeAliasType("OnlyTypedDict", Union[ProviderName, str]) OnlyTypedDict = TypeAliasType("OnlyTypedDict", Union[ProviderName, str])
@@ -126,6 +126,7 @@ ProviderResponseProviderName = Union[
"Venice", "Venice",
"Wafer", "Wafer",
"WandB", "WandB",
"Quiver",
"Xiaomi", "Xiaomi",
"xAI", "xAI",
"Z.AI", "Z.AI",
@@ -15,49 +15,82 @@ from typing_extensions import Annotated, NotRequired, TypedDict
class PricingTypedDict(TypedDict): class PricingTypedDict(TypedDict):
completion: str completion: str
r"""Price in USD per token for completion (output) generation"""
prompt: str prompt: str
r"""Price in USD per token for prompt (input) processing"""
audio: NotRequired[str] audio: NotRequired[str]
r"""Price in USD per audio input token"""
audio_output: NotRequired[str] audio_output: NotRequired[str]
r"""Price in USD per audio output token"""
discount: NotRequired[float] discount: NotRequired[float]
r"""Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)"""
image: NotRequired[str] image: NotRequired[str]
r"""Price in USD per input image"""
image_output: NotRequired[str] image_output: NotRequired[str]
r"""Price in USD per output image"""
image_token: NotRequired[str] image_token: NotRequired[str]
r"""Price in USD per image token"""
input_audio_cache: NotRequired[str] input_audio_cache: NotRequired[str]
r"""Price in USD per cached audio input token"""
input_cache_read: NotRequired[str] input_cache_read: NotRequired[str]
r"""Price in USD per cached input token (read)"""
input_cache_write: NotRequired[str] input_cache_write: NotRequired[str]
r"""Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate."""
input_cache_write_1h: NotRequired[str]
r"""Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic."""
internal_reasoning: NotRequired[str] internal_reasoning: NotRequired[str]
r"""Price in USD per internal reasoning token"""
request: NotRequired[str] request: NotRequired[str]
r"""Price in USD per request"""
web_search: NotRequired[str] web_search: NotRequired[str]
r"""Price in USD per web search"""
class Pricing(BaseModel): class Pricing(BaseModel):
completion: str completion: str
r"""Price in USD per token for completion (output) generation"""
prompt: str prompt: str
r"""Price in USD per token for prompt (input) processing"""
audio: Optional[str] = None audio: Optional[str] = None
r"""Price in USD per audio input token"""
audio_output: Optional[str] = None audio_output: Optional[str] = None
r"""Price in USD per audio output token"""
discount: Optional[float] = None discount: Optional[float] = None
r"""Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)"""
image: Optional[str] = None image: Optional[str] = None
r"""Price in USD per input image"""
image_output: Optional[str] = None image_output: Optional[str] = None
r"""Price in USD per output image"""
image_token: Optional[str] = None image_token: Optional[str] = None
r"""Price in USD per image token"""
input_audio_cache: Optional[str] = None input_audio_cache: Optional[str] = None
r"""Price in USD per cached audio input token"""
input_cache_read: Optional[str] = None input_cache_read: Optional[str] = None
r"""Price in USD per cached input token (read)"""
input_cache_write: Optional[str] = None input_cache_write: Optional[str] = None
r"""Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate."""
input_cache_write_1h: Optional[str] = None
r"""Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic."""
internal_reasoning: Optional[str] = None internal_reasoning: Optional[str] = None
r"""Price in USD per internal reasoning token"""
request: Optional[str] = None request: Optional[str] = None
r"""Price in USD per request"""
web_search: Optional[str] = None web_search: Optional[str] = None
r"""Price in USD per web search"""
PublicEndpointQuantization = Union[ PublicEndpointQuantization = Union[
@@ -10,48 +10,81 @@ class PublicPricingTypedDict(TypedDict):
r"""Pricing information for the model""" r"""Pricing information for the model"""
completion: str completion: str
r"""Price in USD per token for completion (output) generation"""
prompt: str prompt: str
r"""Price in USD per token for prompt (input) processing"""
audio: NotRequired[str] audio: NotRequired[str]
r"""Price in USD per audio input token"""
audio_output: NotRequired[str] audio_output: NotRequired[str]
r"""Price in USD per audio output token"""
discount: NotRequired[float] discount: NotRequired[float]
r"""Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)"""
image: NotRequired[str] image: NotRequired[str]
r"""Price in USD per input image"""
image_output: NotRequired[str] image_output: NotRequired[str]
r"""Price in USD per output image"""
image_token: NotRequired[str] image_token: NotRequired[str]
r"""Price in USD per image token"""
input_audio_cache: NotRequired[str] input_audio_cache: NotRequired[str]
r"""Price in USD per cached audio input token"""
input_cache_read: NotRequired[str] input_cache_read: NotRequired[str]
r"""Price in USD per cached input token (read)"""
input_cache_write: NotRequired[str] input_cache_write: NotRequired[str]
r"""Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate."""
input_cache_write_1h: NotRequired[str]
r"""Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic."""
internal_reasoning: NotRequired[str] internal_reasoning: NotRequired[str]
r"""Price in USD per internal reasoning token"""
request: NotRequired[str] request: NotRequired[str]
r"""Price in USD per request"""
web_search: NotRequired[str] web_search: NotRequired[str]
r"""Price in USD per web search"""
class PublicPricing(BaseModel): class PublicPricing(BaseModel):
r"""Pricing information for the model""" r"""Pricing information for the model"""
completion: str completion: str
r"""Price in USD per token for completion (output) generation"""
prompt: str prompt: str
r"""Price in USD per token for prompt (input) processing"""
audio: Optional[str] = None audio: Optional[str] = None
r"""Price in USD per audio input token"""
audio_output: Optional[str] = None audio_output: Optional[str] = None
r"""Price in USD per audio output token"""
discount: Optional[float] = None discount: Optional[float] = None
r"""Fractional discount applied to this endpoint's pricing; the price is multiplied by (1 - discount) (0 = no discount, 1 = free)"""
image: Optional[str] = None image: Optional[str] = None
r"""Price in USD per input image"""
image_output: Optional[str] = None image_output: Optional[str] = None
r"""Price in USD per output image"""
image_token: Optional[str] = None image_token: Optional[str] = None
r"""Price in USD per image token"""
input_audio_cache: Optional[str] = None input_audio_cache: Optional[str] = None
r"""Price in USD per cached audio input token"""
input_cache_read: Optional[str] = None input_cache_read: Optional[str] = None
r"""Price in USD per cached input token (read)"""
input_cache_write: Optional[str] = None input_cache_write: Optional[str] = None
r"""Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate."""
input_cache_write_1h: Optional[str] = None
r"""Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic."""
internal_reasoning: Optional[str] = None internal_reasoning: Optional[str] = None
r"""Price in USD per internal reasoning token"""
request: Optional[str] = None request: Optional[str] = None
r"""Price in USD per request"""
web_search: Optional[str] = None web_search: Optional[str] = None
r"""Price in USD per web search"""
@@ -121,6 +121,7 @@ class VideoGenerationRequestOptionsTypedDict(TypedDict):
perplexity: NotRequired[Dict[str, Nullable[Any]]] perplexity: NotRequired[Dict[str, Nullable[Any]]]
phala: NotRequired[Dict[str, Nullable[Any]]] phala: NotRequired[Dict[str, Nullable[Any]]]
poolside: NotRequired[Dict[str, Nullable[Any]]] poolside: NotRequired[Dict[str, Nullable[Any]]]
quiver: NotRequired[Dict[str, Nullable[Any]]]
recraft: NotRequired[Dict[str, Nullable[Any]]] recraft: NotRequired[Dict[str, Nullable[Any]]]
recursal: NotRequired[Dict[str, Nullable[Any]]] recursal: NotRequired[Dict[str, Nullable[Any]]]
reflection: NotRequired[Dict[str, Nullable[Any]]] reflection: NotRequired[Dict[str, Nullable[Any]]]
@@ -373,6 +374,8 @@ class VideoGenerationRequestOptions(BaseModel):
poolside: Optional[Dict[str, Nullable[Any]]] = None poolside: Optional[Dict[str, Nullable[Any]]] = None
quiver: Optional[Dict[str, Nullable[Any]]] = None
recraft: Optional[Dict[str, Nullable[Any]]] = None recraft: Optional[Dict[str, Nullable[Any]]] = None
recursal: Optional[Dict[str, Nullable[Any]]] = None recursal: Optional[Dict[str, Nullable[Any]]] = None
+4 -4
View File
@@ -1275,7 +1275,7 @@ class Guardrails(BaseSDK):
) -> components.UpdateGuardrailResponse: ) -> components.UpdateGuardrailResponse:
r"""Update a guardrail r"""Update a guardrail
Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The unique identifier of the guardrail to update :param id: The unique identifier of the guardrail to update
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
@@ -1476,7 +1476,7 @@ class Guardrails(BaseSDK):
) -> components.UpdateGuardrailResponse: ) -> components.UpdateGuardrailResponse:
r"""Update a guardrail r"""Update a guardrail
Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The unique identifier of the guardrail to update :param id: The unique identifier of the guardrail to update
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
@@ -1982,7 +1982,7 @@ class Guardrails(BaseSDK):
) -> components.BulkAssignKeysResponse: ) -> components.BulkAssignKeysResponse:
r"""Bulk assign keys to a guardrail r"""Bulk assign keys to a guardrail
Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The unique identifier of the guardrail :param id: The unique identifier of the guardrail
:param key_hashes: Array of API key hashes to assign to the guardrail :param key_hashes: Array of API key hashes to assign to the guardrail
@@ -2125,7 +2125,7 @@ class Guardrails(BaseSDK):
) -> components.BulkAssignKeysResponse: ) -> components.BulkAssignKeysResponse:
r"""Bulk assign keys to a guardrail r"""Bulk assign keys to a guardrail
Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The unique identifier of the guardrail :param id: The unique identifier of the guardrail
:param key_hashes: Array of API key hashes to assign to the guardrail :param key_hashes: Array of API key hashes to assign to the guardrail
+6 -6
View File
@@ -72,7 +72,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -140,7 +140,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -207,7 +207,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -483,7 +483,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -551,7 +551,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -618,7 +618,7 @@ class Images(BaseSDK):
:param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. :param input_references: Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs.
:param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. :param n: Number of images to generate (1-10). Providers that only support single-image generation reject n > 1.
:param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. :param output_compression: Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob.
:param output_format: Encoding of the returned image bytes. :param output_format: Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) the SVG markup is UTF-8 base64-encoded in `b64_json`.
:param provider: Provider-specific passthrough configuration :param provider: Provider-specific passthrough configuration
:param quality: Rendering quality. Providers without a quality knob ignore this. :param quality: Rendering quality. Providers without a quality knob ignore this.
:param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. :param resolution: Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider.
@@ -132,6 +132,7 @@ Provider = Union[
"perplexity", "perplexity",
"phala", "phala",
"poolside", "poolside",
"quiver",
"recraft", "recraft",
"reka", "reka",
"relace", "relace",
+4 -4
View File
@@ -726,7 +726,7 @@ class VideoGeneration(BaseSDK):
request_has_path_params=True, request_has_path_params=True,
request_has_query_params=True, request_has_query_params=True,
user_agent_header="user-agent", user_agent_header="user-agent",
accept_header_value="application/octet-stream", accept_header_value="video/mp4",
http_headers=http_headers, http_headers=http_headers,
_globals=operations.ListVideosContentGlobals( _globals=operations.ListVideosContentGlobals(
http_referer=self.sdk_configuration.globals.http_referer, http_referer=self.sdk_configuration.globals.http_referer,
@@ -767,7 +767,7 @@ class VideoGeneration(BaseSDK):
) )
response_data: Any = None response_data: Any = None
if utils.match_response(http_res, "200", "application/octet-stream"): if utils.match_response(http_res, "200", "video/mp4"):
return http_res return http_res
if utils.match_response(http_res, "400", "application/json"): if utils.match_response(http_res, "400", "application/json"):
http_res_text = utils.stream_to_text(http_res) http_res_text = utils.stream_to_text(http_res)
@@ -878,7 +878,7 @@ class VideoGeneration(BaseSDK):
request_has_path_params=True, request_has_path_params=True,
request_has_query_params=True, request_has_query_params=True,
user_agent_header="user-agent", user_agent_header="user-agent",
accept_header_value="application/octet-stream", accept_header_value="video/mp4",
http_headers=http_headers, http_headers=http_headers,
_globals=operations.ListVideosContentGlobals( _globals=operations.ListVideosContentGlobals(
http_referer=self.sdk_configuration.globals.http_referer, http_referer=self.sdk_configuration.globals.http_referer,
@@ -919,7 +919,7 @@ class VideoGeneration(BaseSDK):
) )
response_data: Any = None response_data: Any = None
if utils.match_response(http_res, "200", "application/octet-stream"): if utils.match_response(http_res, "200", "video/mp4"):
return http_res return http_res
if utils.match_response(http_res, "400", "application/json"): if utils.match_response(http_res, "400", "application/json"):
http_res_text = await utils.stream_to_text_async(http_res) http_res_text = await utils.stream_to_text_async(http_res)
+2 -2
View File
@@ -676,7 +676,7 @@ class Workspaces(BaseSDK):
) -> components.DeleteWorkspaceResponse: ) -> components.DeleteWorkspaceResponse:
r"""Delete a workspace r"""Delete a workspace
Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required. Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The workspace ID (UUID) or slug :param id: The workspace ID (UUID) or slug
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
@@ -812,7 +812,7 @@ class Workspaces(BaseSDK):
) -> components.DeleteWorkspaceResponse: ) -> components.DeleteWorkspaceResponse:
r"""Delete a workspace r"""Delete a workspace
Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required. Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
:param id: The workspace ID (UUID) or slug :param id: The workspace ID (UUID) or slug
:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.
Generated
+2 -2
View File
@@ -76,7 +76,7 @@ name = "exceptiongroup"
version = "1.3.0" version = "1.3.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.11'" }, { name = "typing-extensions" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" }
wheels = [ wheels = [
@@ -220,7 +220,7 @@ wheels = [
[[package]] [[package]]
name = "openrouter" name = "openrouter"
version = "0.10.1" version = "0.10.8"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "httpcore" }, { name = "httpcore" },