Compare commits

..
4 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
14 changed files with 158 additions and 44 deletions
+32 -25
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: 943db43ef788f1fbf09ba21ebc37b36e 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.6 releaseVersion: 0.10.8
configChecksum: 8b6b6b859a7ac5f479ea7692967e2fa5 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: dd88384e-e683-40b7-b651-42a9d80338dc generation_id: 941715a1-02fc-4177-a705-0f0a75de97ec
pristine_commit_hash: 4fac0f3ddfa463658573eff12f65fc97fc7256dc pristine_commit_hash: d3f06b10deb99bed3a70737944b76cb45ba18876
pristine_tree_hash: e21d30ee6d99331108acadd9040cffb37a1eaa9c pristine_tree_hash: 7e30bc063f631c35e1645f8790acc79f301f383f
features: features:
python: python:
acceptHeaders: 3.0.0 acceptHeaders: 3.0.0
@@ -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
@@ -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
@@ -6338,8 +6342,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml: pyproject.toml:
id: 5d07e7d72637 id: 5d07e7d72637
last_write_checksum: sha1:f0d810bbc878221d09f42255265a4860b6172ac0 last_write_checksum: sha1:83883613f4ce5a35940a61255018ae96c5b161a3
pristine_git_object: 9ca17d4ad72d4df47c7353c69a7edf3977cb1052 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,8 +6370,8 @@ 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:a5ac91c143d8f29b45461e1ce1ad4573e64eb436 last_write_checksum: sha1:9191ddd2824cab64aba72a37907c39c13bae5e7b
pristine_git_object: 255f8f94a0bc1085ca60c24c5ecb43d78ee1d1d5 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
@@ -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
@@ -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
@@ -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
@@ -10560,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.tts.create_speech()`: \n * `request.provider.options.quiver` **Added**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options.quiver` **Added**\n* `open_router.byok.list()`: `request.provider` **Changed**\n* `open_router.images.generate()`: \n * `request.provider.options.quiver` **Added**\n* `open_router.video_generation.generate()`: \n * `request.provider.options.quiver` **Added**\n"
+1 -1
View File
@@ -32,7 +32,7 @@ generation:
skipResponseBodyAssertions: false skipResponseBodyAssertions: false
preApplyUnionDiscriminators: true preApplyUnionDiscriminators: true
python: python:
version: 0.10.6 version: 0.10.8
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}
+28 -1
View File
@@ -4270,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)'
@@ -8405,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:
@@ -16295,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:
+25 -1
View File
@@ -4267,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:
@@ -8356,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:
@@ -16212,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:
+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:c71a8e6b169e2ba8a81840f6ebeeb268ee09a440fb16b891f74fe2a9b065b989 sourceRevisionDigest: sha256:ed6981b24a0f8df827afac0f83d7dae4d8f7df331ae6e72664e03800cb7a0244
sourceBlobDigest: sha256:9d925b089f27563fa71967c94b8307007161626a685b84f4c4ab046b78b33f01 sourceBlobDigest: sha256:5961e537bd3160eb3f541232a5e7cb43704fed5e9ce76b342c08f6c52d4fefe9
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1782497972 - 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:c71a8e6b169e2ba8a81840f6ebeeb268ee09a440fb16b891f74fe2a9b065b989 sourceRevisionDigest: sha256:ed6981b24a0f8df827afac0f83d7dae4d8f7df331ae6e72664e03800cb7a0244
sourceBlobDigest: sha256:9d925b089f27563fa71967c94b8307007161626a685b84f4c4ab046b78b33f01 sourceBlobDigest: sha256:5961e537bd3160eb3f541232a5e7cb43704fed5e9ce76b342c08f6c52d4fefe9
codeSamplesNamespace: open-router-python-code-samples codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:ad463b22c9ef7c281c59200fc59405a2d57b37cb07a848f6fad47870777c8ec0 codeSamplesRevisionDigest: sha256:d3f20480ea1c0bcb8d872ae696b7a8b2c16d1469ee95b6df12b03b7004ce1c9c
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: 1.680.0 speakeasyVersion: 1.680.0
+21 -1
View File
@@ -88,4 +88,24 @@ Based on:
### Generated ### Generated
- [python v0.10.6] . - [python v0.10.6] .
### Releases ### Releases
- [PyPI v0.10.6] https://pypi.org/project/openrouter/0.10.6 - . - [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 - .
+1 -1
View File
@@ -1,6 +1,6 @@
[project] [project]
name = "openrouter" name = "openrouter"
version = "0.10.6" 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.6" __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.6 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:
+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",
@@ -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."""
@@ -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"""
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.6" version = "0.10.8"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "httpcore" }, { name = "httpcore" },