← All docs

Endpoints

Create a chat completion

POST/v1/chat/completions

Loading models…

Body

modelstringYes
Model ID (e.g. everyais/gemini-3-5-flash-lite)
messagesarrayYes
Array of 1–1000 messages. role is system / user / assistant / tool / developer (normalized to system). content is a string, null, or an array of multimodal parts (up to 1000). Send images (image_url) as base64 data URLs — Claude, GPT (Bedrock), and Gemini routes reject remote https URLs with 400; only vLLM-based routes (Nebius, community supply) accept https URLs
streambooleanNo
SSE streaming (default false)
stream_optionsobjectNo
With {"include_usage": true}, the final chunk includes usage
temperaturenumberNo
0–2
top_pnumberNo
0–1
stopstring | string[]No
Up to 4
nintegerNo
Only 1 is supported (default 1). 2 or more returns 400
presence_penalty / frequency_penaltynumberNo
-2–2
seedintegerNo
Reproducibility hint
toolsarrayNo
Function tool definitions (up to 512) and the server-side web search {"type":"web_search"} (up to 1 — see the web search guide)
tool_choicestring | objectNo
auto / none / required, or {"type":"function","function":{"name":"..."}}. none also disables web search. Some models (e.g. Claude Opus 5.5, Sonnet 5.5, Fable 5.1) reject forced use (required or a named function) with 400 — check tool_choice in the model's parameter_profile
response_formatobjectNo
{"type":"text"} · {"type":"json_object"} · {"type":"json_schema","json_schema":{...}}
reasoning_effortstringNo
Common low / medium / high / xhigh / max. Extra values such as none / minimal are published per model
parallel_tool_callsbooleanNo
Allow parallel tool calls
logprobs / top_logprobsboolean / integerNo
Check the selected model options. top_logprobs is 0–20
verbositystringNo
low / medium / high. GPT routes only (OpenAI, Mantle, Bedrock); others return 400
prompt_cache_keystringNo
OpenAI prompt-cache routing key (≤1024 characters). GPT routes only
safety_identifierstringNo
Hashed end-user ID for provider abuse detection (≤64 characters). GPT routes only
logit_biasobjectNo
Token ID → -100–100, up to 300 entries. vLLM-based routes only (Nebius, community supply)
userstringNo
End-user identifier
everyaisobjectNo
Gateway options — {"cache":"on"|"off","cache_ttl":"5m"|"1h"} and provider
providerobjectNo
Routing hints: sort (price / latency / throughput) and allow_fallbacks. Selecting providers by name is not supported.
modelsstring[]No
Catalog fallback, max 5. Tried before reservation when the first model is not callable.
extra_bodyobjectNo
Provider-specific extensions — only the anthropic / google / openai / everyais keys are allowed (any other key returns 400). extra_body.provider is rejected. Gemini takes google.top_k and google.media_resolution (low/medium/high, image/video input token resolution)

You may append :nitro (prefer lower latency) or :floor (prefer lower endpoint cost) to a model slug. Billing does not change.

Unknown schema fields (store, service_tier, and similar) return 400. Public allowed_values are not the same as route-native native_allowed_values. An unverified output limit does not block approval, sale, or an explicit value; omission defaults are not a finalized policy. Unimplemented image size/quality and video duration values return 400.

Model options

Check the table above for the values the selected model supports (in the API: capabilities, limits, and parameter_constraints in GET /v1/models). Whether an unsupported value is adjusted or rejected with 400 is described under parameter policy in model selection and access.

Use strict schemas only with structured_outputs: true. Continue tool conversations with the same model and preserve the original tool_calls. Gemini needs tool_calls[].extra_content.google.thought_signature; OpenAI Responses needs extra_content.openai.reasoning_id and reasoning_encrypted_content.

Streaming

With stream: true, data: {...} SSE chunks follow one another and end with data: [DONE]. Enabling stream_options.include_usage appends a final usage chunk.

See the streaming guide for a complete example and completion/error handling.

Contact support