Vai al contenuto
Riferimento API
Riferimento API

Anthropic Messages

Invia una richiesta tramite l'operazione Messages compatibile con Anthropic di RunAPI.

01

Panoramica

Usa l'operazione Messages compatibile con Anthropic di RunAPI con un modello compatibile e i formati di richiesta e risposta del protocollo.

Avvio rapido

  1. Crea una Chiave API e impostala come RUNAPI_API_KEY.
  2. Scegli un modello compatibile, quindi invia i parametri di percorso e il corpo JSON documentati.
  3. Leggi la risposta JSON o gli eventi inviati dal server mostrati per questa operazione e gestisci gli errori di protocollo.

Endpoint

POST /v1/messages
URL di base
https://runapi.ai
Versione del contratto
v1
Autenticazione preferita
x-api-key: YOUR_API_TOKEN
02

Vettori di autenticazione

RunAPI accetta ciascun protocollo elencato di seguito. I campioni generati utilizzano l'header preferito del protocollo.

header
Authorization: Bearer YOUR_API_TOKEN
header - Preferito
x-api-key: YOUR_API_TOKEN
header
x-goog-api-key: YOUR_API_TOKEN
query
?key=YOUR_API_TOKEN
03

Modelli compatibili

Apri la pagina di un modello per i prezzi correnti, i limiti di frequenza e i dettagli sull'uso commerciale.

Mostra 58 modelli compatibili
04

Contratto della richiesta

Corpo JSON

Sono elencati solo i campi con evidenza di supporto sia del protocollo pubblico che di RunAPI. I campi aggiuntivi del corpo JSON vengono trasmessi senza modifiche.

Corpo JSON10 campi
max_tokensinteger
Obbligatorio

Numero massimo di token da generare prima di fermarsi.

messagesarray
Obbligatorio

Turni di conversazione in formato Anthropic Messages.

messages[].content["string", "array"]
Obbligatorio
messages[].rolestring
Obbligatorio
modelstring
Obbligatorio

Identificatore del modello di RunAPI restituito dal catalogo modelli compatibile.

streamboolean
Opzionale

Restituisce eventi Messages tipizzati come server-sent events.

Predefinito: false
system["string", "array"]
Opzionale

Istruzioni di sistema fornite separatamente dai messaggi conversazionali.

temperaturenumber
Opzionale

Temperatura di campionamento; il supporto varia in base al modello.

toolsarray
Opzionale

Strumenti che il modello può chiamare.

top_pnumber
Opzionale

Probabilità di campionamento nucleus; il supporto del modello può variare.

Esempio di richiesta

JSON
{
  "max_tokens": 64,
  "messages": [
    {
      "content": "Summarize one practical improvement for an API deployment.",
      "role": "user"
    }
  ],
  "model": "claude-sonnet-4-6"
}
05

Risposta sincrona

HTTP 200

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "content": {
      "type": "array"
    },
    "id": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "role": {
      "const": "assistant",
      "type": "string"
    },
    "stop_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "const": "message",
      "type": "string"
    },
    "usage": {
      "additionalProperties": true,
      "properties": {
        "input_tokens": {
          "type": "integer"
        },
        "output_tokens": {
          "type": "integer"
        }
      },
      "required": [
        "input_tokens",
        "output_tokens"
      ],
      "type": "object"
    }
  },
  "required": [
    "id",
    "type",
    "role",
    "content",
    "model",
    "stop_reason",
    "usage"
  ],
  "type": "object"
}

Esempio

JSON
{
  "content": [
    {
      "text": "Hello! How can I help today?",
      "type": "text"
    }
  ],
  "id": "msg_example",
  "model": "claude-sonnet-4-6",
  "role": "assistant",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "type": "message",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 8
  }
}
06

Evento SSE: message_start

text/event-stream

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "message": {
      "type": "object"
    },
    "type": {
      "const": "message_start",
      "type": "string"
    }
  },
  "required": [
    "type",
    "message"
  ],
  "type": "object"
}

Esempio

JSON
{
  "message": {
    "content": [],
    "id": "msg_example",
    "model": "claude-sonnet-4-6",
    "role": "assistant",
    "stop_reason": null,
    "stop_sequence": null,
    "type": "message",
    "usage": {
      "input_tokens": 12,
      "output_tokens": 1
    }
  },
  "type": "message_start"
}
07

Evento SSE: content_block_delta

text/event-stream

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "delta": {
      "type": "object"
    },
    "index": {
      "type": "integer"
    },
    "type": {
      "const": "content_block_delta",
      "type": "string"
    }
  },
  "required": [
    "type",
    "index",
    "delta"
  ],
  "type": "object"
}

Esempio

JSON
{
  "delta": {
    "text": "Hello",
    "type": "text_delta"
  },
  "index": 0,
  "type": "content_block_delta"
}
08

Evento SSE: message_delta

text/event-stream

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "delta": {
      "type": "object"
    },
    "type": {
      "const": "message_delta",
      "type": "string"
    },
    "usage": {
      "additionalProperties": true,
      "properties": {
        "output_tokens": {
          "type": "integer"
        }
      },
      "required": [
        "output_tokens"
      ],
      "type": "object"
    }
  },
  "required": [
    "type",
    "delta",
    "usage"
  ],
  "type": "object"
}

Esempio

JSON
{
  "delta": {
    "stop_reason": "end_turn",
    "stop_sequence": null
  },
  "type": "message_delta",
  "usage": {
    "output_tokens": 8
  }
}
09

Evento SSE: message_stop

text/event-stream

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "type": {
      "const": "message_stop",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}

Esempio

JSON
{
  "type": "message_stop"
}
10

Errore di protocollo: invalid_request

HTTP 400

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "message": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "message"
      ],
      "type": "object"
    },
    "request_id": {
      "type": "string"
    },
    "type": {
      "const": "error",
      "type": "string"
    }
  },
  "required": [
    "type",
    "error"
  ],
  "type": "object"
}

Esempio

JSON
{
  "error": {
    "message": "max_tokens is required",
    "type": "invalid_request_error"
  },
  "request_id": "req_example",
  "type": "error"
}
11

Utilizzo

Schema

JSON
{
  "additionalProperties": true,
  "properties": {
    "input_tokens": {
      "type": "integer"
    },
    "output_tokens": {
      "type": "integer"
    }
  },
  "required": [
    "input_tokens",
    "output_tokens"
  ],
  "type": "object"
}

Esempio

JSON
{
  "input_tokens": 12,
  "output_tokens": 8
}
12

Esempi di Codice Generati

Ogni esempio cURL, JavaScript e Python invia la richiesta validata di questo contratto senza richiedere un SDK specifico per il protocollo.

Installa

Shell
pip install requests
PYTHON
import requests

response = requests.post(
    "https://runapi.ai/v1/messages",
    headers={"x-api-key": "YOUR_API_TOKEN", "Content-Type": "application/json"},
    json={"model": "claude-sonnet-4-6", "max_tokens": 64, "messages": [{"role": "user", "content": "Summarize one practical improvement for an API deployment."}]}
)
response.raise_for_status()
print(response.json())