Source: https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/
Canonical: https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/
Language: nl-be

# Anthropic: Claude Haiku 5.5

[Markdown](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/index.md) · [JSON](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/facts.json)

## [Anthropic: Claude Haiku 5.5](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/)

Claude Haiku 5.5 is Anthropic’s kleine model voor classificatie, extractie, samenvattingen, routering en gerichte agenttaken. Het combineert tekst- en beeldbegrip met adaptief redeneren en is ontworpen voor herhaald werk dat een snel antwoord nodig heeft.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/#method-1)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/#method-2)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/#method-3)

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.

Claude Haiku 5.5 is Anthropic’s kleine modeleditie voor taken op grote schaal waarbij lage vertraging belangrijk is. De belangrijkste toepassingen zijn classificatie, routering, informatie-extractie, samenvatten, gesprekken compacter maken en gerichte subagenttaken. Het accepteert tekst en afbeeldingen en maakt tekst. Een nuttige opdracht geeft een afgebakende vraag en een expliciet resultaat: een categorie, een bepaalde verzameling velden, een korte samenvatting of het relevante bewijs voor een ander deel van een grotere taak. Bewaar de bronidentificaties bij het resultaat zodat een applicatie de geëxtraheerde informatie met het oorspronkelijke materiaal kan verbinden.

Anthropic positioneert deze editie voor directe klantenservice, browserbediening en korte programmeerdeeltaken, naast herhaalde analyse. Het kan Claude Sonnet 5.5 of Claude Opus 5.5 aanvullen in een workflow waarin een groter model een ambitieus project behandelt en Haiku een afgebakende opzoeking of samenvatting verzorgt. Geef voor een supporttaak de vraag en het toegestane referentiemateriaal en bepaal daarna de antwoordtoon en wat teruggegeven moet worden. Benoem voor een programmeerdeeltaak de relevante bestanden of fragmenten en de exacte vraag in plaats van een open project zonder voltooiingsvoorwaarde toe te wijzen.

Het gedocumenteerde contextvenster bedraagt één miljoen tokens, met maximaal 128.000 uitvoertokens bij gewone generatie. Redeneertokens tellen mee in de generatieruimte, dus het resultaat heeft ruimte nodig voor zowel redeneren als zichtbare tekst. De betrouwbare kennisgrens is juni 2026; latere informatie vereist aangeleverd bewijs of een zoektool. Anthropic documenteert daarnaast een bèta voor uitsluitend batchverwerking die de uitvoer voor deze editie tot 300.000 tokens kan verhogen. Die grotere ruimte vereist de functie voor uitgebreide uitvoer van de ontwikkelaar en staat los van de gewone limiet. Een asynchrone batch verwerkt aanvragen onafhankelijk en is daardoor nuttig voor verzamelingen documenten of records waarvan de resultaten na verwerking nodig zijn en niet onmiddellijk.

Adaptief redeneren staat standaard aan en effort is de belangrijkste instelling voor de redeneerdiepte. De niveaus zijn low, medium, high, xhigh en max, met medium als standaard. Anthropic beveelt medium aan voor het meeste werk, high voor langduriger taken of strikte instructieopvolging en low voor eenvoudigere, korte aanvragen. Redeneren kan bij low, medium of high worden uitgeschakeld; uitschakelen bij xhigh of max wordt geweigerd. Een prompt die om een direct antwoord vraagt, vervangt die instelling niet. Handmatige budget\_tokens-instellingen uit Haiku 4.5 gelden niet voor deze editie en temperature, top\_p en top\_k moeten in de gedocumenteerde interface worden weggelaten.

Haiku 5.5 gebruikt de nieuwere tokenizer die in eerdere Claude-generaties is geïntroduceerd. Anthropic schat dat dezelfde tekst afhankelijk van de inhoud ongeveer 30% meer tokens kan gebruiken dan bij Haiku 4.5. Het bewaart ook redeneerblokken uit eerdere assistentbeurten, waardoor de gespreksgrootte meer kan toenemen dan alleen door de tokenizerwijziging. De minimale cachebare promptlengte is 512 tokens. Houd eerdere beurten ongewijzigd wanneer je redeneringen behoudt en zet nieuwe instructies in de nieuwste beurt. Het wijzigen van effort op hoofdniveau maakt de berichtencache van het gesprek ongeldig; de ontwikkelaar documenteert een afzonderlijke bèta voor het wijzigen van effort binnen adaptieve gesprekken. Geen van deze mogelijkheden bewijst een cachehit voor een specifieke aanvraag.

Voor informatie ophalen beveelt de prompthandleiding van het model aan de huidige datum bij de zoektool te geven en de oorspronkelijke systeem- en tooldefinities stabiel te houden. Geef een nieuwe datum in de nieuwste beurt wanneer het gesprek op een latere dag doorgaat. Benoem wat gevonden moet worden en bewaar de teruggegeven bronnen voordat je om een conclusie vraagt. Een voorbeeldtaak kan bijvoorbeeld vragen om het gedocumenteerde gedrag van een specifieke softwareversie, gevolgd door een korte uitleg op basis van de opgehaalde passage. De applicatie biedt de zoektool en geeft de werkelijke resultaten terug; de voorgestelde opzoeking van het model bewijst niet dat er daadwerkelijk is gezocht.

Wanneer gestructureerde JSON-uitvoer met tools wordt gecombineerd, documenteert de handleiding een specifieke interactie: met redeneren uitgeschakeld kan Haiku een noodzakelijke toolaanroep overslaan. Anthropic beveelt voor zulke aanvragen adaptief redeneren aan of om de eis voor het uiteindelijke JSON-antwoord van de toolstap te scheiden. Definieer de uitvoervelden en maak duidelijk dat het eindantwoord na de toolresultaten komt. Een data-extractieopdracht kan de verplichte velden en de weergave van ontbrekende waarden benoemen, terwijl een opzoekopdracht eerst om het benodigde bewijs kan vragen om die velden in te vullen. Lees antwoordblokken op hun type, omdat het antwoord niet het eerste blok hoeft te zijn en redeneertekst standaard wordt weggelaten.

Voor langere agentprompts vermeldt Anthropic dat effort op low vroegtijdig kan stoppen, een zoekactie kan overslaan of een controle kan weglaten. De handleiding beveelt expliciete voltooiingsinstructies en werkelijke controles voor codewijzigingen aan voordat ze als voltooid worden gemeld. Bereid het verwachte resultaat en het bewijs voor dat dit zou aantonen: de geselecteerde passages voor een rapport, het gewijzigde gedrag voor een codevoorstel of de uit een document geëxtraheerde velden. De handleiding onderscheidt ook een gebruikersbericht tijdens een taak van tooluitvoer: nieuwe gebruikersinstructies horen in een gebruikersbeurt, terwijl het teruggegeven toolbewijs afzonderlijk blijft.

Deze editie heeft eigen beschermingsmechanismen en kan een weigering teruggeven voor categorieën zoals schadelijke cyberactiviteiten, biologische schade, ontwikkeling van concurrerende modellen of ander verboden gebruik. De ontwikkelaar documenteert geen serverfallback voor Haiku 5.5. De handleiding vermeldt ook dat effort op xhigh soms een antwoord over meerdere beurten zonder zichtbare antwoordtekst kan beëindigen en dat tekst die op redeneren lijkt vaker kan verschijnen bij effort op low of met redeneren uitgeschakeld. Dit zijn specifieke gedragingen om rekening mee te houden wanneer een workflow een zichtbaar, gestructureerd resultaat vereist. Gebruik voor gewone extractie- of samenvattingstaken een gerichte bron, een bepaalde uitvoervorm en het inspanningsniveau dat bij de taak past.

Praktische taak

### Praktische taak

Technisch voorbeeld in het Engels

```
Extract a support handoff

Extract a handoff from this ticket, using only its text: T-184: 'I changed my billing email yesterday. Receipts still go to the old address. My login works. Please resend March and April receipts.' Return ticket ID, requested actions, working function and missing information. Use 'not stated' for absent details.
```

#### Verwacht resultaat

```
Four labeled fields retaining T-184, the receipt request, the working login and explicitly missing details.
```

#### Resultaat controleren

```
Every extracted value must trace to the ticket; do not invent either email address.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat)

Anthropic /`anthropic/claude-haiku-5.5`

Model-ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Aan de slag

Claude Haiku 5.5 is Anthropic’s kleine model voor classificatie, extractie, samenvattingen, routering en gerichte agenttaken. Het combineert tekst- en beeldbegrip met adaptief redeneren en is ontworpen voor herhaald werk dat een snel antwoord nodig heeft.

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 |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten anthropic/claude-haiku-5.5 | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden en limieten Voorbeelden: system, user, assistant, tool, function Voorwaarden: Deze rollen worden expliciet weergegeven door compatibiliteitstypen in de broncode; de exacte rollenverzameling van het model blijft modelspecifiek. Afhankelijk van het model | Standaard— |
| Veld`messages[].content` | Type`string\|content_part[]\|null` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_calls` | Type`tool_call[]` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_call_id` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: role=tool; gebruik het werkelijk teruggegeven ID | Standaard— |
| Veld`messages[].name` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].reasoning_content` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: Stuur de werkelijk teruggegeven redeneringen terug wanneer dit model ze gebruikt | Standaard— |
| Veld`messages[].reasoning_details` | Type`object\|array` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`max_completion_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |
| Veld`stream_options.include_usage` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`temperature` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`top_p` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`stop` | Type`string\|string[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools` | Type`function_tool[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools[].type` | Type`string` | VereisteOptioneel | Waarden en limieten function Afhankelijk van het model | Standaard— |
| Veld`tools[].function.name` | Type`string` | VereisteVereist | Waarden en limieten Geldt wanneer: functietool opgegeven | Standaard— |
| Veld`tools[].function.description` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tools[].function.parameters` | Type`JSON_schema` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tool_choice` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`parallel_tool_calls` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`response_format` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning_effort` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`service_tier` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`instructions` | Type`string` | VereisteOptioneel | Waarden en limieten Compatibiliteitsveld | Standaard— |
| Veld`functions` | Type`function[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`function_call` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`prompt_cache_options` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`modalities` | Type`string[]` | VereisteOptioneel | Waarden en limieten text | Standaard— |
| Veld`provider` | Type`object` | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options wordt op deze Ultra-tekstroute geweigerd | Standaard— |
| Veld`cache_control.ttl` | Type`string` | VereisteOptioneel | Waarden en limieten Voorwaarden: 1h wordt op de daadwerkelijke locaties voor promptcaching geweigerd | Standaard— |

Combinaties van invoermaterialen

**Tekst** · UTF8-tekst

`messages[].content`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages |
| Parameter`material_types` | Contracttext |
| Parameter`messages` | Contractberichtenarray met de structuur role/content |
| Parameter`file_material` | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
| Parameter`optional_controls` | Contractstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Contractmodelspecifiek; functietools van de gebruiker verschillen van gehoste tools |
| Parameter`output_modalities` | Contracttext |
| Parameter`hosted_operations` | Contractfalse |
| Parameter`multimodal_input_binding` | Contractnull |

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

Standaardtarief Wanneer de snelle modus geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning max is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### Ailoot-tarieven

#### Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en met100.000 | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 2 | Tariefstaffel— | Contexttokens, meer dan100.000 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.002** / 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 →](https://ailoot.ai/docs/nl-be/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-stream

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-haiku-5.5", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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
```

```python
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='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### 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 |
| --- | --- |
| Veld`choices[].index` | Typeinteger |
| Veld`choices[].message.content` | Typestring\|null |
| Veld`choices[].message.tool_calls` | Typetool\_call\[\] |
| Veld`choices[].message.reasoning_content` | Typestring |
| Veld`choices[].message.reasoning_details` | Typeobject\|array |
| Veld`choices[].finish_reason` | Typestring\|null |
| Veld`usage` | 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** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages)

Anthropic /`anthropic/claude-haiku-5.5`

Model-ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Aan de slag

Claude Haiku 5.5 is Anthropic’s kleine model voor classificatie, extractie, samenvattingen, routering en gerichte agenttaken. Het combineert tekst- en beeldbegrip met adaptief redeneren en is ontworpen voor herhaald werk dat een snel antwoord nodig heeft.

Toegestane invoer

Tekst

Resultaten

json · sse

### Beschikbaar in Ailoot · invoer en methoden

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Invoer

`text`

Uitvoer

`json`, `sse`

Uitvoerformaat

JSON of SSE

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten anthropic/claude-haiku-5.5 | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden en limieten user, assistant | Standaard— |
| Veld`messages[].content` | Type`string` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |

Combinaties van invoermaterialen

**Tekst** · UTF-8-tekst

`messages[].content als tekenreeks`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages, max\_tokens |
| Parameter`optional_controls` | Contractstream |
| Parameter`material_types` | Contracttext |
| Parameter`text_file_material` | ContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht. |

Levenscyclus: `synchronous_or_streamed`

### Tarieven

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus

Standaardtarief Wanneer de snelle modus geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning max is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### Ailoot-tarieven

#### Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en met100.000 | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 2 | Tariefstaffel— | Contexttokens, meer dan100.000 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.002** / 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 →](https://ailoot.ai/docs/nl-be/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · Anthropic Messages

Volledige minimale JSON-bodycurl · gebruik je UTF-8-documentPython · sla het volledige resultaat op

```json
{
  "model": "anthropic/claude-haiku-5.5",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Resultaten ophalen en opslaan

#### Ailoot Ultra · Anthropic Messages

JSON of SSE

##### Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.

##### 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 |
| --- | --- |
| Veld`id` | Typestring |
| Veld`model` | Typestring |
| Veld`content[]` | Typetext\|thinking\|tool\_use\|other content block |
| Veld`stop_reason` | Typestring\|null |
| Veld`usage` | 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** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

Anthropic /`~anthropic/claude-haiku-latest`

Model-ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Aan de slag

Claude Haiku 5.5 is Anthropic’s kleine model voor classificatie, extractie, samenvattingen, routering en gerichte agenttaken. Het combineert tekst- en beeldbegrip met adaptief redeneren en is ontworpen voor herhaald werk dat een snel antwoord nodig heeft.

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 |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten ~anthropic/claude-haiku-latest | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden en limieten Voorbeelden: system, user, assistant, tool, function Voorwaarden: Deze rollen worden expliciet weergegeven door compatibiliteitstypen in de broncode; de exacte rollenverzameling van het model blijft modelspecifiek. Afhankelijk van het model | Standaard— |
| Veld`messages[].content` | Type`string\|content_part[]\|null` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_calls` | Type`tool_call[]` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_call_id` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: role=tool; gebruik het werkelijk teruggegeven ID | Standaard— |
| Veld`messages[].name` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].reasoning_content` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: Stuur de werkelijk teruggegeven redeneringen terug wanneer dit model ze gebruikt | Standaard— |
| Veld`messages[].reasoning_details` | Type`object\|array` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`max_completion_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |
| Veld`stream_options.include_usage` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`temperature` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`top_p` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`stop` | Type`string\|string[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools` | Type`function_tool[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools[].type` | Type`string` | VereisteOptioneel | Waarden en limieten function Afhankelijk van het model | Standaard— |
| Veld`tools[].function.name` | Type`string` | VereisteVereist | Waarden en limieten Geldt wanneer: functietool opgegeven | Standaard— |
| Veld`tools[].function.description` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tools[].function.parameters` | Type`JSON_schema` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tool_choice` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`parallel_tool_calls` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`response_format` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning_effort` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`service_tier` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`instructions` | Type`string` | VereisteOptioneel | Waarden en limieten Compatibiliteitsveld | Standaard— |
| Veld`functions` | Type`function[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`function_call` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`prompt_cache_options` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`modalities` | Type`string[]` | VereisteOptioneel | Waarden en limieten text | Standaard— |
| Veld`provider` | Type`object` | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options wordt op deze Ultra-tekstroute geweigerd | Standaard— |
| Veld`cache_control.ttl` | Type`string` | VereisteOptioneel | Waarden en limieten Voorwaarden: 1h wordt op de daadwerkelijke locaties voor promptcaching geweigerd | Standaard— |

Combinaties van invoermaterialen

**Tekst** · UTF8-tekst

`messages[].content`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages |
| Parameter`material_types` | Contracttext |
| Parameter`messages` | Contractberichtenarray met de structuur role/content |
| Parameter`file_material` | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
| Parameter`optional_controls` | Contractstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Contractmodelspecifiek; functietools van de gebruiker verschillen van gehoste tools |
| Parameter`output_modalities` | Contracttext |
| Parameter`hosted_operations` | Contractfalse |
| Parameter`multimodal_input_binding` | Contractnull |

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

Standaardtarief Wanneer de snelle modus geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning max is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### Ailoot-tarieven

#### Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en met100.000 | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 2 | Tariefstaffel— | Contexttokens, meer dan100.000 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.002** / 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 →](https://ailoot.ai/docs/nl-be/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-stream

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "~anthropic/claude-haiku-latest", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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
```

```python
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='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### 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 |
| --- | --- |
| Veld`choices[].index` | Typeinteger |
| Veld`choices[].message.content` | Typestring\|null |
| Veld`choices[].message.tool_calls` | Typetool\_call\[\] |
| Veld`choices[].message.reasoning_content` | Typestring |
| Veld`choices[].message.reasoning_details` | Typeobject\|array |
| Veld`choices[].finish_reason` | Typestring\|null |
| Veld`usage` | 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** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

Anthropic /`~anthropic/claude-haiku-latest`

Model-ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Aan de slag

Claude Haiku 5.5 is Anthropic’s kleine model voor classificatie, extractie, samenvattingen, routering en gerichte agenttaken. Het combineert tekst- en beeldbegrip met adaptief redeneren en is ontworpen voor herhaald werk dat een snel antwoord nodig heeft.

Toegestane invoer

Tekst

Resultaten

json · sse

### Beschikbaar in Ailoot · invoer en methoden

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Invoer

`text`

Uitvoer

`json`, `sse`

Uitvoerformaat

JSON of SSE

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten ~anthropic/claude-haiku-latest | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden en limieten user, assistant | Standaard— |
| Veld`messages[].content` | Type`string` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |

Combinaties van invoermaterialen

**Tekst** · UTF-8-tekst

`messages[].content als tekenreeks`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages, max\_tokens |
| Parameter`optional_controls` | Contractstream |
| Parameter`material_types` | Contracttext |
| Parameter`text_file_material` | ContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht. |

Levenscyclus: `synchronous_or_streamed`

### Tarieven

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus

Standaardtarief Wanneer de snelle modus geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning max is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### Ailoot-tarieven

#### Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en met100.000 | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.0004** / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 2 | Tariefstaffel— | Contexttokens, meer dan100.000 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.001** / 1K tokens Invoer · Cache lezen **$0.00002** / 1K tokens Invoer · Cache schrijven **$0.00025** / 1K tokens Invoer · Cache schrijven, 1 uur **$0.002** / 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 →](https://ailoot.ai/docs/nl-be/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · Anthropic Messages

Volledige minimale JSON-bodycurl · gebruik je UTF-8-documentPython · sla het volledige resultaat op

```json
{
  "model": "~anthropic/claude-haiku-latest",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Resultaten ophalen en opslaan

#### Ailoot Ultra · Anthropic Messages

JSON of SSE

##### Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.

##### 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 |
| --- | --- |
| Veld`id` | Typestring |
| Veld`model` | Typestring |
| Veld`content[]` | Typetext\|thinking\|tool\_use\|other content block |
| Veld`stop_reason` | Typestring\|null |
| Veld`usage` | 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** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/nl-be/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

FAQ · Anthropic: Claude Haiku 5.5

Welke invoer en resultaten zijn beschikbaar?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `text` → `text` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `text` → `json`, `sse` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `text` → `text` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `text` → `json`, `sse`

Welke velden gebruikt het verzoek?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `max_tokens`, `stream`

Welke limieten gelden?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `messages.min_items`: `1` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `messages.min_items`: `1`

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

## Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

## Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement

Kies een abonnement met korting voor je terugkerende verzoeken.

Promotiecode tot 50%

Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.

Kosten in de geschiedenis

Model, tokens en bedrag worden per verzoek bewaard.

[Kies een abonnement](https://ailoot.ai/docs/nl-be/billing/subscriptions/) · [Bekijk modelprijzen](https://ailoot.ai/models/nl-be/)

## Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie

Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.

Resellerlicentie

Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.

Documenten op de site

Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

[Vraag een resellerlicentie aan](mailto:support@ailoot.ai) · [Aanbodvoorwaarden en licentieovereenkomst](https://ailoot.ai/legal/offer?lang=nl-be)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.


## Beschikbaar via de Ailoot API

`claude-haiku-5-5` · Core

Invoer

`text`

Uitvoer

`text`

Context

200.000 *tokens*

Max. antwoord

65.536 *tokens*

Invoer

US$ 0,0001 */ 1K*

Uitvoer

US$ 0,0005 */ 1K*

Cache lezen

US$ 0,00001 */ 1K*

Cache schrijven

US$ 0,000125 */ 1K*

Cache schrijven, 5 min

US$ 0,000125 */ 1K tokens*

Cache schrijven, 1 uur

US$ 0,0002 */ 1K tokens*

web\_search\_call

US$ 0,01 *per aanroep*

Max. aanroepen web\_search\_call

8

#### Prijzen per verzoeklengte · Anthropic Messages

| Verzoekgrootte, tokens | Invoer | Uitvoer | Cache lezen | Cache schrijven | Cache 5 min | Cache 1 uur |
| --- | --- | --- | --- | --- | --- | --- |
| Verzoekgrootte, tokens(0; 100.000\] | InvoerUS$ 0,0001 | UitvoerUS$ 0,0005 | Cache lezenUS$ 0,00001 | Cache schrijvenUS$ 0,000125 | Cache 5 minUS$ 0,000125 | Cache 1 uurUS$ 0,0002 |
| Verzoekgrootte, tokens(100.000; ∞) | InvoerUS$ 0,0005 | UitvoerUS$ 0,0025 | Cache lezenUS$ 0,00005 | Cache schrijvenUS$ 0,000625 | Cache 5 minUS$ 0,000625 | Cache 1 uurUS$ 0,001 |

Tarieven in USD per 1K tokens. Als geen tarief is ingesteld, wordt het basistarief voor deze methode overgenomen; «—» betekent dat geen basistarief is ingesteld.

`claude-haiku-5-5` · Core

Invoer

`text`

Uitvoer

`text`

Context

200.000 *tokens*

Max. antwoord

65.536 *tokens*

Invoer

US$ 0,0001 */ 1K*

Uitvoer

US$ 0,0005 */ 1K*

Cache lezen

US$ 0,00001 */ 1K*

Cache schrijven

US$ 0,000125 */ 1K*

Cache schrijven, 5 min

US$ 0,000125 */ 1K tokens*

Cache schrijven, 1 uur

US$ 0,0002 */ 1K tokens*

web\_search\_call

US$ 0,01 *per aanroep*

Max. aanroepen web\_search\_call

8

#### Prijzen per verzoeklengte · OpenAI Responses

| Verzoekgrootte, tokens | Invoer | Uitvoer | Cache lezen | Cache schrijven | Cache 5 min | Cache 1 uur |
| --- | --- | --- | --- | --- | --- | --- |
| Verzoekgrootte, tokens(0; 100.000\] | InvoerUS$ 0,0001 | UitvoerUS$ 0,0005 | Cache lezenUS$ 0,00001 | Cache schrijvenUS$ 0,000125 | Cache 5 minUS$ 0,000125 | Cache 1 uurUS$ 0,0002 |
| Verzoekgrootte, tokens(100.000; ∞) | InvoerUS$ 0,0005 | UitvoerUS$ 0,0025 | Cache lezenUS$ 0,00005 | Cache schrijvenUS$ 0,000625 | Cache 5 minUS$ 0,000625 | Cache 1 uurUS$ 0,001 |

Tarieven in USD per 1K tokens. Als geen tarief is ingesteld, wordt het basistarief voor deze methode overgenomen; «—» betekent dat geen basistarief is ingesteld.

`claude-haiku-5-5` · Core

Invoer

`text`

Uitvoer

`text`

Context

200.000 *tokens*

Max. antwoord

65.536 *tokens*

Invoer

US$ 0,0001 */ 1K*

Uitvoer

US$ 0,0005 */ 1K*

Cache lezen

US$ 0,00001 */ 1K*

Cache schrijven

US$ 0,000125 */ 1K*

Cache schrijven, 5 min

US$ 0,000125 */ 1K tokens*

Cache schrijven, 1 uur

US$ 0,0002 */ 1K tokens*

web\_search\_call

US$ 0,01 *per aanroep*

Max. aanroepen web\_search\_call

8

#### Prijzen per verzoeklengte · OpenAI Chat

| Verzoekgrootte, tokens | Invoer | Uitvoer | Cache lezen | Cache schrijven | Cache 5 min | Cache 1 uur |
| --- | --- | --- | --- | --- | --- | --- |
| Verzoekgrootte, tokens(0; 100.000\] | InvoerUS$ 0,0001 | UitvoerUS$ 0,0005 | Cache lezenUS$ 0,00001 | Cache schrijvenUS$ 0,000125 | Cache 5 minUS$ 0,000125 | Cache 1 uurUS$ 0,0002 |
| Verzoekgrootte, tokens(100.000; ∞) | InvoerUS$ 0,0005 | UitvoerUS$ 0,0025 | Cache lezenUS$ 0,00005 | Cache schrijvenUS$ 0,000625 | Cache 5 minUS$ 0,000625 | Cache 1 uurUS$ 0,001 |

Tarieven in USD per 1K tokens. Als geen tarief is ingesteld, wordt het basistarief voor deze methode overgenomen; «—» betekent dat geen basistarief is ingesteld.

`claude-haiku-5-5` · Core

Invoer

`text`

Uitvoer

`text`

Context

200.000 *tokens*

Max. antwoord

65.536 *tokens*

Invoer

US$ 0,0001 */ 1K*

Uitvoer

US$ 0,0005 */ 1K*

Cache lezen

US$ 0,00001 */ 1K*

Cache schrijven

US$ 0,000125 */ 1K*

Cache schrijven, 5 min

US$ 0,000125 */ 1K tokens*

Cache schrijven, 1 uur

US$ 0,0002 */ 1K tokens*

web\_search\_call

US$ 0,01 *per aanroep*

Max. aanroepen web\_search\_call

8

#### Prijzen per verzoeklengte · Gemini generateContent

| Verzoekgrootte, tokens | Invoer | Uitvoer | Cache lezen | Cache schrijven | Cache 5 min | Cache 1 uur |
| --- | --- | --- | --- | --- | --- | --- |
| Verzoekgrootte, tokens(0; 100.000\] | InvoerUS$ 0,0001 | UitvoerUS$ 0,0005 | Cache lezenUS$ 0,00001 | Cache schrijvenUS$ 0,000125 | Cache 5 minUS$ 0,000125 | Cache 1 uurUS$ 0,0002 |
| Verzoekgrootte, tokens(100.000; ∞) | InvoerUS$ 0,0005 | UitvoerUS$ 0,0025 | Cache lezenUS$ 0,00005 | Cache schrijvenUS$ 0,000625 | Cache 5 minUS$ 0,000625 | Cache 1 uurUS$ 0,001 |

Tarieven in USD per 1K tokens. Als geen tarief is ingesteld, wordt het basistarief voor deze methode overgenomen; «—» betekent dat geen basistarief is ingesteld.

[JSON](https://ailoot.ai/models/nl-be/anthropic-claude-haiku-5-5/method-additions-94d16e07563d6bf551f5.json)
