API 레퍼런스
Anthropic Messages
RunAPI의 Anthropic 호환 Messages 작업을 통해 요청을 전송합니다.
01
개요
RunAPI의 Anthropic 호환 Messages 작업을 호환 모델과 해당 프로토콜의 요청 및 응답 형식으로 사용합니다.
빠른 시작
- API 키를 만들고 RUNAPI_API_KEY로 설정합니다.
- 호환되는 모델을 선택한 후 문서화된 경로 매개변수와 JSON 본문을 전송합니다.
- 해당 작업에 대한 JSON 응답 또는 서버 전송 이벤트를 읽고 프로토콜 오류를 처리하세요.
엔드포인트
- Base URL
https://runapi.ai- 계약 버전
v1- 권장 인증 방식
x-api-key: YOUR_API_TOKEN
02
인증 정보 전달 방식
RunAPI는 아래 나열된 각 캐리어를 허용합니다. 생성된 샘플은 프로토콜의 기본 헤더를 사용합니다.
- header
Authorization: Bearer YOUR_API_TOKEN- header - 권장
x-api-key: YOUR_API_TOKEN- header
x-goog-api-key: YOUR_API_TOKEN- query
?key=YOUR_API_TOKEN
03
호환 모델
현재 가격, 속도 제한 및 상업적 이용 세부 정보는 모델 페이지를 여십시오.
호환 모델 58개 표시
- claude-fable-5-1
- claude-fable-5
- claude-sonnet-5
- claude-opus-5
- claude-opus-4-8
- claude-opus-4-7
- claude-opus-4-6
- claude-sonnet-4-6
- claude-opus-4-5-20251101
- claude-sonnet-4-5-20250929
- claude-haiku-4-5-20251001
- claude-opus-4-1-20250805
- gpt-5.5
- gpt-5.5-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- gpt-5.4-pro
- gpt-5.3-codex
- gpt-5.3-codex-spark
- gpt-5.2
- gpt-5.6-luna
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-6-astra
- gemini-3.6-flash
- gemini-3.5-flash
- gemini-3.1-pro-preview
- gemini-3-flash-preview
- gemini-2.5-pro
- gemini-2.5-flash
- deepseek-v4-flash-vision-exp
- deepseek-v4-pro
- deepseek-v4-flash
- glm-5.2
- glm-5.1
- glm-5-turbo
- glm-5
- glm-4.7
- glm-4.6
- glm-4.5
- glm-4.5-air
- kimi-k3
- kimi-k2.7-code
- kimi-k2.6
- kimi-k2.5
- MiniMax-M3
- MiniMax-M2.7
- MiniMax-M2.7-highspeed
- MiniMax-M2.5
- MiniMax-M2.5-highspeed
- MiniMax-M2.1
- MiniMax-M2
- mimo-v2.5-pro
- mimo-v2.5
- grok-4.20-0309-non-reasoning
- grok-4.5
- grok-4.3
04
JSON 본문요청 계약
공개 프로토콜과 RunAPI 지원이 모두 확인된 필드만 나열됩니다. 추가 JSON 본문 필드는 그대로 전달됩니다.
JSON 본문필드 10개
max_tokensinteger
필수
중지 전에 생성할 최대 토큰 수.
messagesarray
필수
Anthropic Messages 형식의 대화 턴.
messages[].content["string", "array"]
필수
messages[].rolestring
필수
modelstring
필수
호환 가능한 모델 카탈로그가 반환하는 RunAPI 모델 식별자.
streamboolean
선택
타입이 지정된 Messages 이벤트를 서버 전송 이벤트로 반환합니다.
기본값:false
system["string", "array"]
선택
대화 메시지와 별도로 제공되는 시스템 지침.
temperaturenumber
선택
샘플링 온도; 모델 지원 여부는 다를 수 있습니다.
toolsarray
선택
모델이 호출할 수 있는 도구.
top_pnumber
선택
핵 샘플링 확률; 모델 지원 여부는 다를 수 있습니다.
요청 예시
JSON
{
"max_tokens": 64,
"messages": [
{
"content": "Summarize one practical improvement for an API deployment.",
"role": "user"
}
],
"model": "claude-sonnet-4-6"
}
05
HTTP 200
동기 응답
스키마
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"
}
예시
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
text/event-stream
SSE 이벤트: message_start
스키마
JSON
{
"additionalProperties": true,
"properties": {
"message": {
"type": "object"
},
"type": {
"const": "message_start",
"type": "string"
}
},
"required": [
"type",
"message"
],
"type": "object"
}
예시
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
text/event-stream
SSE 이벤트: content_block_delta
스키마
JSON
{
"additionalProperties": true,
"properties": {
"delta": {
"type": "object"
},
"index": {
"type": "integer"
},
"type": {
"const": "content_block_delta",
"type": "string"
}
},
"required": [
"type",
"index",
"delta"
],
"type": "object"
}
예시
JSON
{
"delta": {
"text": "Hello",
"type": "text_delta"
},
"index": 0,
"type": "content_block_delta"
}
08
text/event-stream
SSE 이벤트: message_delta
스키마
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"
}
예시
JSON
{
"delta": {
"stop_reason": "end_turn",
"stop_sequence": null
},
"type": "message_delta",
"usage": {
"output_tokens": 8
}
}
09
text/event-stream
SSE 이벤트: message_stop
스키마
JSON
{
"additionalProperties": true,
"properties": {
"type": {
"const": "message_stop",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
예시
JSON
{
"type": "message_stop"
}
10
HTTP 400
프로토콜 오류: invalid_request
스키마
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"
}
예시
JSON
{
"error": {
"message": "max_tokens is required",
"type": "invalid_request_error"
},
"request_id": "req_example",
"type": "error"
}
11
사용량
스키마
JSON
{
"additionalProperties": true,
"properties": {
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
}
},
"required": [
"input_tokens",
"output_tokens"
],
"type": "object"
}
예시
JSON
{
"input_tokens": 12,
"output_tokens": 8
}
12
생성된 코드 샘플
각 cURL, JavaScript, Python 예제는 프로토콜별 SDK 없이도 이 계약에서 검증된 요청을 전송합니다.
설치
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())