Aller au contenu
Référence API
Référence API

Anthropic Messages

Envoyer une requête via l'opération Messages compatible Anthropic de RunAPI.

01

Vue d'ensemble

Utiliser l'opération Messages compatible Anthropic de RunAPI avec un modèle compatible ainsi que les formes de requête et de réponse du protocole.

Démarrage rapide

  1. Créez une clé API et définissez-la comme RUNAPI_API_KEY.
  2. Choisissez un modèle compatible, puis envoyez les paramètres de chemin et le corps JSON documentés.
  3. Lisez la réponse JSON ou les événements envoyés par le serveur affichés pour cette opération, et gérez les erreurs de protocole.

Point de terminaison

POST /v1/messages
URL de base
https://runapi.ai
Version du contrat
v1
Authentification recommandée
x-api-key: YOUR_API_TOKEN
02

Supports d'authentification

RunAPI accepte chaque protocole listé ci-dessous. Les exemples générés utilisent l'en-tête préféré du protocole.

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

Modèles compatibles

Ouvrez une page de modèle pour consulter la tarification actuelle, les limites de débit et les conditions d'utilisation commerciale.

Afficher 58 modèles compatibles
04

Contrat de requête

Corps JSON

Seuls les champs disposant à la fois d'un protocole public et d'une prise en charge RunAPI avérée sont listés. Les champs supplémentaires du corps JSON sont transmis tels quels.

Corps JSON10 champs
max_tokensinteger
Requis

Nombre maximum de tokens à générer avant l'arrêt.

messagesarray
Requis

Tours de conversation au format Anthropic Messages.

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

Identifiant de modèle RunAPI retourné par le catalogue de modèles compatible.

streamboolean
Optionnel

Retourner des événements Messages typés sous forme d'événements server-sent.

Par défaut: false
system["string", "array"]
Optionnel

Instructions système fournies séparément des messages de conversation.

temperaturenumber
Optionnel

Température d'échantillonnage ; la prise en charge par le modèle peut varier.

toolsarray
Optionnel

Outils que le modèle peut appeler.

top_pnumber
Optionnel

Probabilité d'échantillonnage par noyau ; la prise en charge peut varier selon le modèle.

Exemple de requête

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

Réponse synchrone

HTTP 200

Schéma

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"
}

Exemple

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

Événement SSE : message_start

text/event-stream

Schéma

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

Exemple

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

Événement SSE : content_block_delta

text/event-stream

Schéma

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

Exemple

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

Événement SSE : message_delta

text/event-stream

Schéma

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"
}

Exemple

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

Événement SSE : message_stop

text/event-stream

Schéma

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

Exemple

JSON
{
  "type": "message_stop"
}
10

Erreur de protocole : invalid_request

HTTP 400

Schéma

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"
}

Exemple

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

Utilisation

Schéma

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

Exemple

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

Exemples de code générés

Chaque exemple cURL, JavaScript et Python envoie la requête validée depuis ce contrat sans nécessiter de SDK spécifique au protocole.

Installer

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())