Anthropic: Claude Haiku 4.5
Claude Haiku 4.5 służy do interaktywnych asystentów, wsparcia użytkowników, codziennego przetwarzania informacji i pracy nad kodem. Dla złożonych pytań obsługuje osobny tryb rozumowania.
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.
Gdy ważna jest odpowiedź na każdy krok
Anthropic zaprojektował Claude Haiku 4.5 do asystentów konwersacyjnych, obsługi użytkowników, wspólnej pracy nad kodem i prototypowania. Model jest przydatny w cyklu, w którym człowiek zadaje pytanie, otrzymuje wynik i od razu doprecyzowuje następny krok. Według Anthropic tę wersję charakteryzuje małe opóźnienie odpowiedzi; konkretny czas zależy od polecenia i aplikacji.
Haiku 4.5 jest również przeznaczony do przetwarzania dużej liczby odrębnych zadań. W procesie agentowym można mu powierzyć konkretne podzadanie, a następnie przekazać wynik reszcie systemu. Opisane zastosowania obejmują programowanie, rozumowanie i działania w interfejsie. Wywoływanie narzędzi i sterowanie komputerem są możliwe, gdy aplikacja udostępnia modelowi odpowiednie środki; pojedyncze żądanie tekstowe nie daje mu dostępu do środowiska pracy.
Zwykła odpowiedź i ręczny budżet rozumowania
Dla zadań z kilkoma krokami logicznymi przewidziano extended thinking: aplikacja jawnie włącza rozumowanie i określa jego budżet przez budget_tokens. Jeśli metoda obsługuje te ustawienia, ręczny budżet budget_tokens musi wynosić co najmniej 1024 tokeny i być mniejszy od max_tokens, aby pozostało miejsce na odpowiedź końcową. Ukierunkowuje on objętość analizy, a max_tokens ogranicza całe wyjście. Haiku 4.5 używa właśnie trybu ręcznego: dla tej wersji nie są obsługiwane rozumowanie adaptacyjne ani sterowanie głębokością przez effort. Nie jest również obsługiwane rozumowanie między kolejnymi wywołaniami narzędzi.
Warto uwzględnić to rozróżnienie przy wyborze zadania. Zwykły tryb nadaje się do bezpośredniej rozmowy; włączone rozumowanie daje modelowi przestrzeń na opracowanie kodu lub złożonego pytania. Treść polecenia nadal określa, jakie informacje trzeba przeanalizować i w jakiej formie przedstawić wynik.
Materiały i granice wersji
Model przyjmuje tekst i obrazy, a wynik zwraca w postaci tekstu. Okno kontekstu wynosi 200 tys. tokenów, a maksymalna odpowiedź — 64 tys. tokenów. Obraz służy jako materiał do analizy wraz z pytaniem: model może wyjaśniać widoczną treść i wiązać ją z poleceniem tekstowym. Obsługa obrazu na wejściu nie oznacza tworzenia ani edycji obrazów.
Formaty standardowego wejścia wizualnego u producenta to JPEG/PNG/GIF/WebP, z pierwszą klatką animacji. Przy analizie natywnej: dłuższy bok — 1568 pikseli, 1568 tokenów wizualnych; duże obrazy są zmniejszane przed analizą. Obsługa plików i parametrów zależy od metody aplikacji.
W tej wersji Anthropic opisuje zwięzły, bezpośredni styl komunikacji. Warto z góry określić potrzebny poziom szczegółowości, format wyniku i ograniczenia zadania. Wiarygodna granica wbudowanej wiedzy to luty 2025 roku; informacje o późniejszych wydarzeniach trzeba przekazać w materiałach zadania lub uzyskać przez narzędzia dostępne aplikacji. Część żądań może spotkać się z odmową.
Jeśli metoda udostępnia ustawienia próbkowania, nie można jednocześnie ustawiać temperature i top_p: dla tej wersji wybiera się jeden z tych parametrów.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-haiku-4-5-20251001-thinking
claude-haiku-4-5-20251001-thinking
claude-haiku-4-5-20251001-thinkingStart
Claude Haiku 4.5 służy do interaktywnych asystentów, wsparcia użytkowników, codziennego przetwarzania informacji i pracy nad kodem. Dla złożonych pytań obsługuje osobny tryb rozumowania.
- 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-haiku-4-5-20251001-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.002 / 1K tokenów Wyjście · Tokeny wyjściowe $0.01 / 1K tokenów Wejście · Odczyt cache $0.0002 / 1K tokenów Wejście · Zapis do cache $0.0025 / 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-haiku-4-5-20251001-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-haiku-4-5-20251001-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-haiku-4-5-20251001-thinking
Aliasy ścieżek metod
/chat/completions
Powiązane ID modeli
FAQ · Anthropic: Claude Haiku 4.5
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:text→text- Jakich pól używa żądanie?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:model,messages,stream- Jakie limity obowiązują?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:messages.min_items:1