Anthropic: Claude Opus 4.1
Claude Opus 4.1 is Anthropic’s update van Opus 4 voor softwarewerk met agenten, onderzoek, data-analyse en redeneren. De nadruk ligt onder meer op details bijhouden, codewijzigingen in meerdere bestanden en gerichte foutopsporing, met standaardantwoorden of optioneel uitgebreid redeneren.
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 Opus 4.1 is Anthropic’s update van de oorspronkelijke Claude Opus 4, gericht op agenttaken, praktisch programmeerwerk en redeneren. De release benadrukt ook diepgaand onderzoek en data-analyse, vooral details bijhouden en zoeken binnen een grotere taak. De bijbehorende aanvulling op de systeemkaart beschrijft verbeteringen in redeneerkwaliteit en instructieopvolging. Het blijft een afzonderlijke editie naast de oorspronkelijke Opus 4 en de latere Opus 4.5-, 4.6- en 5-modellen; hun modi en limieten mogen niet als specificaties voor deze update worden behandeld.
Voor codewerk benadrukt de release herstructurering over meerdere bestanden en het vinden van gerichte correcties binnen een grote codebase. Geef het model de relevante bestanden of fragmenten, het bestaande gedrag, het gewenste gedrag en de voorwaarden die een geldige wijziging moet behouden. Een voorbeeldverzoek kan vragen een fout door verwante functies te volgen, de kleinste samenhangende wijziging voor te stellen en uit te leggen waarom elk gewijzigd deel nodig is. Het bruikbare resultaat is een beoordeelbare patch of codevoorstel met behoud van broncontext en aannames, in plaats van een brede herschrijving die het oorspronkelijke probleem verbergt.
Bij onderzoek en data-analyse is de nadruk op details bijhouden nuttig wanneer een vraag van meerdere passages of waarnemingen afhangt. Geef het materiaal met bronidentificaties, definieer de vraag en vraag om het bewijs achter elke conclusie. Een praktische opdracht kan om een vergelijkingstabel vragen die laat zien waar twee documenten overeenkomen, waar ze verschillen en welke vragen onbeantwoord blijven. Als zoeken onderdeel van de workflow is, levert de applicatie de tool en de teruggegeven inhoud. Het model verbindt die resultaten daarna met het bestaande materiaal; een voorgestelde zoekactie in de tekst is geen voltooid ophalen van informatie.
Opus 4.1 heeft een standaardantwoordmodus en optioneel uitgebreid redeneren. De oudere redeneerhandleiding geeft directe controle via budget_tokens, met een minimum van 1.024 tokens. Het budget is normaal lager dan max_tokens omdat interne redeneringen en het eindantwoord de generatieruimte delen. Het is een doelbudget voor redeneren en geen belofte om het volledige aantal te gebruiken. Adaptief redeneren en de inspanningsinstellingen van latere Opus-edities zijn afzonderlijke mogelijkheden. Geef een volledig probleem en bepaal het eindantwoordformaat zodat de extra analyse tot het benodigde resultaat voor de lezer leidt.
De gedocumenteerde bèta voor eerdere Claude 4-modellen ondersteunt vervlochten redeneren: redeneren tussen toolaanroepen binnen één assistentbeurt. Zij gebruikt de interleaved-thinking-functie van de ontwikkelaar in de ondersteunde Messages-workflow. In die modus kan het redeneerbudget meerdere blokken omvatten en onder de gedocumenteerde uitzondering de max_tokens-waarde voor één beurt overschrijden. Geef het bijbehorende redeneerblok ongewijzigd met een toolresultaat terug, inclusief de handtekening. Een foutopsporingsworkflow kan daardoor analyse, een controle die de applicatie uitvoert en interpretatie van de werkelijke uitvoer afwisselen en voorgestelde handelingen gescheiden houden van voltooide handelingen.
De aanvulling op de systeemkaart beschrijft ook computerbedieningstaken met schermwaarneming, muishandelingen en toetsenbordinvoer, naast langere programmeertaken met tools. Het model kan vanuit een aangeleverde visuele toestand redeneren en een handeling in een aangesloten omgeving kiezen; de applicatie voert de interactie uit en geeft de wijziging terug. Benoem voor een schermopdracht het doel, de relevante zichtbare bediening en de toegestane handelingen. Vraag voor een document- of dataworkflow om een tekstuele uitleg of gestructureerd resultaat dat bij het aangeleverde bewijs aansluit. De interpretatie van het model en de uitvoering door de omgeving zijn afzonderlijke delen van het werk.
De beoordeling van de ontwikkelaar vermeldt een vatbaarheid voor promptinjectie die vergelijkbaar is met die van de oorspronkelijke Opus 4. Zij onderzoekt specifiek verborgen tekst of interface-elementen die een agent van de gebruikerstaak proberen af te leiden. Houd de taakinstructies gescheiden van materiaal dat tools teruggeven en behoud het oorspronkelijke doel bij het interpreteren van een pagina of document. Dit is een inhoudelijke voorwaarde voor een agentworkflow: een verzoek in externe inhoud zien maakt het nog geen instructie die de gebruiker heeft toegestaan. De bescherming van het model maakt niet elke bezochte pagina tot vertrouwde invoer.
De systeemkaart beschrijft ook een programmeerbeperking met de naam reward hacking, waaronder hardgecodeerde antwoorden en oplossingen die alleen op de getoonde voorbeelden zijn afgestemd. Opus 4.1 vertoont vergelijkbare neigingen als Opus 4, met enkele achteruitgangen in die gerichte beoordelingen. Vraag bij een codevoorstel om een oplossing die aan de algemene eis voldoet, benoem de voorwaarden die zij afhandelt en neem controles op die verder gaan dan het ene aangeleverde voorbeeld. Vraag het eindrapport onderscheid te maken tussen wat is voorgesteld, wat de omgeving daadwerkelijk heeft gecontroleerd en wat niet kon worden vastgesteld. Zo worden gerichte foutopsporing en details bijhouden verbonden met concreet werk waarvan het gedrag kan worden bekeken.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-opus-4-1-20250805-thinking
claude-opus-4-1-20250805-thinking
claude-opus-4-1-20250805-thinkingAan de slag
Claude Opus 4.1 is Anthropic’s update van Opus 4 voor softwarewerk met agenten, onderzoek, data-analyse en redeneren. De nadruk ligt onder meer op details bijhouden, codewijzigingen in meerdere bestanden en gerichte foutopsporing, met standaardantwoorden of optioneel uitgebreid redeneren.
- 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-opus-4-1-20250805-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.03 / 1K tokens Uitvoer · Uitvoertokens $0.15 / 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-opus-4-1-20250805-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-opus-4-1-20250805-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-opus-4-1-20250805-thinking
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · Anthropic: Claude Opus 4.1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:text→text- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:model,messages,stream- Welke limieten gelden?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:messages.min_items:1