Claude Fable 5.1
Wywołaj Claude Fable 5.1 za pomocą oficjalnego API Messages od Anthropic lub formatów OpenAI Chat Completions i Responses: adaptacyjne rozumowanie, okno kontekstu 1M tokenów i do 128K tokenów na wyjściu.
Claude Fable 5.1 to bieżący model Fable od Anthropic przeznaczony do wymagającego rozumowania i długotrwałych prac agentowych. Wyślij oficjalne żądanie Anthropic Messages do SeedRouter: zmień bazowy adres URL i klucz API, zachowaj treść żądania. Ten sam model obsługuje także formaty OpenAI Chat Completions i Responses.
ID modelu
| ID modelu | Okno kontekstu | Maks. wyjście | Rozumowanie | Domyślny poziom effort |
|---|---|---|---|---|
claude-fable-5-1 | 1M tokenów | 128K tokenów | Adaptacyjne, zawsze włączone | high |
Aktualne ceny znajdziesz na stronie modelu.
Krótki przykład
curl https://api.seedrouter.ai/v1/messages \
-H "x-api-key: $SEEDROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-fable-5-1",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Summarize the trade-offs of event sourcing in three bullet points."}]
}'Punkty końcowe
| Format | Metoda i ścieżka | Uwierzytelnianie |
|---|---|---|
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> lub Authorization: Bearer <key>, plus anthropic-version |
| OpenAI Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| OpenAI Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
Punkt końcowy Messages przekazuje treść żądania bez zmian, w tym pola opcjonalne, i zwraca oficjalną odpowiedź. Nagłówek anthropic-beta również jest przekazywany dalej. Przechowuj klucz API po stronie serwera.
Parametry
| Nazwa | Typ | Wymagany | Domyślnie | Uwagi |
|---|---|---|---|---|
model | string | Tak | — | claude-fable-5-1. |
max_tokens | integer | Tak | — | 0–128000. Obejmuje tokeny zużyte na rozumowanie. 0 tylko wstępnie ogrzewa cache promptów. |
messages | object[] | Tak | — | Naprzemiennie user i assistant tury; content to string lub tablica bloków treści. Ostatnia tura musi być user. Wyjątek: aby kontynuować odpowiedź pause_turn, odeślij jej treść bez zmian jako ostatnią wiadomość assistant. |
system | string or object[] | Nie | — | Instrukcja systemowa. |
thinking | object | Nie | {"type": "adaptive"} | Rozumowanie jest adaptacyjne i zawsze włączone. display: omitted (domyślnie) lub summarized. |
output_config.effort | enum | Nie | high | low, medium, high, xhigh, max. Określa, ile model rozumuje. |
output_config.format | object | Nie | — | Schemat JSON do strukturyzowanego wyjścia. |
stop_sequences | string[] | Nie | — | Zatrzymaj, gdy wygenerowany zostanie jeden z tych stringów. |
stream | boolean | Nie | false | Przesyłaj odpowiedź jako zdarzenia wysyłane przez serwer. |
temperature | number | Nie | — | Ze względu na zgodność wsteczną akceptowana jest tylko wartość 1 (domyślna); każda inna wartość zwraca błąd 400. Pomiń. |
top_p | number | Nie | — | Ze względu na zgodność wsteczną akceptowane są tylko wartości od 0.99 do 1; każda inna wartość zwraca błąd 400. Pomiń. |
top_k | integer | Nie | — | Nie jest akceptowany: dowolna wartość zwraca błąd 400. Pomiń. |
tools | object[] | Nie | — | Definicje narzędzi. |
tool_choice | object | Nie | — | auto lub none; wymuszanie narzędzia (any lub tool) nie jest obsługiwane przez ten model. |
metadata.user_id | string | Nie | — | Nieprzezroczyste ID dla użytkownika końcowego, do 512 znaków. |
cache_control | object | Nie | — | Punkt przerwania cache promptów na poziomie najwyższym. |
container, context_management, mcp_servers, diagnostics, service_tier, inference_geo, speed | — | Nie | — | Przekazywane bez zmian. |
Rozumowanie i poziom effort
Claude Fable 5.1 zawsze używa adaptacyjnego rozumowania: model decyduje, ile rozumować, a output_config.effort to steruje. Wyższy poziom effort zwykle oznacza więcej tokenów wyjściowych, dłuższy czas oczekiwania i wyższy koszt. Gdy thinking.display jest ustawione na summarized, odpowiedź zawiera bloki thinking, które możesz pokazać; przy omitted są one pomijane. Tokeny rozumowania są naliczane jako tokeny wyjściowe.
Media na wejściu
Obrazy i pliki PDF znajdują się w turze użytkownika content jako bloki image i document, ze źródłem url lub, jak w oficjalnym API, ze źródłem base64:
{"role": "user", "content": [
{"type": "image", "source": {"type": "url", "url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}Zastąp przykładowy adres URL plikiem dostępnym publicznie.
Wymiary rozliczeniowe
Aktualne stawki znajdziesz na stronie modelu. Żądanie jest rozliczane na podstawie użytych tokenów:
- tokeny wejściowe,
- tokeny wyjściowe, w tym rozumowanie,
- odczyty cache promptów oraz
- zapisy cache promptów, z oddzielnymi stawkami 5-minutowymi i 1-godzinnymi.
Opłata jest pobierana z usage raportowanego z ukończoną odpowiedzią. Żądanie, które się nie powiedzie, nie jest naliczane. Rekordy użycia konta pokazują dokładną opłatę za każde żądanie.
Wyjście
Żądanie bez streamingu zwraca oficjalny obiekt wiadomości:
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-fable-5-1",
"content": [{"type": "text", "text": "..."}],
"stop_reason": "end_turn",
"usage": {"input_tokens": 18, "output_tokens": 4, "cache_read_input_tokens": 0, "cache_creation_input_tokens": 0}
}Z "stream": true odpowiedź to strumień oficjalnych zdarzeń: message_start, content_block_start, content_block_delta, content_block_stop, message_delta i message_stop. Końcowy message_delta zawiera liczbę tokenów wyjściowych.
Formaty kompatybilne z OpenAI
Ten sam model obsługuje formaty OpenAI, więc istniejący kod OpenAI potrzebuje tylko nowego bazowego adresu URL i ID modelu:
from openai import OpenAI
client = OpenAI(api_key="YOUR_SEEDROUTER_KEY", base_url="https://api.seedrouter.ai/v1")
chat = client.chat.completions.create(
model="claude-fable-5-1",
messages=[{"role": "user", "content": "Hello"}],
)
response = client.responses.create(model="claude-fable-5-1", input="Hello")Te żądania są konwertowane na format Messages, więc pole bez odpowiednika Messages nie ma efektu. Ich odpowiedzi zawierają oficjalne pola OpenAI i mogą zawierać kilka dodatkowych pól użycia; przeczytaj usage.total_tokens i pola oficjalne.
Błędy
Błędy na /v1/messages używają kształtu Anthropic, {"type": "error", "error": {"type": "...", "message": "..."}}; inne formaty używają {"error": {"code": ..., "message": "..."}}. code to kod z wspólnego katalogu błędów. Żądania, które się nie powiodą, nie są naliczane.
Wskazówki
- Zacznij od domyślnego poziomu effort i podnieś go tylko dla zadań wymagających więcej rozumowania; effort wpływa zarówno na jakość, jak i koszt.
- Ustaw
max_tokensna tyle wysoko, aby zmieścić zarówno rozumowanie, jak i odpowiedź: jest to jeden budżet na oba. - Umieść długi, ponownie używany kontekst na początku i oznacz go
cache_control, aby późniejsze żądania przeczytały go z cache'u z niższą stawką.
