chore: update OpenAPI spec from monorepo (#141)

Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
This commit is contained in:
robert-j-y
2026-04-18 20:28:30 -05:00
committed by GitHub
co-authored by OpenRouter SDK Bot
parent 175b135377
commit 9ce403745a
+662
View File
@@ -9761,6 +9761,7 @@ components:
- audio
- video
- rerank
- tts
example: text
type: string
OutputModalityEnum:
@@ -14723,6 +14724,7 @@ paths:
- completions
- embeddings
- rerank
- tts
- video
- null
nullable: true
@@ -16366,6 +16368,15 @@ paths:
minimum: 0
nullable: true
type: integer
- description: Filter API keys by workspace ID. By default, keys in the default workspace are returned.
in: query
name: workspace_id
required: false
schema:
description: Filter API keys by workspace ID. By default, keys in the default workspace are returned.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
format: uuid
type: string
responses:
'200':
content:
@@ -16392,6 +16403,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
schema:
example:
data:
@@ -16415,6 +16427,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
data:
description: List of API keys
@@ -16440,6 +16453,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
byok_usage:
description: Total external BYOK usage (in USD) for the API key
@@ -16540,6 +16554,10 @@ paths:
example: 25.5
format: double
type: number
workspace_id:
description: The workspace ID this API key belongs to.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
type: string
required:
- hash
- name
@@ -16560,6 +16578,7 @@ paths:
- created_at
- updated_at
- creator_user_id
- workspace_id
type: object
type: array
required:
@@ -16665,6 +16684,11 @@ paths:
example: My New API Key
minLength: 1
type: string
workspace_id:
description: The workspace to create the API key in. Defaults to the default workspace if not provided.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
format: uuid
type: string
required:
- name
type: object
@@ -16695,6 +16719,7 @@ paths:
usage_daily: 0
usage_monthly: 0
usage_weekly: 0
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
key: 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
schema:
example:
@@ -16719,6 +16744,7 @@ paths:
usage_daily: 0
usage_monthly: 0
usage_weekly: 0
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
key: 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
properties:
data:
@@ -16744,6 +16770,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
byok_usage:
description: Total external BYOK usage (in USD) for the API key
@@ -16844,6 +16871,10 @@ paths:
example: 25.5
format: double
type: number
workspace_id:
description: The workspace ID this API key belongs to.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
type: string
required:
- hash
- name
@@ -16864,6 +16895,7 @@ paths:
- created_at
- updated_at
- creator_user_id
- workspace_id
type: object
key:
description: The actual API key string (only shown once)
@@ -16894,6 +16926,16 @@ paths:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized - Authentication required or invalid credentials
'403':
content:
application/json:
example:
error:
code: 403
message: Only management keys can perform this operation
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden - Authentication successful but insufficient permissions
'429':
content:
application/json:
@@ -17032,6 +17074,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
schema:
example:
data:
@@ -17055,6 +17098,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
data:
description: The API key information
@@ -17079,6 +17123,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
byok_usage:
description: Total external BYOK usage (in USD) for the API key
@@ -17179,6 +17224,10 @@ paths:
example: 25.5
format: double
type: number
workspace_id:
description: The workspace ID this API key belongs to.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
type: string
required:
- hash
- name
@@ -17199,6 +17248,7 @@ paths:
- created_at
- updated_at
- creator_user_id
- workspace_id
type: object
required:
- data
@@ -17335,6 +17385,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
schema:
example:
data:
@@ -17358,6 +17409,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
data:
description: The updated API key information
@@ -17382,6 +17434,7 @@ paths:
usage_daily: 25.5
usage_monthly: 25.5
usage_weekly: 25.5
workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11
properties:
byok_usage:
description: Total external BYOK usage (in USD) for the API key
@@ -17482,6 +17535,10 @@ paths:
example: 25.5
format: double
type: number
workspace_id:
description: The workspace ID this API key belongs to.
example: 0df9e665-d932-5740-b2c7-b52af166bc11
type: string
required:
- hash
- name
@@ -17502,6 +17559,7 @@ paths:
- created_at
- updated_at
- creator_user_id
- workspace_id
type: object
required:
- data
@@ -19276,6 +19334,608 @@ paths:
- beta.responses
x-speakeasy-name-override: send
x-speakeasy-stream-request-field: stream
/tts:
post:
description: Synthesizes audio from the input text
operationId: createTts
requestBody:
content:
application/json:
schema:
description: Text-to-speech request input
example:
input: Hello world
model: elevenlabs/eleven-turbo-v2
response_format: pcm
speed: 1
voice: alloy
properties:
input:
description: Text to synthesize
example: Hello world
maxLength: 4096
type: string
model:
description: TTS model identifier
example: elevenlabs/eleven-turbo-v2
type: string
provider:
description: Provider-specific passthrough configuration
properties:
options:
description: >-
Provider-specific options keyed by provider slug. The options for the matched provider are
spread into the upstream request body.
properties:
01ai:
additionalProperties:
nullable: true
type: object
ai21:
additionalProperties:
nullable: true
type: object
aion-labs:
additionalProperties:
nullable: true
type: object
akashml:
additionalProperties:
nullable: true
type: object
alibaba:
additionalProperties:
nullable: true
type: object
amazon-bedrock:
additionalProperties:
nullable: true
type: object
amazon-nova:
additionalProperties:
nullable: true
type: object
ambient:
additionalProperties:
nullable: true
type: object
anthropic:
additionalProperties:
nullable: true
type: object
anyscale:
additionalProperties:
nullable: true
type: object
arcee-ai:
additionalProperties:
nullable: true
type: object
atlas-cloud:
additionalProperties:
nullable: true
type: object
atoma:
additionalProperties:
nullable: true
type: object
avian:
additionalProperties:
nullable: true
type: object
azure:
additionalProperties:
nullable: true
type: object
baidu:
additionalProperties:
nullable: true
type: object
baseten:
additionalProperties:
nullable: true
type: object
black-forest-labs:
additionalProperties:
nullable: true
type: object
byteplus:
additionalProperties:
nullable: true
type: object
centml:
additionalProperties:
nullable: true
type: object
cerebras:
additionalProperties:
nullable: true
type: object
chutes:
additionalProperties:
nullable: true
type: object
cirrascale:
additionalProperties:
nullable: true
type: object
clarifai:
additionalProperties:
nullable: true
type: object
cloudflare:
additionalProperties:
nullable: true
type: object
cohere:
additionalProperties:
nullable: true
type: object
crofai:
additionalProperties:
nullable: true
type: object
crusoe:
additionalProperties:
nullable: true
type: object
deepinfra:
additionalProperties:
nullable: true
type: object
deepseek:
additionalProperties:
nullable: true
type: object
dekallm:
additionalProperties:
nullable: true
type: object
enfer:
additionalProperties:
nullable: true
type: object
fake-provider:
additionalProperties:
nullable: true
type: object
featherless:
additionalProperties:
nullable: true
type: object
fireworks:
additionalProperties:
nullable: true
type: object
friendli:
additionalProperties:
nullable: true
type: object
gmicloud:
additionalProperties:
nullable: true
type: object
google-ai-studio:
additionalProperties:
nullable: true
type: object
google-vertex:
additionalProperties:
nullable: true
type: object
gopomelo:
additionalProperties:
nullable: true
type: object
groq:
additionalProperties:
nullable: true
type: object
huggingface:
additionalProperties:
nullable: true
type: object
hyperbolic:
additionalProperties:
nullable: true
type: object
hyperbolic-quantized:
additionalProperties:
nullable: true
type: object
inception:
additionalProperties:
nullable: true
type: object
inceptron:
additionalProperties:
nullable: true
type: object
inference-net:
additionalProperties:
nullable: true
type: object
infermatic:
additionalProperties:
nullable: true
type: object
inflection:
additionalProperties:
nullable: true
type: object
inocloud:
additionalProperties:
nullable: true
type: object
io-net:
additionalProperties:
nullable: true
type: object
ionstream:
additionalProperties:
nullable: true
type: object
klusterai:
additionalProperties:
nullable: true
type: object
lambda:
additionalProperties:
nullable: true
type: object
lepton:
additionalProperties:
nullable: true
type: object
liquid:
additionalProperties:
nullable: true
type: object
lynn:
additionalProperties:
nullable: true
type: object
lynn-private:
additionalProperties:
nullable: true
type: object
mancer:
additionalProperties:
nullable: true
type: object
mancer-old:
additionalProperties:
nullable: true
type: object
mara:
additionalProperties:
nullable: true
type: object
meta:
additionalProperties:
nullable: true
type: object
minimax:
additionalProperties:
nullable: true
type: object
mistral:
additionalProperties:
nullable: true
type: object
modal:
additionalProperties:
nullable: true
type: object
modelrun:
additionalProperties:
nullable: true
type: object
modular:
additionalProperties:
nullable: true
type: object
moonshotai:
additionalProperties:
nullable: true
type: object
morph:
additionalProperties:
nullable: true
type: object
ncompass:
additionalProperties:
nullable: true
type: object
nebius:
additionalProperties:
nullable: true
type: object
nextbit:
additionalProperties:
nullable: true
type: object
nineteen:
additionalProperties:
nullable: true
type: object
novita:
additionalProperties:
nullable: true
type: object
nvidia:
additionalProperties:
nullable: true
type: object
octoai:
additionalProperties:
nullable: true
type: object
open-inference:
additionalProperties:
nullable: true
type: object
openai:
additionalProperties:
nullable: true
type: object
parasail:
additionalProperties:
nullable: true
type: object
perplexity:
additionalProperties:
nullable: true
type: object
phala:
additionalProperties:
nullable: true
type: object
recraft:
additionalProperties:
nullable: true
type: object
recursal:
additionalProperties:
nullable: true
type: object
reflection:
additionalProperties:
nullable: true
type: object
reka:
additionalProperties:
nullable: true
type: object
relace:
additionalProperties:
nullable: true
type: object
replicate:
additionalProperties:
nullable: true
type: object
sambanova:
additionalProperties:
nullable: true
type: object
sambanova-cloaked:
additionalProperties:
nullable: true
type: object
seed:
additionalProperties:
nullable: true
type: object
sf-compute:
additionalProperties:
nullable: true
type: object
siliconflow:
additionalProperties:
nullable: true
type: object
sourceful:
additionalProperties:
nullable: true
type: object
stealth:
additionalProperties:
nullable: true
type: object
stepfun:
additionalProperties:
nullable: true
type: object
streamlake:
additionalProperties:
nullable: true
type: object
switchpoint:
additionalProperties:
nullable: true
type: object
targon:
additionalProperties:
nullable: true
type: object
together:
additionalProperties:
nullable: true
type: object
together-lite:
additionalProperties:
nullable: true
type: object
ubicloud:
additionalProperties:
nullable: true
type: object
upstage:
additionalProperties:
nullable: true
type: object
venice:
additionalProperties:
nullable: true
type: object
wandb:
additionalProperties:
nullable: true
type: object
xai:
additionalProperties:
nullable: true
type: object
xiaomi:
additionalProperties:
nullable: true
type: object
z-ai:
additionalProperties:
nullable: true
type: object
type: object
type: object
response_format:
default: pcm
description: Audio output format
enum:
- mp3
- pcm
example: pcm
type: string
speed:
description: >-
Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other
providers.
example: 1
format: double
type: number
voice:
description: Voice identifier
example: alloy
type: string
required:
- model
- input
- voice
type: object
required: true
responses:
'200':
content:
application/octet-stream:
schema:
description: Raw audio bytestream. Content-Type varies by requested format (audio/mpeg for mp3, audio/L16 for pcm).
example: <binary audio data>
format: binary
type: string
description: Audio bytes stream
'400':
content:
application/json:
example:
error:
code: 400
message: Invalid request parameters
schema:
$ref: '#/components/schemas/BadRequestResponse'
description: Bad Request - Invalid request parameters or malformed input
'401':
content:
application/json:
example:
error:
code: 401
message: Missing Authentication header
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized - Authentication required or invalid credentials
'402':
content:
application/json:
example:
error:
code: 402
message: Insufficient credits. Add more using https://openrouter.ai/credits
schema:
$ref: '#/components/schemas/PaymentRequiredResponse'
description: Payment Required - Insufficient credits or quota to complete request
'404':
content:
application/json:
example:
error:
code: 404
message: Resource not found
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found - Resource does not exist
'429':
content:
application/json:
example:
error:
code: 429
message: Rate limit exceeded
schema:
$ref: '#/components/schemas/TooManyRequestsResponse'
description: Too Many Requests - Rate limit exceeded
'500':
content:
application/json:
example:
error:
code: 500
message: Internal Server Error
schema:
$ref: '#/components/schemas/InternalServerResponse'
description: Internal Server Error - Unexpected server error
'502':
content:
application/json:
example:
error:
code: 502
message: Provider returned error
schema:
$ref: '#/components/schemas/BadGatewayResponse'
description: Bad Gateway - Provider/upstream API failure
'503':
content:
application/json:
example:
error:
code: 503
message: Service temporarily unavailable
schema:
$ref: '#/components/schemas/ServiceUnavailableResponse'
description: Service Unavailable - Service temporarily unavailable
'524':
content:
application/json:
example:
error:
code: 524
message: Request timed out. Please try again later.
schema:
$ref: '#/components/schemas/EdgeNetworkTimeoutResponse'
description: Infrastructure Timeout - Provider request timed out at edge network
'529':
content:
application/json:
example:
error:
code: 529
message: Provider returned error
schema:
$ref: '#/components/schemas/ProviderOverloadedResponse'
description: Provider Overloaded - Provider is temporarily overloaded
summary: Create speech
tags:
- TTS
x-speakeasy-name-override: createSpeech
/videos:
post:
description: Submits a video generation request and returns a polling URL to check status
@@ -19606,6 +20266,8 @@ tags:
name: Providers
- description: Rerank endpoints
name: Rerank
- description: Text-to-speech endpoints
name: TTS
- description: Video Generation endpoints
name: Video Generation
- description: beta.responses endpoints