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
152 changes: 103 additions & 49 deletions .speakeasy/gen.lock

Large diffs are not rendered by default.

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: 0.11.3
version: 0.11.4
additionalDependencies:
dev: {}
main: {}
Expand Down
46 changes: 43 additions & 3 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9434,7 +9434,7 @@ components:
type: integer
size:
description: >-
Optional. A convenience shorthand for output dimensions — pass a tier ("2K", "4K") or explicit pixels ("2048x2048") and we normalize it to the right dimensions for the chosen provider. Interchangeable with resolution + aspect_ratio; use those directly for enumerated, per-model discoverable values. Conflicting size + resolution/aspect_ratio is rejected.
Optional. A convenience shorthand for output dimensions — pass a tier ("2K", "4K") or explicit pixels ("2048x2048") and we normalize it to the right dimensions for the chosen provider. A tier size is equivalent to setting `resolution` and combines with `aspect_ratio`. An explicit pixel size is authoritative: a mismatched `resolution` or `aspect_ratio` alongside it is rejected with a 400.
example: 2K
type: string
stream:
Expand Down Expand Up @@ -17356,6 +17356,7 @@ components:
enabled: true
id: pareto-router
min_coding_score: 0.8
price_source: prompt
properties:
enabled:
description: Set to false to disable the pareto-router plugin for this request. Defaults to true.
Expand All @@ -17366,12 +17367,20 @@ components:
type: string
min_coding_score:
description: >-
Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier.
Minimum coding quality score between 0 and 1. Maps to internal quality tiers: >= 0.66 → high (top coding models), >= 0.33 → medium (strong modern flagships), < 0.33 → low (capable coders above the median). Omit to default to the highest tier (equivalent to >= 0.66).
example: 0.8
format: double
maximum: 1
minimum: 0
type: number
price_source:
description: >-
Price source for the Pareto frontier cost axis. "prompt" uses catalog list price (endpoint.pricing.prompt). "weighted_avg" uses traffic-weighted effective input price from ClickHouse, falling back to prompt price for models without traffic data. Defaults to "prompt".
enum:
- prompt
- weighted_avg
type: string
x-speakeasy-unknown-values: allow
required:
- id
type: object
Expand Down Expand Up @@ -23705,7 +23714,8 @@ paths:
- $ref: "#/components/parameters/AppCategories"
/audio/transcriptions:
post:
description: Transcribes audio into text. Accepts base64-encoded audio input and returns the transcribed text.
description: >-
Transcribes audio into text. Accepts base64-encoded audio input as JSON or an OpenAI-style multipart/form-data file upload, and returns the transcribed text.
operationId: createAudioTranscriptions
requestBody:
content:
Expand All @@ -23718,6 +23728,36 @@ paths:
model: openai/whisper-large-v3
schema:
$ref: '#/components/schemas/STTRequest'
multipart/form-data:
example:
file: audio.wav
language: en
model: openai/whisper-large-v3
schema:
properties:
file:
description: >-
The audio file to transcribe. The format is derived from the filename extension or the file part content type. Max 25 MB; send larger files as base64 JSON via input_audio.
format: binary
type: string
language:
description: The language of the input audio (ISO-639-1).
type: string
model:
description: The model to use for transcription.
type: string
response_format:
description: The response format. Only "json" is supported.
enum:
- json
type: string
temperature:
description: The sampling temperature.
type: number
required:
- file
- model
type: object
required: true
responses:
'200':
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:5381277309ba2f3a4a3e0719b00425be3f93c3103717316e6625bd5caf15b277
sourceBlobDigest: sha256:def8d29511aca594e11c3367b7013a64c8733cc8050e23deae98d9cc5df55c93
sourceRevisionDigest: sha256:d2c2c3e13ad669361c25f68fad9ec7eecb75ce8225fe04163163192c1c7fe1f6
sourceBlobDigest: sha256:22a034c7168faf862dc49ec1eb11cabe3f7b5405fffae3881c02000a4f0ec55b
tags:
- latest
- 1.0.0
targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:5381277309ba2f3a4a3e0719b00425be3f93c3103717316e6625bd5caf15b277
sourceBlobDigest: sha256:def8d29511aca594e11c3367b7013a64c8733cc8050e23deae98d9cc5df55c93
sourceRevisionDigest: sha256:d2c2c3e13ad669361c25f68fad9ec7eecb75ce8225fe04163163192c1c7fe1f6
sourceBlobDigest: sha256:22a034c7168faf862dc49ec1eb11cabe3f7b5405fffae3881c02000a4f0ec55b
codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:18d6fc594c9338480cbc65842c3f276ad0a58f2ceda311aff3d70ea33dbd6e6d
codeSamplesRevisionDigest: sha256:9b19c83c1b20193106f585b755a4d639540a4884675a9336cdf199776093c4bc
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
Expand Down
4 changes: 2 additions & 2 deletions README-PYPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,10 +221,10 @@ with OpenRouter(
api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

res = open_router.files.upload(file={
res = open_router.stt.create_transcription_multipart(file={
"file_name": "example.file",
"content": open("example.file", "rb"),
})
}, model="openai/whisper-large-v3", language="en")

# Handle response
print(res)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,10 +221,10 @@ with OpenRouter(
api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

res = open_router.files.upload(file={
res = open_router.stt.create_transcription_multipart(file={
"file_name": "example.file",
"content": open("example.file", "rb"),
})
}, model="openai/whisper-large-v3", language="en")

# Handle response
print(res)
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,4 +138,14 @@ Based on:
### Generated
- [python v0.11.3] .
### Releases
- [PyPI v0.11.3] https://pypi.org/project/openrouter/0.11.3 - .
- [PyPI v0.11.3] https://pypi.org/project/openrouter/0.11.3 - .

## 2026-07-07 14:30:37
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.11.4] .
### Releases
- [PyPI v0.11.4] https://pypi.org/project/openrouter/0.11.4 - .
Loading
Loading