Anthropic: Claude Sonnet 4
Claude Sonnet 4 to model Anthropic do programowania i rozumowania z tekstem, obrazami i plikami na wejściu. Opublikowany profil obejmuje narzędzia i kontrolki rozumowania, okno kontekstu 200 000 tokenów i do 64 000 tokenów odpowiedzi.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Claude Sonnet 4 to model Anthropic skupiony na zadaniach programowania i rozumowania. Opublikowany profil hostowany przyjmuje tekst, obrazy i pliki, a zwraca tekst. Wymienia kontrolki rozumowania i narzędzi funkcji, z oknem kontekstu 200 000 tokenów i do 64 000 tokenów odpowiedzi.
Kod i dokumenty z wyraźnym rezultatem
Do pracy programistycznej dostarcz odpowiednie źródło, zaobserwowane zachowanie i pożądaną korektę. Zachowaj przypadek awarii i rzeczywiste wyjście błędu, gdy determinują diagnozę. Poproś o konkretną zmianę i kontrole potrzebne do oceny jej skutku.
Do analizy dokumentów oznacz źródła i nazwij kryteria lub pytania do zastosowania. Porównanie może wymagać jednego ustalenia na kryterium; ekstrakcja może definiować zwracane wartości i sposób przedstawiania brakujących informacji. Zachowaj oznaczenia źródeł, aby zwięzła odpowiedź pozostała powiązana ze wspierającym ją materiałem.
Korzystaj celowo z dowodów wizualnych
Wskaż istotny obraz, stronę lub stan interfejsu i szczegół do sprawdzenia. Zrzut ekranu może wspierać pytanie o widoczną treść lub zachowanie; obraz dokumentu może dodać kontekst układu do materiału pisanego. Zachowaj dostęp do odpowiedniego źródła podczas sprawdzania wyodrębnionego brzmienia lub interpretacji.
Rozumowanie i narzędzia aplikacji
Profil wymienia rozumowanie i narzędzia funkcji. Zdefiniuj operacje dostępne otaczającej aplikacji i zachowuj zwrócone obserwacje. Proponowane działanie i jego rzeczywisty wynik pełnią różne role w przepływie; obserwacja dostarcza dowodów dla następnego kroku.
Gdy odpowiedź stanie się danymi, określ pola i ich znaczenie oraz sprawdź rzeczywiście zwrócony rekord względem źródła. Dla rezultatu przeznaczonego do czytania poproś o wniosek i istotne dla niego dowody. Zarezerwuj miejsce na odpowiedź w kontekście roboczym i zachowuj podjęte decyzje do późniejszych tur.
Użyteczny rezultat Sonnet 4 pozostawia analizę lub proponowaną zmianę wraz z referencjami źródłowymi i walidacją, pozwalając następnemu krokowi kontynuować od wyniku możliwego do sprawdzenia.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinkingStart
Claude Sonnet 4 to model Anthropic do programowania i rozumowania z tekstem, obrazami i plikami na wejściu. Opublikowany profil obejmuje narzędzia i kontrolki rozumowania, okno kontekstu 200 000 tokenów i do 64 000 tokenów odpowiedzi.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Tekst
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Wejście
text- Wyjście
text- Format wyjściowy
- json lub SSE
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity claude-sonnet-4-20250514-thinking | Domyślnie— |
Polemessages | Typmessage[] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 | Domyślnie— |
Polemessages[].role | Typstring | WymaganieWymagane | Wartości i limity Zależy od modelu | Domyślnie— |
Polemessages[].content | Typstring | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Rozmowa tekstowa | Domyślnie— |
Polestream | Typboolean | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |
Kombinacje materiałów wejściowych
Tekst · tekst UTF8
messages[].content
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontrakttablica wiadomości o strukturze role/content |
Parametrfile_material | Kontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku |
Parametroptional_controls | Kontraktstream |
Parametrcontrol_scope | KontraktRozmowa tekstowa; stream jest wartością logiczną i domyślnie wynosi false. |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Aliasy metody: /chat/completions
Cykl życia: synchronous_or_streamed
Wyślij dokładne ID modelu wraz z messages.
Długość kontekstu nie jest limitem wyjścia.
Plik tekstowy może dostarczyć dosłowny tekst; wejścia obrazowe/dźwiękowe/obiekty plików wymagają dokładnego powiązania.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.006 / 1K tokenów Wyjście · Tokeny wyjściowe $0.03 / 1K tokenów Wejście · Odczyt cache $0.0006 / 1K tokenów Wejście · Zapis do cache $0.0075 / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"claude-sonnet-4-20250514-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="claude-sonnet-4-20250514-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Odbieranie i zapisywanie wyników
Ailoot Ultra · OpenAI Chat
json lub SSE
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wariant i jego treść/wywołania narzędzi/rozumowanie. W SSE składaj przyrosty według indeksu wariantu/narzędzia, zachowując końcowy powód zakończenia i dane użycia.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra claude-sonnet-4-20250514-thinking
Aliasy ścieżek metod
/chat/completions
Powiązane ID modeli
FAQ · Anthropic: Claude Sonnet 4
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:text→text- Jakich pól używa żądanie?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:model,messages,stream- Jakie limity obowiązują?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:messages.min_items:1