Vai al contenuto principale
POST
/
chat
/
completions
curl --request POST \
  --url https://api.orcarouter.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "openai/gpt-4o-mini",
  "messages": [
    {
      "role": "user",
      "content": "Say hi in one word."
    }
  ],
  "max_tokens": 10
}
'
{
  "id": "<string>",
  "created": 123,
  "model": "<string>",
  "choices": [
    {
      "index": 123,
      "message": {
        "content": "<string>",
        "name": "<string>",
        "tool_calls": [
          {
            "id": "<string>",
            "function": {
              "name": "<string>",
              "arguments": "<string>"
            }
          }
        ],
        "tool_call_id": "<string>"
      }
    }
  ],
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 123,
    "total_tokens": 123
  }
}

Autorizzazioni

Authorization
string
header
obbligatorio

Le chiavi API di OrcaRouter hanno la forma sk-orca-.... Passale nell'header Authorization: Bearer sk-orca-....

Corpo

application/json
model
string
obbligatorio

ID del modello. Supporta tre forme:

  • Con prefisso del provider (default): openai/gpt-4o-mini, anthropic/claude-sonnet-4.6, google/gemini-2.5-flash
  • Alias semplice: gpt-4o-mini (quando è disponibile un alias bare-name)
  • Router con nome: orcarouter/{name} (si risolve in un modello al momento della richiesta; orcarouter/auto è preimpostato alla registrazione per ogni account e sceglie il modello chat attivo più economico)
Esempi:

"gpt-4o"

"openai/gpt-4o"

"orcarouter/auto"

messages
object[]
obbligatorio
stream
boolean

Quando true, la risposta viene trasmessa come server-sent events.

stream_options
object

Si applica solo quando stream: true.

tools
object[]
tool_choice
Opzioni disponibili:
auto,
none,
required
parallel_tool_calls
boolean
predefinito:true
response_format
Text (default) · object
temperature
number
Intervallo richiesto: 0 <= x <= 2
top_p
number
Intervallo richiesto: 0 <= x <= 1
max_tokens
integer
Intervallo richiesto: x >= 1
max_completion_tokens
integer

Preferito a max_tokens per i modelli di reasoning.

n
integer
predefinito:1
Intervallo richiesto: x >= 1
stop
seed
integer

Per il campionamento deterministico.

logprobs
boolean
top_logprobs
integer
Intervallo richiesto: 0 <= x <= 20
presence_penalty
number
Intervallo richiesto: -2 <= x <= 2
frequency_penalty
number
Intervallo richiesto: -2 <= x <= 2
logit_bias
object
user
string
reasoning_effort
enum<string>

Per i modelli di reasoning OpenAI (o1, o3*, o4*, gpt-5*-pro, ecc.). Claude di Anthropic usa invece il campo thinking; Gemini usa una configurazione specifica del provider.

Opzioni disponibili:
low,
medium,
high
web_search_options
object

Abilita la ricerca web su una richiesta Chat Completions. L'API Responses usa invece tools: [{"type": "web_search"}]. Onorato dai modelli search-preview di OpenAI, dai modelli OpenAI che accettano il tool moderno web_search e dai modelli Anthropic (tradotto nel server-tool nativo web_search di Anthropic).

Payload grezzo in forma libera inoltrato al tool di ricerca web dell'upstream quando web_search_options non è sufficientemente espressivo. La maggior parte degli utenti dovrebbe preferire web_search_options.

extra_body
object

Estensioni di richiesta specifiche di OrcaRouter. Inseriscile sotto la chiave top-level extra_body della tua richiesta di chat completion.

Risposta

Completion riuscita. Le risposte in streaming usano SSE (text/event-stream).

id
string
object
enum<string>
Opzioni disponibili:
chat.completion
created
integer
model
string
choices
object[]
usage
object