Anthropic: Claude Sonnet 4.5
Claude Sonnet 4.5 er Anthropics tekst- og billedmodel til softwareudvikling, komplekse agenter, computerbetjening og analytisk arbejde. Den understøtter direkte svar eller manuelt styret udvidet ræsonnement med ræsonnement mellem værktøjskald i det dokumenterede betaforløb.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsanthropic/claude-sonnet-4.5 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesanthropic/claude-sonnet-4.5
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Claude Sonnet 4.5 er Anthropics Sonnet-udgave med fokus på softwareudvikling, komplekse agentopgaver og computerbetjening og med forbedringer i ræsonnement og matematik. Den modtager tekst og billeder og genererer tekst. Udgaven beskriver vedvarende arbejde over flere trin, kodeforståelse og ændringer, som involverer et bredere projekt frem for én isoleret funktion. En nyttig beskrivelse angiver den krævede adfærd, det relevante kildemateriale og det resultat, der skal leveres: en foreslået patch, en implementeringsforklaring, en dokumentanalyse eller et struktureret svar.
Ved softwarearbejde gives projektets begrænsninger, de relevante filer eller uddrag, den observerede fejl og et konkret eksempel på det forventede resultat. Bed om den berørte kode og en forklaring af, hvordan den foreslåede ændring håndterer eksemplet. Udvikleren præsenterer modellen som egnet til at bygge agenter og gennemføre udviklingsopgaver med værktøjer. Den omgivende applikation læser og redigerer filer, kører en kommando eller kontrol og returnerer det faktiske output; modellen ræsonnerer over disse belæg. Hold den foreslåede ændring og den afsluttede kontrol adskilt i den endelige rapport.
Computerbetjening er en separat anvendelse af de visuelle muligheder og agentmulighederne. Anthropics udgave demonstrerer browserinteraktion, navigation på sider og arbejde med regneark gennem et tilknyttet miljø. En visuel beskrivelse kan give et skærmbillede, angive målet og definere de handlinger, applikationen tillader. Applikationen udfører derefter den valgte interaktion og returnerer den ændrede skærm eller et andet resultat. Modellen kan tilsvarende forberede indhold og kode til dokumenter, regneark og præsentationer, mens miljøet producerer den færdige fil. Tekst- og billedforståelse gør ikke modellen til en model, som selv genererer billeder eller lyd.
Udviklerens præcise specifikation angiver et kontekstvindue på 200K tokens og op til 64K outputtokens. Den pålidelige vidensgrænse er januar 2025, adskilt fra den senere skæringsdato for træningsdata på siden. Hold dokumentgrænser, sidemærkninger, enheder og kodeidentifikatorer tydelige i langt input, og afsæt plads til det ønskede svar og eventuelt ræsonnement. Udvikleren dokumenterer også kontekstbevidsthed for denne udgave, så det understøttede forløb følger den resterende plads under en samtale. Det hjælper med at håndtere en vedvarende opgave inden for vinduet; det erstatter ikke vinduet med en senere Sonnet-udgaves større kapacitet.
Sonnet 4.5 understøtter almindelige svar og manuelt styret udvidet ræsonnement. I den sidste tilstand angiver budget_tokens et mål for det interne ræsonnement før det synlige svar. Det dokumenterede minimum er 1.024 tokens, og budgettet skal normalt være lavere end max_tokens, fordi ræsonnement og det endelige svar deler genereringsrammen. Budgettet er et mål frem for et løfte om at bruge præcis så mange tokens. Denne udgave har ikke den adaptive ræsonnementstilstand eller de indsatsindstillinger, som beskrives for senere Sonnet-modeller. Vælg den ønskede analysedybde, og lad der være tilstrækkelig plads til et brugbart endeligt svar.
Udviklerens beta til sammenflettet ræsonnement lader Sonnet 4.5 ræsonnere mellem værktøjskald inden for en tur og bruge de returnerede observationer til at beslutte næste trin. Det kræver den dokumenterede betafunktion i det understøttede Messages-forløb. I dette tilfælde kan ræsonnementsbudgettet overstige max_tokens, fordi det dækker flere ræsonnementsblokke i samme assistenttur. Returner værktøjsresultater sammen med det tilhørende ræsonnementsindhold uændret, inklusive signaturen; redigering af indholdet gør det ugyldigt. En forsknings- eller fejlfindingsopgave kan derfor veksle mellem en foreslået kontrol, det faktiske returnerede resultat og en opdateret analyse uden at behandle et tekstforslag som en afsluttet handling.
Til visuelt materiale understøtter udvikleren JPEG, PNG, GIF og WebP og bruger kun det første billede i en animation. Den standardklasse for oprindelig billedbehandling, som bruges af denne udgave, har en grænse på 1.568 pixels for den længste side og en grænse på 1.568 visuelle tokens; større billeder nedskaleres. Udviklerens billedvejledning angiver op til 100 billeder pr. API-anmodning til modeller med 200K kontekst, hvor betingelser for billedstørrelse og samlet anmodningsstørrelse kan nås først. Placer billeder før spørgsmålet, når det er praktisk, mærk flere billeder, og bevar lille tekst eller diagrammærkninger. Vejledningen anbefaler tydelige billeder med tilstrækkelig omgivende kontekst til at fortolke den synlige detalje.
Kontekstredigering og et hukommelsesværktøj blev introduceret sammen med modellen for at understøtte længere agentforløb. Det er applikationsunderstøttede måder at bevare nyttig tilstand eller fjerne gammelt værktøjsmateriale på; de er ikke ubegrænset modelhukommelse eller den senere funktion til serverbaseret kontekstkomprimering. Ved en opgave i flere faser bevares de allerede trufne beslutninger, det udestående spørgsmål og de belæg, der er nødvendige for næste trin. Anthropic beskriver også stærkere modstand mod skjulte instruktioner i eksternt indhold og bemærker, at modelspecifikke klassifikatorer somme tider kan markere harmløst materiale. Det nyttige resultat er fortsat et arbejde, som kan gennemgås mod de givne belæg, hvor Sonnet 4.5’s præcise tilstande og grænser holdes adskilt fra senere udgaver.
Praktisk opgave
Praktisk opgave
Teknisk eksempel på engelsk
Repair an empty-cart total
Review this Python function: def total(items): return sum(x['price'] * x['qty'] for x in items) / len(items). It crashes for an empty cart and incorrectly averages nonempty carts. Return a minimal correction preserving the function signature, plus assertions for empty, one-line and two-line carts. Explain the changed behavior briefly.Forventet resultat
Corrected Python function, three concrete assertions and a brief explanation of sum versus average.Kontrollér resultatet
The proposed tests cover empty input and verify that two cart lines are added rather than averaged.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions anthropic/claude-sonnet-4.5
anthropic/claude-sonnet-4.5Start
Claude Sonnet 4.5 er Anthropics tekst- og billedmodel til softwareudvikling, komplekse agenter, computerbetjening og analytisk arbejde. Den understøtter direkte svar eller manuelt styret udvidet ræsonnement med ræsonnement mellem værktøjskald i det dokumenterede betaforløb.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inputtyper
text- Outputtyper
text- Outputformat
- json eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser anthropic/claude-sonnet-4.5 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser Eksempler: system, user, assistant, tool, function Betingelser: Disse roller er eksplicit repræsenteret i kildekodens kompatibilitetstyper; modellens præcise rollesæt er fortsat modelspecifikt. Afhænger af modellen | Standard— |
Feltmessages[].content | Typestring|content_part[]|null | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_calls | Typetool_call[] | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_call_id | Typestring | KravValgfrit | Værdier og grænser Gælder når: role=tool; brug det faktisk returnerede ID | Standard— |
Feltmessages[].name | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].reasoning_content | Typestring | KravValgfrit | Værdier og grænser Gælder når: Send det faktisk returnerede ræsonnement tilbage, når modellen bruger det | Standard— |
Feltmessages[].reasoning_details | Typeobject|array | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmax_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltmax_completion_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Feltstream_options.include_usage | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttemperature | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttop_p | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltstop | Typestring|string[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools | Typefunction_tool[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools[].type | Typestring | KravValgfrit | Værdier og grænser function Afhænger af modellen | Standard— |
Felttools[].function.name | Typestring | KravPåkrævet | Værdier og grænser Gælder når: funktionsværktøj angivet | Standard— |
Felttools[].function.description | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Felttools[].function.parameters | TypeJSON_schema | KravValgfrit | Værdier og grænser | Standard— |
Felttool_choice | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltparallel_tool_calls | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltresponse_format | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning_effort | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltservice_tier | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltinstructions | Typestring | KravValgfrit | Værdier og grænser Kompatibilitetsfelt | Standard— |
Feltfunctions | Typefunction[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltfunction_call | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltprompt_cache_options | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmodalities | Typestring[] | KravValgfrit | Værdier og grænser text | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvises på denne Ultra-tekstrute | Standard— |
Feltcache_control.ttl | Typestring | KravValgfrit | Værdier og grænser Betingelser: 1h afvises på de faktiske placeringer for promptcaching | Standard— |
Kombinationer af inputmaterialer
Tekst · UTF8-tekst
messages[].content
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages |
Parametermaterial_types | Kontrakttext |
Parametermessages | Kontraktbeskedarray med strukturen role/content |
Parameterfile_material | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
Parameteroptional_controls | Kontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Kontraktmodelspecifikt; brugerens funktionsværktøjer er forskellige fra hostede værktøjer |
Parameteroutput_modalities | Kontrakttext |
Parameterhosted_operations | Kontraktfalse |
Parametermultimodal_input_binding | Kontraktnull |
Livscyklus: synchronous_or_streamed
Send det præcise model-ID med messages.
Kontekstlængde er ikke et outputloft.
En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.012 / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og med200.000 | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.012 / 1K tokens |
| KonfigurationAnmodningslængde · niveau 2 | Takstplan— | Konteksttokens, mere end200.000 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.024 / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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": "anthropic/claude-sonnet-4.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
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-sonnet-4.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"))
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-sonnet-4.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")
Hent og gem resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltchoices[].index | Typeinteger |
Feltchoices[].message.content | Typestring|null |
Feltchoices[].message.tool_calls | Typetool_call[] |
Feltchoices[].message.reasoning_content | Typestring |
Feltchoices[].message.reasoning_details | Typeobject|array |
Feltchoices[].finish_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra anthropic/claude-sonnet-4.5
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
Ailoot Ultra · Anthropic Messages POST /v1/messages anthropic/claude-sonnet-4.5
anthropic/claude-sonnet-4.5Start
Claude Sonnet 4.5 er Anthropics tekst- og billedmodel til softwareudvikling, komplekse agenter, computerbetjening og analytisk arbejde. Den understøtter direkte svar eller manuelt styret udvidet ræsonnement med ræsonnement mellem værktøjskald i det dokumenterede betaforløb.
- Accepterede input
- Tekst
- Resultater
- json · sse
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Inputtyper
text- Outputtyper
json,sse- Outputformat
- JSON eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser anthropic/claude-sonnet-4.5 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser user, assistant | Standard— |
Feltmessages[].content | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltmax_tokens | Typeinteger | KravPåkrævet | Værdier og grænser | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF-8-tekst
messages[].content som streng
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages, max_tokens |
Parameteroptional_controls | Kontraktstream |
Parametermaterial_types | Kontrakttext |
Parametertext_file_material | KontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng. |
Livscyklus: synchronous_or_streamed
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.012 / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og med200.000 | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.012 / 1K tokens |
| KonfigurationAnmodningslængde · niveau 2 | Takstplan— | Konteksttokens, mere end200.000 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0132 / 1K tokens Output · Outputtokens $0.03 / 1K tokens Input · Cachelæsning $0.0006 / 1K tokens Input · Cacheskrivning $0.0075 / 1K tokens Input · Cacheskrivning, 1 time $0.024 / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Anthropic Messages
{
"model": "anthropic/claude-sonnet-4.5",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}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-sonnet-4.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
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-sonnet-4.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))
Hent og gem resultater
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltmodel | Typestring |
Feltcontent[] | Typetext|thinking|tool_use|other content block |
Feltstop_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra anthropic/claude-sonnet-4.5
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Anthropic: Claude Sonnet 4.5
- Hvilke input og resultater er tilgængelige?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:text→textPOST /v1/messages·anthropic/claude-sonnet-4.5:text→json,sse- Hvilke felter bruger anmodningen?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:model,messages,stream,modalities,providerPOST /v1/messages·anthropic/claude-sonnet-4.5:model,messages,max_tokens,stream- Hvilke grænser gælder?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:messages.min_items:1