From cb23cec150ee40cf745902dafcba0ee857c86c3b Mon Sep 17 00:00:00 2001 From: robert-j-y <212159665+robert-j-y@users.noreply.github.com> Date: Tue, 21 Apr 2026 14:55:33 -0500 Subject: [PATCH] chore: update OpenAPI spec from monorepo (#164) Co-authored-by: OpenRouter SDK Bot --- .speakeasy/in.openapi.yaml | 998 +++++++++++++++++++------------------ 1 file changed, 519 insertions(+), 479 deletions(-) diff --git a/.speakeasy/in.openapi.yaml b/.speakeasy/in.openapi.yaml index 60606e6..786575b 100644 --- a/.speakeasy/in.openapi.yaml +++ b/.speakeasy/in.openapi.yaml @@ -3828,6 +3828,7 @@ components: context-compression: '#/components/schemas/ContextCompressionPlugin' file-parser: '#/components/schemas/FileParserPlugin' moderation: '#/components/schemas/ModerationPlugin' + pareto-router: '#/components/schemas/ParetoRouterPlugin' response-healing: '#/components/schemas/ResponseHealingPlugin' web: '#/components/schemas/WebSearchPlugin' propertyName: id @@ -3838,6 +3839,7 @@ components: - $ref: '#/components/schemas/FileParserPlugin' - $ref: '#/components/schemas/ResponseHealingPlugin' - $ref: '#/components/schemas/ContextCompressionPlugin' + - $ref: '#/components/schemas/ParetoRouterPlugin' type: array presence_penalty: description: Presence penalty (-2.0 to 2.0) @@ -8001,6 +8003,7 @@ components: context-compression: '#/components/schemas/ContextCompressionPlugin' file-parser: '#/components/schemas/FileParserPlugin' moderation: '#/components/schemas/ModerationPlugin' + pareto-router: '#/components/schemas/ParetoRouterPlugin' response-healing: '#/components/schemas/ResponseHealingPlugin' web: '#/components/schemas/WebSearchPlugin' propertyName: id @@ -8011,6 +8014,7 @@ components: - $ref: '#/components/schemas/FileParserPlugin' - $ref: '#/components/schemas/ResponseHealingPlugin' - $ref: '#/components/schemas/ContextCompressionPlugin' + - $ref: '#/components/schemas/ParetoRouterPlugin' type: array provider: $ref: '#/components/schemas/ProviderPreferences' @@ -10555,6 +10559,32 @@ components: - verbosity example: temperature type: string + ParetoRouterPlugin: + example: + enabled: true + id: pareto-router + min_coding_score: 0.8 + properties: + enabled: + description: Set to false to disable the pareto-router plugin for this request. Defaults to true. + type: boolean + id: + enum: + - pareto-router + 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. + example: 0.8 + format: double + maximum: 1 + minimum: 0 + type: number + required: + - id + type: object PayloadTooLargeResponse: description: Payload Too Large - Request payload exceeds size limits example: @@ -12092,6 +12122,7 @@ components: context-compression: '#/components/schemas/ContextCompressionPlugin' file-parser: '#/components/schemas/FileParserPlugin' moderation: '#/components/schemas/ModerationPlugin' + pareto-router: '#/components/schemas/ParetoRouterPlugin' response-healing: '#/components/schemas/ResponseHealingPlugin' web: '#/components/schemas/WebSearchPlugin' propertyName: id @@ -12102,6 +12133,7 @@ components: - $ref: '#/components/schemas/FileParserPlugin' - $ref: '#/components/schemas/ResponseHealingPlugin' - $ref: '#/components/schemas/ContextCompressionPlugin' + - $ref: '#/components/schemas/ParetoRouterPlugin' type: array presence_penalty: format: double @@ -12306,6 +12338,485 @@ components: required: - type type: object + SpeechRequest: + 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 + 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 (provider-specific). + example: alloy + type: string + required: + - model + - input + - voice + type: object StoredPromptTemplate: example: id: prompt-abc123 @@ -14391,490 +14902,19 @@ paths: requestBody: content: application/json: + example: + input: Hello world + model: elevenlabs/eleven-turbo-v2 + response_format: pcm + speed: 1 + voice: alloy 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 - 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 (provider-specific). - example: alloy - type: string - required: - - model - - input - - voice - type: object + $ref: '#/components/schemas/SpeechRequest' required: true responses: '200': content: - application/octet-stream: + audio/*: schema: description: Raw audio bytestream. Content-Type varies by requested format (audio/mpeg for mp3, audio/L16 for pcm). example: