Anthropic: Claude Sonnet 4
Claude Sonnet 4 is Anthropic’s model voor programmeren en redeneren met tekst-, beeld- en bestandsinvoer. Het gepubliceerde profiel omvat tools en redeneerinstellingen, een contextvenster van 200.000 tokens en maximaal 64.000 voltooiingstokens.
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 Sonnet 4 is Anthropic’s model gericht op programmeer- en redeneertaken. Het gepubliceerde hostingprofiel accepteert tekst, afbeeldingen en bestanden en geeft tekst terug. Het vermeldt instellingen voor redeneren en functietools, met een contextvenster van 200.000 tokens en maximaal 64.000 voltooiingstokens.
Code en documenten met een expliciet resultaat
Geef voor softwarewerk de relevante bron, het waargenomen gedrag en de gewenste correctie. Bewaar het falende voorbeeld en de werkelijke foutuitvoer wanneer ze de diagnose bepalen. Vraag om een gerichte wijziging en de controles die nodig zijn om het effect te beoordelen.
Label voor documentanalyse de bronnen en benoem de toe te passen criteria of vragen. Een vergelijking kan één bevinding per criterium vragen; een extractie kan de terug te geven waarden bepalen en aangeven hoe ontbrekende informatie moet worden weergegeven. Bewaar bronlabels zodat een beknopt antwoord verbonden blijft met het materiaal dat het ondersteunt.
Gebruik visueel bewijs doelgericht
Benoem de relevante afbeelding, pagina of interfacetoestand en het te onderzoeken detail. Een schermafbeelding kan een vraag over zichtbare inhoud of gedrag ondersteunen; een documentafbeelding kan indelingscontext aan het geschreven materiaal toevoegen. Houd de relevante bron beschikbaar wanneer je geëxtraheerde formuleringen of interpretaties beoordeelt.
Redeneren en applicatietools
Het profiel vermeldt instellingen voor redeneren en functietools. Definieer de handelingen die voor de omringende applicatie beschikbaar zijn en bewaar de teruggegeven waarnemingen. Een voorgestelde handeling en het werkelijke resultaat hebben verschillende rollen in de workflow; de waarneming levert bewijs voor de volgende stap.
Benoem de velden en hun betekenis wanneer een antwoord gegevens zal worden en valideer het werkelijk teruggegeven record aan de hand van de bron. Vraag voor een menselijk leesbaar resultaat om de conclusie en het relevante bewijs. Reserveer binnen de werkcontext ruimte voor het antwoord en bewaar vastgestelde beslissingen voor latere beurten.
Een nuttig Sonnet 4-resultaat bewaart de analyse of voorgestelde wijziging samen met bronverwijzingen en validatie, zodat de volgende stap vanuit een controleerbaar resultaat kan doorgaan.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinkingAan de slag
Claude Sonnet 4 is Anthropic’s model voor programmeren en redeneren met tekst-, beeld- en bestandsinvoer. Het gepubliceerde profiel omvat tools en redeneerinstellingen, een contextvenster van 200.000 tokens en maximaal 64.000 voltooiingstokens.
- 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-sonnet-4-20250514-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.006 / 1K tokens Uitvoer · Uitvoertokens $0.03 / 1K tokens Invoer · Cache lezen $0.0006 / 1K tokens Invoer · Cache schrijven $0.0075 / 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-sonnet-4-20250514-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="claude-sonnet-4-20250514-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
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-sonnet-4-20250514-thinking
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · Anthropic: Claude Sonnet 4
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:text→text- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:model,messages,stream- Welke limieten gelden?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:messages.min_items:1