Claude Opus 5.5 jest już dostępny w SeedRouter
SeedRouter Docs

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.

View Markdown

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 modeluOkno kontekstuMaks. wyjścieRozumowanieDomyślny poziom effort
claude-fable-5-11M tokenów128K tokenówAdaptacyjne, zawsze włączonehigh

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

FormatMetoda i ścieżkaUwierzytelnianie
Anthropic MessagesPOST https://api.seedrouter.ai/v1/messagesx-api-key: <key> lub Authorization: Bearer <key>, plus anthropic-version
OpenAI Chat CompletionsPOST https://api.seedrouter.ai/v1/chat/completionsAuthorization: Bearer <key>
OpenAI ResponsesPOST https://api.seedrouter.ai/v1/responsesAuthorization: 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

NazwaTypWymaganyDomyślnieUwagi
modelstringTak—claude-fable-5-1.
max_tokensintegerTak—0–128000. Obejmuje tokeny zużyte na rozumowanie. 0 tylko wstępnie ogrzewa cache promptów.
messagesobject[]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.
systemstring or object[]Nie—Instrukcja systemowa.
thinkingobjectNie{"type": "adaptive"}Rozumowanie jest adaptacyjne i zawsze włączone. display: omitted (domyślnie) lub summarized.
output_config.effortenumNiehighlow, medium, high, xhigh, max. Określa, ile model rozumuje.
output_config.formatobjectNie—Schemat JSON do strukturyzowanego wyjścia.
stop_sequencesstring[]Nie—Zatrzymaj, gdy wygenerowany zostanie jeden z tych stringów.
streambooleanNiefalsePrzesyłaj odpowiedź jako zdarzenia wysyłane przez serwer.
temperaturenumberNie—Ze względu na zgodność wsteczną akceptowana jest tylko wartość 1 (domyślna); każda inna wartość zwraca błąd 400. Pomiń.
top_pnumberNie—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_kintegerNie—Nie jest akceptowany: dowolna wartość zwraca błąd 400. Pomiń.
toolsobject[]Nie—Definicje narzędzi.
tool_choiceobjectNie—auto lub none; wymuszanie narzędzia (any lub tool) nie jest obsługiwane przez ten model.
metadata.user_idstringNie—Nieprzezroczyste ID dla użytkownika końcowego, do 512 znaków.
cache_controlobjectNie—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_tokens na 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ą.

Powiązane