Anthropic: Claude Haiku 4.5
Claude Haiku 4.5 is bedoeld voor interactieve assistenten, gebruikersondersteuning, dagelijkse informatieverwerking en werken aan code. Voor complexe vragen ondersteunt het een afzonderlijke redeneermodus.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Wanneer de respons bij elke stap belangrijk is
Anthropic ontwierp Claude Haiku 4.5 voor gespreksassistenten, klantenservice, samen werken aan code en prototyping. Het model is nuttig in een cyclus waarin iemand een vraag stelt, het resultaat krijgt en meteen de volgende stap verduidelijkt. Volgens Anthropic kenmerkt deze versie zich door een lage antwoordlatentie; de feitelijke tijd hangt af van de opdracht en de toepassing.
Haiku 4.5 is ook ontworpen om grote aantallen afzonderlijke opdrachten te verwerken. In een agentproces kan het een specifieke deeltaak krijgen, waarna het resultaat aan de rest van het systeem wordt doorgegeven. De beschreven toepassingen omvatten programmeren, redeneren en interfacehandelingen. Toolaanroepen en computerbesturing zijn mogelijk wanneer de toepassing het model de passende hulpmiddelen biedt; één tekstverzoek geeft geen toegang tot de werkomgeving.
Een gewoon antwoord en een handmatig redeneerbudget
Voor taken met meerdere logische stappen is extended thinking voorzien: de toepassing schakelt redeneren expliciet in en stelt het budget in met budget_tokens. Als de methode deze instellingen ondersteunt, moet het handmatige budget budget_tokens minimaal 1024 tokens zijn en kleiner dan max_tokens, zodat ruimte overblijft voor het uiteindelijke antwoord. Het stuurt de analyseomvang; max_tokens begrenst de volledige uitvoer. Haiku 4.5 gebruikt specifiek de handmatige modus: adaptief redeneren en sturing van de diepte via effort worden niet ondersteund voor deze versie. Ook redeneren tussen opeenvolgende toolaanroepen wordt niet ondersteund.
Dit verschil is nuttig bij het kiezen van de taak. De gewone modus past bij een direct gesprek; ingeschakeld redeneren geeft het model ruimte om code of een complexe vraag uit te werken. De inhoud van de opdracht blijft bepalen welke informatie moet worden geanalyseerd en hoe het resultaat moet worden gepresenteerd.
Materiaal en de grenzen van de versie
Het model accepteert tekst en afbeeldingen en geeft tekst terug. Het contextvenster is 200 duizend tokens en het maximale antwoord 64 duizend tokens. Een afbeelding dient samen met de vraag als analysemateriaal: het model kan de zichtbare inhoud uitleggen en koppelen aan een tekstuele opdracht. Ondersteuning voor een afbeelding als invoer betekent niet dat het model afbeeldingen maakt of bewerkt.
De gebruikelijke visuele invoerformaten bij de fabrikant zijn JPEG/PNG/GIF/WebP, waarbij van een animatie het eerste frame wordt gebruikt. Bij native analyse is de lange zijde 1568 pixels en zijn er 1568 visuele tokens; grote afbeeldingen worden vóór analyse verkleind. Ondersteuning voor bestanden en parameters hangt af van de methode van de toepassing.
In deze versie beschrijft Anthropic een beknopte, directe gespreksstijl. Het is nuttig vooraf het gewenste detailniveau, resultaatformaat en de taakgrenzen aan te geven. De ingebouwde kennis heeft een betrouwbare grens van februari 2025; informatie over latere gebeurtenissen moet in het taakmateriaal worden meegegeven of worden verkregen via tools die de toepassing beschikbaar stelt. Sommige verzoeken kunnen worden geweigerd.
Als de methode samplinginstellingen biedt, mogen temperature en top_p niet tegelijk worden opgegeven: voor deze versie wordt één van die parameters gekozen.
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-thinkingAan de slag
Claude Haiku 4.5 is bedoeld voor interactieve assistenten, gebruikersondersteuning, dagelijkse informatieverwerking en werken aan code. Voor complexe vragen ondersteunt het een afzonderlijke redeneermodus.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Invoer
text- Uitvoer
text- Uitvoerformaat
- json of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten claude-haiku-4-5-20251001-thinking | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldmessages[].content | Typestring | VereisteOptioneel | Waarden en limieten Geldt wanneer: Tekstgesprek | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Combinaties van invoermaterialen
Tekst · UTF8-tekst
messages[].content
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, messages |
Parametermaterial_types | Contracttext |
Parametermessages | Contractberichtenarray met de structuur role/content |
Parameterfile_material | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
Parameteroptional_controls | Contractstream |
Parametercontrol_scope | ContractTekstgesprek; stream is een booleaanse waarde en is standaard false. |
Parameteroutput_modalities | Contracttext |
Parameterhosted_operations | Contractfalse |
Parametermultimodal_input_binding | Contractnull |
Methodealiasnamen: /chat/completions
Levenscyclus: synchronous_or_streamed
Stuur het exacte model-ID mee met messages.
Contextlengte is geen uitvoerlimiet.
Een tekstbestand kan letterlijke tekst aanleveren; beeld-, audio- en bestandsobjectinvoer vereisen een exacte koppeling.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.002 / 1K tokens Uitvoer · Uitvoertokens $0.01 / 1K tokens Invoer · Cache lezen $0.0002 / 1K tokens Invoer · Cache schrijven $0.0025 / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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"))
Resultaten ophalen en opslaan
Ailoot Ultra · OpenAI Chat
json of SSE
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke keuze en de bijbehorende inhoud, toolaanroepen en redeneringen. Voeg in SSE delta’s samen per keuze-/toolindex en bewaar de uiteindelijke reden van beëindiging en de verbruiksgegevens.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldchoices[].index | Typeinteger |
Veldchoices[].message.content | Typestring|null |
Veldchoices[].message.tool_calls | Typetool_call[] |
Veldchoices[].message.reasoning_content | Typestring |
Veldchoices[].message.reasoning_details | Typeobject|array |
Veldchoices[].finish_reason | Typestring|null |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra claude-haiku-4-5-20251001-thinking
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · Anthropic: Claude Haiku 4.5
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:text→text- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:model,messages,stream- Welke limieten gelden?
POST /v1/chat/completions·claude-haiku-4-5-20251001-thinking:messages.min_items:1