API Messages
Wywołuj POST /v1/messages w OneProvider w natywnym formacie zapytań Anthropic: prompty systemowe, narzędzia, obrazy i cache promptów działają bez zmian.
Chat completions w natywnym formacie Anthropic. Kształt żądania i odpowiedzi w 100% identyczny; jedyną warstwą normalizacji jest tool_choice.
Wszystkie modele, możliwości i ceny Indeks dokumentacji dla agentów AI:https://oneprovider.dev/docs/llms.txt Żądanie
httpPOST https://api.oneprovider.dev/v1/messages
x-api-key: sk-...
anthropic-version: 2023-06-01
content-type: application/json
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": "You are a concise assistant.",
"messages": [
{"role": "user", "content": "Why is the sky blue?"}
]
} Treść żądania
| Pole | Typ | Wymagane | Uwagi |
|---|---|---|---|
model | string | tak | Jeden z obsługiwanych identyfikatorów modeli (lista dozwolonych modeli Claude na /v1/messages) |
messages | array | tak | pary {role, content} |
max_tokens | int | tak | Twardy limit długości odpowiedzi |
system | string | nie | Prompt systemowy |
temperature | 0.0–1.0 | nie | |
top_p | 0.0–1.0 | nie | |
top_k | int | nie | |
stop_sequences | array | nie | |
stream | bool | nie | Zobacz Streaming |
tools | array | nie | Zobacz Użycie narzędzi |
tool_choice | object | nie | Normalizowane — zobacz stronę o narzędziach |
Cache promptów
Oznacz do czterech punktów cache przez cache_control: {"type": "ephemeral"} w blokach tekstu lub w bloku system. Tokeny z cache są rozliczane po 10% zwykłej stawki za wejście w większości modeli (a odpowiedź zwraca cache_read_input_tokens w usage).
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "Long stable system prompt that should be cached...",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Question 1"}]
} Odpowiedź
json{
"id": "msg_01XYZ...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{"type": "text", "text": "Rayleigh scattering — short wavelengths..."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 48,
"output_tokens": 92,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
} Zgodność z Anthropic Kształt żądania i odpowiedzi jest zgodny bajt w bajt z Anthropic Messages API. Jeśli twój kod wywołuje dziś api.anthropic.com, jedyną wymaganą zmianą jest base_url. Szybkie odpowiedzi
Jakiego base URL użyć?
Claude Code i SDK Anthropic używają https://api.oneprovider.dev. SDK OpenAI i klienty zgodne z OpenAI używają https://api.oneprovider.dev/v1. Jeden klucz działa przy obu; lista modeli jest na stronie modeli , a stawki na stronie cennika .
Jak się uwierzytelnić?
Wyślij surowy klucz sk-… w x-api-key albo Authorization: Bearer: w jednym z nich, nigdy w obu. Trzymaj klucz w zmiennej środowiskowej, a nie w pliku, który trafia do repozytorium. Więcej o uwierzytelnianiu .
Skąd wziąć klucz?
Otwórz swój Panel w bocie Telegram @oneprovider_robot lub na app.oneprovider.dev, doładuj saldo i naciśnij „Utwórz klucz”. Każdy klucz może mieć własny limit wydatków. Panel i klucze API .
Co oznaczają 401, 404 i 429?
401: klucza brakuje, jest błędnie wpisany albo wysłany w złym nagłówku; wklej cały klucz bez cudzysłowów i spacji. 404: zwykle zły base URL, na przykład brakujące lub podwojone /v1. 429 z komunikatem „Insufficient balance”: saldo Panelu lub limit wydatków klucza się wyczerpał, więc doładuj zamiast ponawiać; każde inne 429 to limit zapytań, więc poczekaj zgodnie z Retry-After. Szczegóły: kody błędów i rozwiązywanie problemów .
Dlaczego strumienie się urywają lub resetują?
VPN i proxy VLESS często buforują SSE albo zrywają negocjację HTTP/2. OneProvider nie ma ograniczeń regionalnych i nie buforuje strumieni, więc wyłącz proxy i spróbuj ponownie.
Gdzie pytać, jeśli to nie wystarcza?
Napisz do @Oneproviderhelpbot w Telegramie albo otwórz „Wsparcie” w Panelu w przeglądarce, podając kod statusu HTTP i dokładny komunikat błędu. Jak działa wsparcie .
Ostatnia aktualizacja: 2026-11-08 Widzisz błąd? @Oneproviderhelpbot