Создать изображение
Создаёт изображение на основе текстового запроса через маршрутизатор генерации изображений
OpenAPI
yaml
openapi: 3.1.0
info:
contact:
email: support@openrouter.ai
name: OpenRouter Support
url: https://openrouter.ai/docs
description: OpenAI-compatible API with additional OpenRouter features
license:
name: MIT
url: https://opensource.org/licenses/MIT
title: OpenRouter API
version: 1.0.0
servers:
- description: Production server
url: https://openrouter.ai/api/v1
x-speakeasy-server-id: production
security:
- apiKey: []
tags:
- description: API key management endpoints
name: API Keys
- description: Analytics and usage endpoints
name: Analytics
- description: Anthropic Messages endpoints
name: Anthropic Messages
- description: BYOK endpoints
name: BYOK
- description: Benchmarks endpoints
name: Benchmarks
- description: Chat completion endpoints
name: Chat
- description: Task classification market-share endpoints
name: Classifications
- description: Credit management endpoints
name: Credits
- description: >-
Public OpenRouter usage datasets. Data returned by these endpoints is
licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/):
reuse and republish it, including commercially, with attribution to
OpenRouter.
name: Datasets
- description: Text embedding endpoints
name: Embeddings
- description: Endpoint information
name: Endpoints
- description: Files endpoints
name: Files
- description: Generation history endpoints
name: Generations
- description: Guardrails endpoints
name: Guardrails
- description: Images endpoints
name: Images
- description: Model information endpoints
name: Models
- description: OAuth authentication endpoints
name: OAuth
- description: Observability endpoints
name: Observability
- description: Organization endpoints
name: Organization
- description: Presets endpoints
name: Presets
- description: Provider information endpoints
name: Providers
- description: Rerank endpoints
name: Rerank
- description: OpenAI-compatible Responses API endpoints
name: Responses
- description: SCIM endpoints
name: SCIM
- description: Speech-to-text endpoints
name: STT
x-displayName: Transcriptions
- description: Text-to-speech endpoints
name: TTS
x-displayName: Speech
- description: Video Generation endpoints
name: Video Generation
- description: Workspaces endpoints
name: Workspaces
- description: beta.Analytics endpoints
name: beta.Analytics
externalDocs:
description: OpenRouter Documentation
url: https://openrouter.ai/docs
paths:
/images:
post:
tags:
- Images
summary: Generate an image
description: Generates an image from a text prompt via the image generation router
operationId: createImages
requestBody:
content:
application/json:
example:
model: bytedance-seed/seedream-4.5
prompt: a red panda astronaut floating in space, studio lighting
schema:
$ref: '#/components/schemas/ImageGenerationRequest'
required: true
responses:
'200':
content:
application/json:
example:
created: 1748372400
data:
- b64_json: <base64-encoded-image>
usage:
completion_tokens: 4175
cost: 0.04
prompt_tokens: 0
total_tokens: 4175
schema:
$ref: '#/components/schemas/ImageGenerationResponse'
text/event-stream:
example:
data:
b64_json: <base64-encoded-partial-image>
partial_image_index: 0
type: image_generation.partial_image
schema:
$ref: '#/components/schemas/ImageStreamingResponse'
x-speakeasy-sse-sentinel: '[DONE]'
description: Image generation response
'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
'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
'404':
content:
application/json:
example:
error:
code: 404
message: Resource not found
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found - Resource does not exist
'413':
content:
application/json:
example:
error:
code: 413
message: Request payload too large
schema:
$ref: '#/components/schemas/PayloadTooLargeResponse'
description: Payload Too Large - Request payload exceeds size limits
'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
'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
components:
schemas:
ImageGenerationRequest:
description: Image generation request input
example:
model: bytedance-seed/seedream-4.5
prompt: a red panda astronaut floating in space, studio lighting
properties:
aspect_ratio:
description: >-
Normalized aspect ratio of the generated image. Providers clamp to
their supported subset.
enum:
- '1:1'
- '1:2'
- '1:4'
- '1:8'
- '2:1'
- '2:3'
- '3:2'
- '3:4'
- '4:1'
- '4:3'
- '4:5'
- '5:4'
- '8:1'
- '9:16'
- '16:9'
- '9:19.5'
- 19.5:9
- '9:20'
- '20:9'
- '9:21'
- '21:9'
- auto
example: '16:9'
type: string
background:
description: >-
Background treatment. `transparent` requires an output_format that
supports alpha (png or webp).
enum:
- auto
- transparent
- opaque
example: auto
type: string
input_references:
description: >-
Reference images to guide image-to-image generation, as base64 data
URLs or HTTP(S) URLs.
items:
$ref: '#/components/schemas/ContentPartImage'
maxItems: 16
type: array
model:
description: The image generation model to use
example: bytedance-seed/seedream-4.5
type: string
'n':
description: >-
Upper bound on the number of images to generate (1-10). Providers
may return fewer images, and providers that only support
single-image generation reject n > 1.
example: 1
type: integer
output_compression:
description: >-
Compression level (0-100) for webp/jpeg output. Ignored for png and
by providers without a compression knob.
example: 100
type: integer
output_format:
description: >-
Encoding of the returned image bytes. Most models produce raster
formats (png, jpeg, webp). SVG is supported by vectorization models
(e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in
`b64_json`.
enum:
- png
- jpeg
- webp
- svg
example: png
type: string
prompt:
description: Text description of the desired image
example: a red panda astronaut floating in space, studio lighting
minLength: 1
type: string
provider:
$ref: '#/components/schemas/ImageGenerationProviderPreferences'
quality:
description: Rendering quality. Providers without a quality knob ignore this.
enum:
- auto
- low
- medium
- high
example: high
type: string
resolution:
description: >-
Normalized resolution tier of the generated image. Concrete pixel
dimensions are derived per-provider.
enum:
- '512'
- 1K
- 2K
- 4K
example: 2K
type: string
seed:
description: >-
If specified, the generation will sample deterministically, such
that repeated requests with the same seed and parameters should
return the same result. Determinism is not guaranteed for all
providers.
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. 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:
description: >-
If true, partial images are streamed as SSE events as they become
available. Only supported by providers with native streaming
(currently OpenAI). Non-streaming providers ignore this flag and
return a buffered response.
type: boolean
required:
- model
- prompt
type: object
ImageGenerationResponse:
description: Image generation response
example:
created: 1748372400
data:
- b64_json: <base64-encoded-image>
usage:
completion_tokens: 4175
cost: 0.04
prompt_tokens: 0
total_tokens: 4175
properties:
created:
description: Unix timestamp (seconds) when the image was generated
example: 1748372400
type: integer
data:
description: Generated images
items:
properties:
b64_json:
description: Base64-encoded image bytes
type: string
media_type:
description: >-
Media type (MIME type) of the image, e.g. `image/png`,
`image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if
the format could not be determined.
example: image/png
type: string
required:
- b64_json
type: object
type: array
usage:
$ref: '#/components/schemas/ImageGenerationUsage'
required:
- created
- data
type: object
ImageStreamingResponse:
example:
data:
b64_json: <base64-encoded-partial-image>
partial_image_index: 0
type: image_generation.partial_image
properties:
data:
anyOf:
- $ref: '#/components/schemas/ImageGenPartialImageEvent'
- $ref: '#/components/schemas/ImageGenTextChunkEvent'
- $ref: '#/components/schemas/ImageGenCompletedEvent'
- $ref: '#/components/schemas/ImageGenStreamErrorEvent'
required:
- data
type: object
BadRequestResponse:
description: Bad Request - Invalid request parameters or malformed input
example:
error:
code: 400
message: Invalid request parameters
properties:
error:
$ref: '#/components/schemas/BadRequestResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
UnauthorizedResponse:
description: Unauthorized - Authentication required or invalid credentials
example:
error:
code: 401
message: Missing Authentication header
properties:
error:
$ref: '#/components/schemas/UnauthorizedResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
PaymentRequiredResponse:
description: Payment Required - Insufficient credits or quota to complete request
example:
error:
code: 402
message: Insufficient credits. Add more using https://openrouter.ai/credits
properties:
error:
$ref: '#/components/schemas/PaymentRequiredResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
ForbiddenResponse:
description: Forbidden - Authentication successful but insufficient permissions
example:
error:
code: 403
message: Only management keys can perform this operation
properties:
error:
$ref: '#/components/schemas/ForbiddenResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
NotFoundResponse:
description: Not Found - Resource does not exist
example:
error:
code: 404
message: Resource not found
properties:
error:
$ref: '#/components/schemas/NotFoundResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
PayloadTooLargeResponse:
description: Payload Too Large - Request payload exceeds size limits
example:
error:
code: 413
message: Request payload too large
properties:
error:
$ref: '#/components/schemas/PayloadTooLargeResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
TooManyRequestsResponse:
description: Too Many Requests - Rate limit exceeded
example:
error:
code: 429
message: Rate limit exceeded
properties:
error:
$ref: '#/components/schemas/TooManyRequestsResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
InternalServerResponse:
description: Internal Server Error - Unexpected server error
example:
error:
code: 500
message: Internal Server Error
properties:
error:
$ref: '#/components/schemas/InternalServerResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
BadGatewayResponse:
description: Bad Gateway - Provider/upstream API failure
example:
error:
code: 502
message: Provider returned error
properties:
error:
$ref: '#/components/schemas/BadGatewayResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
EdgeNetworkTimeoutResponse:
description: Infrastructure Timeout - Provider request timed out at edge network
example:
error:
code: 524
message: Request timed out. Please try again later.
properties:
error:
$ref: '#/components/schemas/EdgeNetworkTimeoutResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
ProviderOverloadedResponse:
description: Provider Overloaded - Provider is temporarily overloaded
example:
error:
code: 529
message: Provider returned error
properties:
error:
$ref: '#/components/schemas/ProviderOverloadedResponseErrorData'
openrouter_metadata:
additionalProperties: {}
type:
- object
- 'null'
user_id:
type:
- string
- 'null'
required:
- error
type: object
ContentPartImage:
example:
image_url:
url: https://example.com/image.png
type: image_url
properties:
image_url:
properties:
url:
type: string
required:
- url
type: object
type:
enum:
- image_url
type: string
required:
- type
- image_url
type: object
ImageGenerationProviderPreferences:
description: >-
Provider routing preferences and provider-specific passthrough
configuration.
example:
allow_fallbacks: false
only:
- google-ai-studio
properties:
allow_fallbacks:
description: >
Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom
providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the
upstream error if it's unavailable.
type:
- boolean
- 'null'
ignore:
description: >-
List of provider slugs to ignore. If provided, this list is merged
with your account-wide ignored provider settings for this request.
example:
- openai
- anthropic
items:
anyOf:
- $ref: '#/components/schemas/ProviderName'
- type: string
type:
- array
- 'null'
only:
description: >-
List of provider slugs to allow. If provided, this list is merged
with your account-wide allowed provider settings for this request.
example:
- openai
- anthropic
items:
anyOf:
- $ref: '#/components/schemas/ProviderName'
- type: string
type:
- array
- 'null'
options:
allOf:
- $ref: '#/components/schemas/ProviderOptions'
- example:
black-forest-labs:
guidance: 3
steps: 40
order:
description: >-
An ordered list of provider slugs. The router will attempt to use
the first provider in the subset of this list that supports your
requested model, and fall back to the next if it is unavailable. If
no providers are available, the request will fail with an error
message.
example:
- openai
- anthropic
items:
anyOf:
- $ref: '#/components/schemas/ProviderName'
- type: string
type:
- array
- 'null'
sort:
anyOf:
- $ref: '#/components/schemas/ProviderSort'
- $ref: '#/components/schemas/ProviderSortConfig'
- type: 'null'
description: >-
The sorting strategy to use for this request, if "order" is not
specified. When set, no load balancing is performed.
example: price
type: object
ImageGenerationUsage:
description: Token and cost usage for the image generation request, when available
example:
completion_tokens: 4175
cost: 0.04
prompt_tokens: 0
total_tokens: 4175
properties:
cache_creation:
$ref: '#/components/schemas/AnthropicCacheCreation'
completion_tokens:
description: The tokens generated
type: integer
completion_tokens_details:
properties:
audio_tokens:
description: Tokens generated by the model for audio output.
type:
- integer
- 'null'
image_tokens:
description: Tokens generated by the model for image output.
type:
- integer
- 'null'
reasoning_tokens:
description: Tokens generated by the model for reasoning.
type:
- integer
- 'null'
type:
- object
- 'null'
cost:
description: Cost of the completion
format: double
type:
- number
- 'null'
cost_details:
$ref: '#/components/schemas/CostDetails'
is_byok:
description: Whether a request was made using a Bring Your Own Key configuration
type: boolean
iterations:
items:
$ref: '#/components/schemas/AnthropicUsageIteration'
type:
- array
- 'null'
prompt_tokens:
description: Including images, input audio, and tools if any
type: integer
prompt_tokens_details:
description: Breakdown of tokens used in the prompt.
properties:
audio_tokens:
description: Tokens used for input audio.
type:
- integer
- 'null'
cache_write_tokens:
description: >-
Tokens written to cache. Only returned for models with explicit
caching and cache write pricing.
type:
- integer
- 'null'
cached_tokens:
description: Tokens cached by the endpoint.
type:
- integer
- 'null'
file_tokens:
description: Tokens used for input files/documents.
type:
- integer
- 'null'
video_tokens:
description: Tokens used for input video.
type:
- integer
- 'null'
type:
- object
- 'null'
server_tool_use:
description: Usage for server-side tool execution (e.g., web search)
properties:
tool_calls_executed:
description: >-
Number of OpenRouter server tool calls that executed and
produced a result.
type:
- integer
- 'null'
tool_calls_requested:
description: >-
Total number of OpenRouter server-orchestrated tool calls the
model requested, across all tool types. Provider-native tools
(e.g. native web search) are not counted here.
type:
- integer
- 'null'
web_search_requests:
description: >-
Number of web searches performed by server-side tools. For
server-orchestrated tool calls a web search is also counted in
tool_calls_requested; provider-native web search may report
web_search_requests only. Do not sum the two.
type:
- integer
- 'null'
type:
- object
- 'null'
service_tier:
description: The service tier used by the upstream provider for this request
type:
- string
- 'null'
speed:
$ref: '#/components/schemas/AnthropicSpeed'
total_tokens:
description: Sum of the above two fields
type: integer
required:
- prompt_tokens
- completion_tokens
- total_tokens
type: object
ImageGenPartialImageEvent:
description: >-
Emitted when a partial image becomes available during streaming
generation
example:
b64_json: <base64-encoded-partial-image>
partial_image_index: 0
type: image_generation.partial_image
properties:
b64_json:
description: Base64-encoded partial image data
type: string
partial_image_index:
description: 0-based index indicating which partial image this is in the sequence
type: integer
type:
description: The event type
enum:
- image_generation.partial_image
type: string
required:
- type
- partial_image_index
- b64_json
type: object
ImageGenTextChunkEvent:
description: >-
Emitted when a text chunk becomes available during streaming generation
of text-based formats (e.g. SVG)
example:
phase: content
text: <svg xmlns="http://www.w3.org/2000/svg">
type: image_generation.text_chunk
properties:
phase:
description: >-
The generation phase this chunk belongs to. `content` is the
renderable output; `reasoning` and `draft` are intermediate provider
phases.
enum:
- content
- reasoning
- draft
type: string
text:
description: >-
A text fragment of the image being generated (e.g. partial SVG
markup)
type: string
type:
description: The event type
enum:
- image_generation.text_chunk
type: string
required:
- type
- text
- phase
type: object
ImageGenCompletedEvent:
description: Emitted when generation completes and the final image is available
example:
b64_json: <base64-encoded-final-image>
created: 1748372400
type: image_generation.completed
usage:
completion_tokens: 4175
cost: 0.04
prompt_tokens: 0
total_tokens: 4175
properties:
b64_json:
description: Base64-encoded final image data
type: string
created:
description: Unix timestamp (seconds) when the image was generated
type: integer
media_type:
description: >-
Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`,
`image/webp`, `image/svg+xml`. May be omitted if the format could
not be determined.
example: image/png
type: string
type:
description: The event type
enum:
- image_generation.completed
type: string
usage:
$ref: '#/components/schemas/ImageGenerationUsage'
required:
- type
- b64_json
- created
type: object
ImageGenStreamErrorEvent:
description: Emitted when streaming generation fails after the SSE response starts
example:
error:
code: upstream_error
message: The upstream provider returned an error
param: null
type: provider_error
type: error
properties:
error:
description: Provider error details
properties:
code:
description: Provider error code, when supplied
type:
- string
- 'null'
message:
description: Provider error message
type: string
param:
description: Request parameter associated with the error, when supplied
type:
- string
- 'null'
type:
description: Provider error type, when supplied
type:
- string
- 'null'
required:
- message
type: object
type:
description: The event type
enum:
- error
type: string
required:
- type
- error
type: object
BadRequestResponseErrorData:
description: Error data for BadRequestResponse
example:
code: 400
message: Invalid request parameters
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
UnauthorizedResponseErrorData:
description: Error data for UnauthorizedResponse
example:
code: 401
message: Missing Authentication header
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
PaymentRequiredResponseErrorData:
description: Error data for PaymentRequiredResponse
example:
code: 402
message: Insufficient credits. Add more using https://openrouter.ai/credits
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
ForbiddenResponseErrorData:
description: Error data for ForbiddenResponse
example:
code: 403
message: Only management keys can perform this operation
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
NotFoundResponseErrorData:
description: Error data for NotFoundResponse
example:
code: 404
message: Resource not found
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
PayloadTooLargeResponseErrorData:
description: Error data for PayloadTooLargeResponse
example:
code: 413
message: Request payload too large
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
TooManyRequestsResponseErrorData:
description: Error data for TooManyRequestsResponse
example:
code: 429
message: Rate limit exceeded
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
InternalServerResponseErrorData:
description: Error data for InternalServerResponse
example:
code: 500
message: Internal Server Error
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
BadGatewayResponseErrorData:
description: Error data for BadGatewayResponse
example:
code: 502
message: Provider returned error
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
EdgeNetworkTimeoutResponseErrorData:
description: Error data for EdgeNetworkTimeoutResponse
example:
code: 524
message: Request timed out. Please try again later.
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
ProviderOverloadedResponseErrorData:
description: Error data for ProviderOverloadedResponse
example:
code: 529
message: Provider returned error
properties:
code:
type: integer
message:
type: string
metadata:
additionalProperties: {}
type:
- object
- 'null'
required:
- code
- message
type: object
ProviderName:
enum:
- Modal
- AkashML
- AI21
- AionLabs
- Alibaba
- Ambient
- Baidu
- Amazon Bedrock
- Amazon Nova
- Anthropic
- Arcee AI
- AtlasCloud
- Avian
- Azure
- BaseTen
- BytePlus
- Black Forest Labs
- Cerebras
- Chutes
- Cirrascale
- Claude Platform on AWS
- Clarifai
- Cloudflare
- Cohere
- CoreWeave
- Crucible
- Crusoe
- Darkbloom
- Databricks
- Decart
- Deepgram
- DeepInfra
- DeepSeek
- DekaLLM
- DigitalOcean
- Featherless
- Fireworks
- Fish Audio
- Friendli
- GMICloud
- Google
- Google AI Studio
- Groq
- HeyGen
- Inception
- Inceptron
- InferenceNet
- Ionstream
- Infermatic
- Inflection
- Liquid
- Mara
- Mancer 2
- Meta
- Minimax
- ModelRun
- Mistral
- Modular
- Moonshot AI
- Morph
- VoyageAI by MongoDB
- NCompass
- Nebius
- Nex AGI
- NextBit
- Novita
- Nvidia
- OpenAI
- OpenInference
- Parasail
- Poolside
- Perceptron
- Perplexity
- Phala
- Recraft
- Reka
- Relace
- Sail Research
- Sakana AI
- SambaNova
- Seed
- SiliconFlow
- Sourceful
- StepFun
- Stealth
- StreamLake
- Switchpoint
- Tencent
- Tenstorrent
- Thinking Machines
- Together
- Upstage
- Venice
- Wafer
- WandB
- Quiver
- Krea
- Runway
- Xiaomi
- xAI
- Z.AI
- FakeProvider
example: OpenAI
type: string
ProviderOptions:
description: >-
Provider-specific options keyed by provider slug. Only options for the
matched provider are forwarded; the rest are ignored. Unrecognized keys
are silently dropped.
example:
openai:
max_tokens: 1000
properties:
01ai:
additionalProperties: {}
type: object
ai21:
additionalProperties: {}
type: object
aion-labs:
additionalProperties: {}
type: object
akashml:
additionalProperties: {}
type: object
alibaba:
additionalProperties: {}
type: object
amazon-bedrock:
additionalProperties: {}
type: object
amazon-nova:
additionalProperties: {}
type: object
ambient:
additionalProperties: {}
type: object
anthropic:
additionalProperties: {}
type: object
anyscale:
additionalProperties: {}
type: object
arcee-ai:
additionalProperties: {}
type: object
atlas-cloud:
additionalProperties: {}
type: object
atoma:
additionalProperties: {}
type: object
avian:
additionalProperties: {}
type: object
azure:
additionalProperties: {}
type: object
baidu:
additionalProperties: {}
type: object
baseten:
additionalProperties: {}
type: object
black-forest-labs:
additionalProperties: {}
type: object
byteplus:
additionalProperties: {}
type: object
centml:
additionalProperties: {}
type: object
cerebras:
additionalProperties: {}
type: object
chutes:
additionalProperties: {}
type: object
cirrascale:
additionalProperties: {}
type: object
clarifai:
additionalProperties: {}
type: object
claude-on-aws:
additionalProperties: {}
type: object
cloudflare:
additionalProperties: {}
type: object
cohere:
additionalProperties: {}
type: object
coreweave:
additionalProperties: {}
type: object
crofai:
additionalProperties: {}
type: object
crucible:
additionalProperties: {}
type: object
crusoe:
additionalProperties: {}
type: object
darkbloom:
additionalProperties: {}
type: object
databricks:
additionalProperties: {}
type: object
decart:
additionalProperties: {}
type: object
deepgram:
additionalProperties: {}
type: object
deepinfra:
additionalProperties: {}
type: object
deepseek:
additionalProperties: {}
type: object
dekallm:
additionalProperties: {}
type: object
digitalocean:
additionalProperties: {}
type: object
enfer:
additionalProperties: {}
type: object
fake-provider:
additionalProperties: {}
type: object
featherless:
additionalProperties: {}
type: object
fireworks:
additionalProperties: {}
type: object
fish-audio:
additionalProperties: {}
type: object
friendli:
additionalProperties: {}
type: object
gmicloud:
additionalProperties: {}
type: object
google-ai-studio:
additionalProperties: {}
type: object
google-vertex:
additionalProperties: {}
type: object
gopomelo:
additionalProperties: {}
type: object
groq:
additionalProperties: {}
type: object
heygen:
additionalProperties: {}
type: object
huggingface:
additionalProperties: {}
type: object
hyperbolic:
additionalProperties: {}
type: object
hyperbolic-quantized:
additionalProperties: {}
type: object
inception:
additionalProperties: {}
type: object
inceptron:
additionalProperties: {}
type: object
inferact-vllm:
additionalProperties: {}
type: object
inference-net:
additionalProperties: {}
type: object
infermatic:
additionalProperties: {}
type: object
inflection:
additionalProperties: {}
type: object
inocloud:
additionalProperties: {}
type: object
io-net:
additionalProperties: {}
type: object
ionstream:
additionalProperties: {}
type: object
klusterai:
additionalProperties: {}
type: object
krea:
additionalProperties: {}
type: object
lambda:
additionalProperties: {}
type: object
lepton:
additionalProperties: {}
type: object
liquid:
additionalProperties: {}
type: object
lynn:
additionalProperties: {}
type: object
lynn-private:
additionalProperties: {}
type: object
mancer:
additionalProperties: {}
type: object
mancer-old:
additionalProperties: {}
type: object
mara:
additionalProperties: {}
type: object
meta:
additionalProperties: {}
type: object
minimax:
additionalProperties: {}
type: object
mistral:
additionalProperties: {}
type: object
modal:
additionalProperties: {}
type: object
modelrun:
additionalProperties: {}
type: object
modular:
additionalProperties: {}
type: object
moonshotai:
additionalProperties: {}
type: object
morph:
additionalProperties: {}
type: object
ncompass:
additionalProperties: {}
type: object
nebius:
additionalProperties: {}
type: object
nex-agi:
additionalProperties: {}
type: object
nextbit:
additionalProperties: {}
type: object
nineteen:
additionalProperties: {}
type: object
novita:
additionalProperties: {}
type: object
nvidia:
additionalProperties: {}
type: object
octoai:
additionalProperties: {}
type: object
open-inference:
additionalProperties: {}
type: object
openai:
additionalProperties: {}
type: object
parasail:
additionalProperties: {}
type: object
perceptron:
additionalProperties: {}
type: object
perplexity:
additionalProperties: {}
type: object
phala:
additionalProperties: {}
type: object
poolside:
additionalProperties: {}
type: object
quiver:
additionalProperties: {}
type: object
recraft:
additionalProperties: {}
type: object
recursal:
additionalProperties: {}
type: object
reflection:
additionalProperties: {}
type: object
reka:
additionalProperties: {}
type: object
relace:
additionalProperties: {}
type: object
replicate:
additionalProperties: {}
type: object
runway:
additionalProperties: {}
type: object
sail-research:
additionalProperties: {}
type: object
sakana:
additionalProperties: {}
type: object
sakana-ai:
additionalProperties: {}
type: object
sambanova:
additionalProperties: {}
type: object
sambanova-cloaked:
additionalProperties: {}
type: object
seed:
additionalProperties: {}
type: object
sf-compute:
additionalProperties: {}
type: object
siliconflow:
additionalProperties: {}
type: object
sourceful:
additionalProperties: {}
type: object
stealth:
additionalProperties: {}
type: object
stepfun:
additionalProperties: {}
type: object
streamlake:
additionalProperties: {}
type: object
switchpoint:
additionalProperties: {}
type: object
targon:
additionalProperties: {}
type: object
tencent:
additionalProperties: {}
type: object
tenstorrent:
additionalProperties: {}
type: object
thinkingmachines:
additionalProperties: {}
type: object
together:
additionalProperties: {}
type: object
together-lite:
additionalProperties: {}
type: object
ubicloud:
additionalProperties: {}
type: object
upstage:
additionalProperties: {}
type: object
venice:
additionalProperties: {}
type: object
voyageai:
additionalProperties: {}
type: object
wafer:
additionalProperties: {}
type: object
wandb:
additionalProperties: {}
type: object
wandb-legacy:
additionalProperties: {}
type: object
xai:
additionalProperties: {}
type: object
xiaomi:
additionalProperties: {}
type: object
z-ai:
additionalProperties: {}
type: object
type: object
ProviderSort:
description: The provider sorting strategy (price, throughput, latency)
enum:
- price
- throughput
- latency
- exacto
example: price
type: string
ProviderSortConfig:
description: The provider sorting strategy (price, throughput, latency)
example:
by: price
partition: model
properties:
by:
description: The provider sorting strategy (price, throughput, latency)
enum:
- price
- throughput
- latency
- exacto
- null
example: price
type:
- string
- 'null'
partition:
description: >-
Partitioning strategy for sorting: "model" (default) groups
endpoints by model before sorting (fallback models remain
fallbacks), "none" sorts all endpoints together regardless of model.
enum:
- model
- none
- null
example: model
type:
- string
- 'null'
type: object
AnthropicCacheCreation:
example:
ephemeral_1h_input_tokens: 0
ephemeral_5m_input_tokens: 100
properties:
ephemeral_1h_input_tokens:
type: integer
ephemeral_5m_input_tokens:
type: integer
required:
- ephemeral_5m_input_tokens
- ephemeral_1h_input_tokens
type:
- object
- 'null'
CostDetails:
description: Breakdown of upstream inference costs
example:
upstream_inference_completions_cost: 0.0004
upstream_inference_cost: null
upstream_inference_prompt_cost: 0.0008
properties:
upstream_inference_completions_cost:
format: double
type: number
upstream_inference_cost:
format: double
type:
- number
- 'null'
upstream_inference_prompt_cost:
format: double
type: number
required:
- upstream_inference_prompt_cost
- upstream_inference_completions_cost
type:
- object
- 'null'
AnthropicUsageIteration:
anyOf:
- $ref: '#/components/schemas/AnthropicCompactionUsageIteration'
- $ref: '#/components/schemas/AnthropicMessageUsageIteration'
- $ref: '#/components/schemas/AnthropicAdvisorMessageUsageIteration'
- $ref: '#/components/schemas/AnthropicUnknownUsageIteration'
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 100
output_tokens: 50
type: message
AnthropicSpeed:
enum:
- fast
- standard
- null
example: standard
type:
- string
- 'null'
AnthropicCompactionUsageIteration:
allOf:
- $ref: '#/components/schemas/AnthropicBaseUsageIteration'
- properties:
type:
enum:
- compaction
type: string
required:
- type
type: object
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 50
output_tokens: 25
type: compaction
AnthropicMessageUsageIteration:
allOf:
- $ref: '#/components/schemas/AnthropicBaseUsageIteration'
- properties:
model:
type: string
type:
enum:
- message
type: string
required:
- type
type: object
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 100
output_tokens: 50
type: message
AnthropicAdvisorMessageUsageIteration:
allOf:
- $ref: '#/components/schemas/AnthropicBaseUsageIteration'
- properties:
model:
type: string
type:
enum:
- advisor_message
type: string
required:
- type
- model
type: object
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 823
model: claude-opus-4-6
output_tokens: 1612
type: advisor_message
AnthropicUnknownUsageIteration:
allOf:
- $ref: '#/components/schemas/AnthropicBaseUsageIteration'
- properties:
type:
type: string
required:
- type
type: object
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 100
output_tokens: 50
type: unknown
AnthropicBaseUsageIteration:
example:
cache_creation: null
cache_creation_input_tokens: 0
cache_read_input_tokens: 0
input_tokens: 100
output_tokens: 50
properties:
cache_creation:
$ref: '#/components/schemas/AnthropicIterationCacheCreation'
cache_creation_input_tokens:
type: integer
cache_read_input_tokens:
type: integer
input_tokens:
type: integer
output_tokens:
type: integer
type: object
AnthropicIterationCacheCreation:
default: null
example:
ephemeral_1h_input_tokens: 0
ephemeral_5m_input_tokens: 0
properties:
ephemeral_1h_input_tokens:
type: integer
ephemeral_5m_input_tokens:
type: integer
type:
- object
- 'null'
securitySchemes:
apiKey:
description: API key as bearer token in Authorization header
scheme: bearer
type: http