Saltar al contenido
Referencia de API
Referencia de API

Anthropic Messages

Envíe una solicitud a través de la operación Messages compatible con Anthropic de RunAPI.

01

Descripción general

Usa la operación Messages compatible con Anthropic de RunAPI con un modelo compatible y las formas de solicitud y respuesta del protocolo.

Inicio rápido

  1. Cree una Clave de API y establézcala como RUNAPI_API_KEY.
  2. Elija un modelo compatible y envíe los parámetros de ruta y el cuerpo JSON documentados.
  3. Lea la respuesta JSON o los eventos enviados por el servidor que se muestran para esta operación y gestione los errores de protocolo.

Endpoint

POST /v1/messages
URL base
https://runapi.ai
Versión del contrato
v1
Autenticación preferida
x-api-key: YOUR_API_TOKEN
02

Portadores de autenticación

RunAPI acepta cada uno de los carriers indicados a continuación. Los ejemplos generados utilizan el encabezado preferido del protocolo.

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

Modelos compatibles

Abra una página de modelo para conocer los precios actuales, los límites de velocidad y los detalles de uso comercial.

Mostrar 58 modelos compatibles
04

Contrato de solicitud

Cuerpo JSON

Solo se enumeran los campos con evidencia de protocolo público y compatibilidad con RunAPI. Los campos adicionales del cuerpo JSON se transmiten tal cual.

Cuerpo JSON10 campos
max_tokensinteger
Obligatorio

Número máximo de tokens a generar antes de detenerse.

messagesarray
Obligatorio

Turnos de conversación en formato Anthropic Messages.

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

Identificador de modelo de RunAPI devuelto por el catálogo de modelos compatible.

streamboolean
Opcional

Devolver eventos de Messages tipados como eventos enviados por el servidor.

Valor predeterminado: false
system["string", "array"]
Opcional

Instrucciones del sistema proporcionadas de forma independiente a los mensajes de conversación.

temperaturenumber
Opcional

Temperatura de muestreo; la compatibilidad puede variar según el modelo.

toolsarray
Opcional

Herramientas que el modelo puede llamar.

top_pnumber
Opcional

Probabilidad de muestreo de núcleo; la compatibilidad con el modelo puede variar.

Ejemplo de solicitud

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

Respuesta síncrona

HTTP 200

Esquema

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

Ejemplo

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

Esquema

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

Ejemplo

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

Esquema

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

Ejemplo

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

Evento SSE: message_delta

text/event-stream

Esquema

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

Ejemplo

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

Evento SSE: message_stop

text/event-stream

Esquema

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

Ejemplo

JSON
{
  "type": "message_stop"
}
10

Error de protocolo: invalid_request

HTTP 400

Esquema

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

Ejemplo

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

Uso

Esquema

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

Ejemplo

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

Ejemplos de código generados

Cada muestra de cURL, JavaScript y Python envía la solicitud validada de este contrato sin requerir un SDK específico del protocolo.

Instalar

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