Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 37 additions & 24 deletions .speakeasy/gen.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
docChecksum: ca478c9fe977377c5080ec03921023a8
docChecksum: d1b96abffbe70fe9d18a0e68456bf0e3
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
releaseVersion: 1.3.26
configChecksum: f1f6fdb944dd84de88b781a775f1b193
releaseVersion: 1.3.27
configChecksum: 8e1aa111f5eedd150d7163d092dbc596
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
generation_id: 7e99d85c-0497-46d2-8f32-30b6816934f7
pristine_commit_hash: 6559d85090ca32fc4de97e741687929da41137e2
pristine_tree_hash: 3d570f3d755633ea2ee0eb370a1ed7571858d615
generation_id: aea6cfba-febf-4944-8c59-559d33ca5796
pristine_commit_hash: ce959dc03b41e9baed4c595c1d79f62117ec79cd
pristine_tree_hash: 8f75aaeffc4d498b2b0b09bd5f19af073549fd86
features:
python:
acceptHeaders: 3.0.0
Expand Down Expand Up @@ -6778,6 +6778,10 @@ trackedFiles:
id: 77262fe83449
last_write_checksum: sha1:9f290862f832b501a96456226ff1f18431f74c50
pristine_git_object: 5d617cac37f7b364f4dd0640246e97c34351d824
docs/components/speechinput.mdx:
id: 663248d32888
last_write_checksum: sha1:a8126cfb9764e1cd97fd896dedc4f40f7ab441bb
pristine_git_object: 948ee8455aede1f95245b7bfe33d04c293576edd
docs/components/speechinputreference.mdx:
id: eb5af16936c7
last_write_checksum: sha1:ab545b03da2161ae1ad449714b6861cd55ae66df
Expand Down Expand Up @@ -6816,8 +6820,8 @@ trackedFiles:
pristine_git_object: 34f4f07fb3008df83646fa3d88ce04009274246a
docs/components/speechrequest.mdx:
id: 06e81b0433f6
last_write_checksum: sha1:b8cafb4ce14ea3983bd792eeaf95be0dbf4c8c3e
pristine_git_object: 1ffadd62bda287f96c35e4b83a7408f3c0fc117b
last_write_checksum: sha1:ecac6988ab27bf129f774f3982e36744ec613218
pristine_git_object: c538a0061028cbaae17210def2258da7316b07e7
docs/components/speechrequestdatacollection.mdx:
id: 6c5938568888
last_write_checksum: sha1:89a08b4c4de66c1ef7676792a38747e030ed6729
Expand All @@ -6830,6 +6834,10 @@ trackedFiles:
id: bd09f77a4a90
last_write_checksum: sha1:1b87242f33c6d22a08dd085d0ef41335ec2e9b0c
pristine_git_object: 9af8a5aa6a7c26f353f552d369b87debb045b7cd
docs/components/speechturn.mdx:
id: ca90a4443e6e
last_write_checksum: sha1:4a63a0b46eb3051c86e4f5ed20b8d4534d5e7720
pristine_git_object: db37aa4e7bdc88e9216fad12c5b8e197e4d87e42
docs/components/speed.mdx:
id: 4fd1f2823924
last_write_checksum: sha1:c6815d115b55b9409052f9d1d1d16bb1d7197763
Expand Down Expand Up @@ -9948,8 +9956,8 @@ trackedFiles:
pristine_git_object: 1dd30f0b898f2a842d1bb585b03d887be90e7845
docs/sdks/tts/README.mdx:
id: cd1132543884
last_write_checksum: sha1:c79acf8b375dfd535a3f5948da5f65446397c49a
pristine_git_object: 2a3eda6822076c9de566cbe56bbe5cfdc691cf9d
last_write_checksum: sha1:cb9303bf791d8d9784be2815fae45f4b09f82221
pristine_git_object: b96e9d3ee1f40340dcd002a717920f7576b9fe3f
docs/sdks/vault/README.mdx:
id: 3738c6722acd
last_write_checksum: sha1:12acdfed4c2a32488d98b6091fd8c392af516494
Expand All @@ -9968,8 +9976,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
last_write_checksum: sha1:178fb5ebf2d5e2e9357df50216ef837c9c45174b
pristine_git_object: 112fa9a986c4f28337593041fbe9378906ee2670
last_write_checksum: sha1:984fcd4d70ebc92db6939d878585d9fe80107f49
pristine_git_object: 87f61eaba85b92fd2eea6d10bbc228f35dbb386c
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
Expand All @@ -9996,8 +10004,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
last_write_checksum: sha1:6e671a7634a6396b6de4bed0c69bd623b0ebbd90
pristine_git_object: 235db3aed8d14857805c9f976a5bc57a154113b3
last_write_checksum: sha1:8a2efb73d913c481db11b1295cf358c8a81e7e71
pristine_git_object: 550534f0e7ae6c001bba40e7a172e4735106f628
src/openrouter/alpha.py:
id: 306c4d93308d
last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a
Expand Down Expand Up @@ -10044,8 +10052,8 @@ trackedFiles:
pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1
src/openrouter/components/__init__.py:
id: 81754e97b3f4
last_write_checksum: sha1:b4332657c5562071bfc8753410542b6376d6ae61
pristine_git_object: 2e45778d420de470fb82a0280811b373f74a8274
last_write_checksum: sha1:5929f0aad1def97fb47d220701cd8ad626c32cdf
pristine_git_object: 92a29ef91468729ce876f26d46881cdbbf845c0d
src/openrouter/components/aabenchmarkentry.py:
id: e2e0f0b48c82
last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c
Expand Down Expand Up @@ -12902,6 +12910,10 @@ trackedFiles:
id: 6d6e8d7d80ad
last_write_checksum: sha1:d065afdd505a8303f6ba8e268cef42a3e9ea39fb
pristine_git_object: 418953ba7366a6015934bf8795178d79adb03b89
src/openrouter/components/speechinput.py:
id: 14e46bea4b32
last_write_checksum: sha1:4f2acbfbb0b8df5d8d2d3916f9a081a6143fdf45
pristine_git_object: 676f38928a4745ddb215cb8275c401e6fb5ebc25
src/openrouter/components/speechinputreference.py:
id: 8e2b63f83354
last_write_checksum: sha1:b2ebc68fae64644f8bfca9b555ca7d2a7b46c9e1
Expand All @@ -12928,8 +12940,12 @@ trackedFiles:
pristine_git_object: 4633e5d7658c500aa903ce8caa8ef86cc97b78eb
src/openrouter/components/speechrequest.py:
id: 2a9400167112
last_write_checksum: sha1:282f155b9d0b09e015d3dda0a73abe8f42e44dbc
pristine_git_object: 5a62dc470dde417e458ab488dd92c385dcc59459
last_write_checksum: sha1:49cbabd40418cc50b15e7eef19926ce55be23a4e
pristine_git_object: ad116652ee8ead569fb0939c29c6966bb397717e
src/openrouter/components/speechturn.py:
id: 121e0a940f91
last_write_checksum: sha1:31bdba00e027b81de8a3872d48e694475cf02e7a
pristine_git_object: d3e0e4be8c2b3fcc3427657d9c6eb162031b118a
src/openrouter/components/stopservertoolswhencondition.py:
id: 2deeda4209ac
last_write_checksum: sha1:581e0ee62776d42bf598b9f68b998faabfecd3ce
Expand Down Expand Up @@ -14244,8 +14260,8 @@ trackedFiles:
pristine_git_object: 701fa8597ff85f41a60736ade55fcb32f9ec7125
src/openrouter/tts.py:
id: 5055d4b95f1d
last_write_checksum: sha1:e771b211ff92fd56d79f2c6ce05fa43211cfdbd8
pristine_git_object: 6da4bd907cfe243374782b9523bccfad7071976d
last_write_checksum: sha1:9826552c18767897c4dc6c3cd8c2ce41da40a344
pristine_git_object: 5b1bf2a61bfd3d476284465192603aa7d90adfd7
src/openrouter/types/__init__.py:
id: 5eab536205b7
last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9
Expand Down Expand Up @@ -18266,7 +18282,4 @@ examples:
examplesVersion: 1.0.2
releaseNotes: |
## Python SDK Changes:
* `open_router.api_keys.list()`: `response.data[].last_used_at` **Added**
* `open_router.api_keys.create()`: `response.data.last_used_at` **Added**
* `open_router.api_keys.get()`: `response.data.last_used_at` **Added**
* `open_router.api_keys.update()`: `response.data.last_used_at` **Added**
* `open_router.tts.create_speech()`: `request` **Changed** (Breaking ⚠️)
2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
version: 1.3.26
version: 1.3.27
additionalDependencies:
dev: {}
main: {}
Expand Down
35 changes: 32 additions & 3 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28813,6 +28813,15 @@ components:
oneOf:
- $ref: '#/components/schemas/ContainerAutoEnvironment'
- $ref: '#/components/schemas/ContainerReferenceEnvironment'
SpeechInput:
anyOf:
- type: 'string'
- items:
$ref: '#/components/schemas/SpeechTurn'
minItems: 1
type: 'array'
description: 'Text to synthesize, or a list of turns for multi-speaker input. Each turn has its own text, voice, and instructions. Multi-speaker input is currently supported by Gemini TTS models only.'
example: 'Hello world'
SpeechInputReference:
description: 'Reference content part for stateless voice cloning or voice design'
discriminator:
Expand Down Expand Up @@ -28920,9 +28929,7 @@ components:
voice: 'en_paul_neutral'
properties:
input:
description: 'Text to synthesize'
example: 'Hello world'
type: 'string'
$ref: '#/components/schemas/SpeechInput'
input_references:
description: 'Reference content for stateless voice cloning or voice design. Audio mode: one to three `input_audio` parts, each optionally paired with a `text` part carrying its transcript (a single clip accepts its transcript before or after it; with multiple clips each transcript immediately follows its clip); only routed to endpoints that support voice cloning (and multiple references when more than one part is sent). Image mode: exactly one `image_url` part; only routed to endpoints that support image references. The two modes cannot be mixed. An empty array is treated as no reference.'
example:
Expand All @@ -28934,6 +28941,10 @@ components:
items:
$ref: '#/components/schemas/SpeechInputReference'
type: 'array'
instructions:
description: 'Delivery instructions for the whole request, such as tone, pacing, or emotion. Supported by OpenAI gpt-4o-mini-tts and Gemini TTS models. Ignored by other providers.'
example: 'Speak in a warm and friendly tone.'
type: 'string'
model:
description: 'TTS model identifier'
example: 'mistralai/voxtral-mini-tts-2603'
Expand Down Expand Up @@ -28997,6 +29008,24 @@ components:
- 'model'
- 'input'
type: 'object'
SpeechTurn:
properties:
instructions:
description: 'Delivery instructions for this turn, such as tone, pacing, or emotion. Overrides the top-level `instructions`.'
example: 'whispering'
type: 'string'
text:
description: 'Text to synthesize'
example: 'Hi Jane.'
type: 'string'
voice:
description: 'Voice for this turn. Defaults to the top-level `voice`.'
example: 'Kore'
minLength: 1
type: 'string'
required:
- 'text'
type: 'object'
StopServerToolsWhen:
description: 'Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call.'
example:
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:d24d16338614e6343ad2fa1f47f408d2f8c3eba071a3d8a472544748a0aa6620
sourceBlobDigest: sha256:da7dea9cc7d4012055e43f82b5e8dbf0324eda4990d380fc4968ae2e93bc5acd
sourceRevisionDigest: sha256:aa4988cf1340b9b4c45d0f7d34c1d80884016b955e99381c9aea52f38e355aa8
sourceBlobDigest: sha256:4828d7d1d7a9927d3268b7bede7018480aa9c23f2a8231ae6bac8eb6dc9bc811
tags:
- latest
- 1.0.0
targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:d24d16338614e6343ad2fa1f47f408d2f8c3eba071a3d8a472544748a0aa6620
sourceBlobDigest: sha256:da7dea9cc7d4012055e43f82b5e8dbf0324eda4990d380fc4968ae2e93bc5acd
sourceRevisionDigest: sha256:aa4988cf1340b9b4c45d0f7d34c1d80884016b955e99381c9aea52f38e355aa8
sourceBlobDigest: sha256:4828d7d1d7a9927d3268b7bede7018480aa9c23f2a8231ae6bac8eb6dc9bc811
codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:3f73f08c00f988c928fcea61faba174a810f86938b84a2f3db39fb026966729c
codeSamplesRevisionDigest: sha256:0aafecfc542610744e021605d5923576663463046651088762e8cf5b1ab55d95
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3029,4 +3029,14 @@ Based on:
### Generated
- [python v1.3.26] .
### Releases
- [PyPI v1.3.26] https://pypi.org/project/openrouter/1.3.26 - .
- [PyPI v1.3.26] https://pypi.org/project/openrouter/1.3.26 - .

## 2026-10-06 21:16:10
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v1.3.27] .
### Releases
- [PyPI v1.3.27] https://pypi.org/project/openrouter/1.3.27 - .
21 changes: 21 additions & 0 deletions docs/components/speechinput.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: "SpeechInput"
---

Text to synthesize, or a list of turns for multi-speaker input. Each turn has its own text, voice, and instructions. Multi-speaker input is currently supported by Gemini TTS models only.


## Supported Types

### `str`

```python
value: str = /* values here */
```

### `List[components.SpeechTurn]`

```python
value: List[components.SpeechTurn] = /* values here */
```

Loading