Hoppa till huvudinnehåll
Anthropic Claude är ett mycket kraftfullt AI-konversationssystem som kan generera flytande och naturliga svar på bara några sekunder genom att ange en prompt. Claude Messages API är Anthropics officiella inbyggda API-format. Till skillnad från det OpenAI-kompatibla formatet (Chat Completion) använder det Anthropics egen struktur för förfrågningar och svar, vilket gör det möjligt att bättre utnyttja Claudes unika funktioner, såsom multimodalt innehållsinmatning, verktygsanrop, djupgående tänkande (Extended Thinking) och andra avancerade funktioner. Det här dokumentet introducerar huvudsakligen användningsprocessen för Claude Messages API. Med hjälp av det kan vi använda ett inbyggt gränssnitt som är konsekvent med Anthropics officiella för att anropa Claudes konversationsfunktioner.

Ansökningsprocess

För att använda Claude Messages API går du först till Ace Data Cloud-konsolen för att hämta din API Token och spara den för senare användning. Om du ännu inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera och logga in. När detta är klart återgår du automatiskt till den aktuella sidan. En API Token kan anropa alla plattformens tjänster, utan att du behöver ansöka separat för varje tjänst. Vid första ansökan får du en gratis kvot för kostnadsfri testning; om kvoten inte räcker till kan du fylla på det gemensamma saldot i konsolen.
📘 Fullständig dokumentation: Claude Messages API →

Grundläggande användning

Förfrågningssökvägen för Claude Messages API är /v1/messages, vilket överensstämmer med Anthropics officiella API. Vi behöver minst ange tre obligatoriska parametrar:
  • model: Välj vilken Claude-modell som ska användas. claude-opus-5-5 tillhandahålls endast via Messages API, stöder 1 miljon Token kontext, högst 128K Token utdata och aktiverar alltid adaptivt tänkande. Den senaste flaggskeppsmodellen är claude-fable-5-1 (1 miljon Token kontext, högst 128K Token utdata); den tidigare claude-fable-5 behålls fortfarande för kompatibilitet. claude-sonnet-5-5 har lagts till i serien av inbyggda Messages-gränssnitt och stöder bildinmatning och adaptivt tänkande; dess officiella referenspriser för indata, utdata och cacheläsning är 2, 10 respektive 0,20 USD per miljon Token.
  • messages: Matrisen med inmatade meddelanden, där varje meddelande innehåller role (roll) och content (innehåll), och role stöder user och assistant.
  • max_tokens: Maximalt antal token för utdata, som används för att begränsa längden på ett enskilt svar.
Vanliga valfria parametrar:
  • system: Systemprompt, som används för att ange modellens beteende och roll.
  • temperature: Slumpmässighet vid generering, mellan 0 och 1; ju högre värde, desto mer spridda blir svaren.
  • stream: Om strömmande svar ska användas; sätt till true för att uppnå en effekt där svaret returneras tecken för tecken.
  • stop_sequences: Anpassade stoppsekvenser; modellen slutar generera när den stöter på dessa texter.
  • top_p: Parameter för kärnurval, som tillsammans med temperature styr slumpmässigheten i genereringen.
  • top_k: Sampla endast från de K alternativ med högst sannolikhet.
  • tools: Verktygsdefinitioner, som används för att låta modellen anropa externa funktioner.
  • tool_choice: Styr hur modellen använder de tillhandahållna verktygen.
  • cache_control: Skapar automatiskt en cachebrytpunkt vid det sista cachebara innehållsblocket i förfrågan; kan även skrivas på ett specifikt innehållsblock.

cURL-exempel

Python-exempel

Efter anropet ser returresultatet ut enligt följande:
Beskrivning av fälten i returresultatet:
  • id: Den unika identifieraren för detta meddelande.
  • type: Alltid message.
  • role: Alltid assistant.
  • content: Matris med svarsinnehåll, där varje element innehåller type (till exempel text) och motsvarande innehåll.
  • model: Namnet på modellen som behandlar förfrågan.
  • stop_reason: Orsaken till stoppet. Stabila värden omfattar end_turn, max_tokens, stop_sequence, tool_use, pause_turn (du kan skicka tillbaka det aktuella assistant-innehållet oförändrat för att fortsätta), refusal och model_context_window_exceeded.
  • stop_sequence: Om stoppet beror på en anpassad stoppsekvens visas den matchande stoppsekvenstexten.
  • stop_details: När stop_reason är refusal kan den innehålla avslagskategori och förklaring.
  • usage: Statistik över tokenanvändning. input_tokens är ocachad indata; cache_creation_input_tokens och cache_read_input_tokens är cache-skrivning respektive -läsning; output_tokens är det totala antalet token för utdata. Om output_tokens_details.thinking_tokens returneras är detta värde en delmängd av output_tokens; lägg inte till det igen när du beräknar totalmängd eller kostnad. Denna detaljinformation kan vara null eller utelämnas om det saknas en auktoritativ räkning.
  • usage.cache_creation: Valfri TTL-detaljinformation för cache-skrivning, som innehåller ephemeral_5m_input_tokens och ephemeral_1h_input_tokens. När objektet finns är summan av de två lika med cache_creation_input_tokens; om fältet är null eller utelämnas betyder det att den aktuella responsen inte har någon tillgänglig TTL-uppdelning och får inte tolkas som 0.
  • usage.cost: Icke-strömmande svar kan innehålla ett objekt för kvotförbrukning som registreras av Ace Data Cloud, där amount är den faktiska förbrukningen denna gång, currency är mätenheten och list_amount är beloppet före rabatt (om sådant finns). Fable 5.1:s officiella grundpris för cacheläsning är $0,25/miljon Token, och grundpriserna för cache-skrivning på 5 minuter respektive 1 timme är $12,50 och $20/miljon Token; plattformens faktiska priser beräknas utifrån paketets rabatt.

Systemprompt

Claude Messages API stöder att ange en systemprompt via fältet system, som används för att definiera modellens beteende, roll och kontext.

Python-exempel

Genom att ställa in system-prompten kan du exakt styra Claudes roll och beteende.

Strömmande svar

Detta gränssnitt stöder också strömmande svar. Ställ bara parametern stream till true för att få en effekt där svar returneras stegvis, vilket är mycket lämpligt för att implementera visning tecken för tecken på webbsidor.

Python-exempel

Strömmande svar returneras i formatet Server-Sent Events (SSE), där varje rad har prefixet event: och data:. Typer av strömmande händelser inkluderar:
  • message_start: Meddelandet börjar och innehåller grundläggande information om meddelandet och modellnamnet.
  • content_block_start: Innehållsblocket börjar.
  • content_block_delta: Stegvis uppdatering av innehållsblocket, innehåller det nyligen genererade textsegmentet.
  • content_block_stop: Innehållsblocket avslutas.
  • message_delta: Stegvis uppdatering på meddelandenivå, innehåller stop_reason och slutlig usage-information. Det auktoritativa värdet för output_tokens_details.thinking_tokens ska endast läsas från den sista message_delta.usage, och får inte ackumuleras över händelser.
  • message_stop: Meddelandet avslutas.
Utdataeffekten är följande:
Som du kan se innehåller händelsen content_block_delta i det strömmande svaret textinnehåll som genereras stegvis. Genom att sammanfoga alla text_delta kan du få det fullständiga svaret.

JavaScript-exempel

Fleromgångsdialog

Om du vill ansluta till funktionalitet för flеромgångsdialog behöver du placera meddelanden med rollerna user och assistant växelvis i arrayen messages och skicka med den tidigare dialoghistoriken.

Python-exempel

Returresultatet är följande:
Genom att skicka den fullständiga dialoghistoriken i messages kan Claude ge korrekta svar utifrån sammanhanget.

Modell för djupgående tänkande

Claudes thinking och thinking summary är två olika begrepp: modellen kan utföra intern slutledning, men API:t returnerar inte den ursprungliga tankekedjan. När slutledningsprocessen behöver visas returnerar API:t i stället en bearbetad sammanfattning. Den aktuella modellen rekommenderar att använda adaptive thinking och att styra den övergripande slutledningsinsatsen via output_config.effort:
Thinking-blocket i svaret ser ut så här:
  • display: "summarized" returnerar en läsbar sammanfattning av tänkandet; det är inte den ursprungliga tankekedjan.
  • display: "omitted" returnerar thinking: "", men behåller fortfarande den opaque signature för att stödja efterföljande samtal.
  • display: "updates" är Anthropics beta-läge och kräver anthropic-beta: thinking-display-updates-2026-08-18. Den officiella definitionen är att dölja resonemangstexten och visa korta uppdateringar om framsteg mellan verktygsanrop. Plattformen vidarebefordrar parametern och beta-begärandehuvudet enligt ursprungsvärdena och tvingar inte fram en omskrivning till summarized; det faktiska utdatainnehållet beror på stödet hos den valda modellen.
  • thinking, output_config, effort, samplingsparametrar och nya utvidgningsfält vidarebefordras enligt ursprungsvärdena. Plattformen upprätthåller inte hårdkodade värdeuppräkningar eller kombinationsbegränsningar per modell och skriver inte heller automatiskt om thinking-läget; huruvida dessa parametrar accepteras avgörs av den valda modellen, och parameterfel som returneras av modellen skickas tillbaka till klienten.
  • Standardvärdet för display för Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 och Opus 4.7 är omitted; Opus 4.6, Sonnet 4.6 och tidigare modeller som stöder thinking använder som standard summarized.
  • Display påverkar endast det returnerade innehållet och strömningsfördröjningen, stänger inte av resonemang och minskar inte debiteringen för thinking-token.
  • Om thinking är aktiverat som standard och display-standardvärdet är två separata frågor. Opus 5 och Sonnet 5 har adaptive thinking aktiverat som standard; för Opus 5 är utelämnande av thinking likvärdigt med adaptive, och utelämnande av output_config.effort är likvärdigt med high. Opus 4.8, 4.7 och 4.6 kräver uttrycklig aktivering.
  • Thinking och den slutliga brödtexten delar på utmatningsbudgeten max_tokens. Om budgeten är för liten kan thinking ta upp större delen av utrymmet, vilket gör att brödtexten blir tom eller trunkeras; öka max_tokens, eller använd low / medium effort för att styra resonemangsinsatsen.
  • För modeller som tillåter att thinking stängs av kan thinking: {"type":"disabled"} skickas. Nya lägen såsom between_tools och effort-kombinationer beror på den valda modellen; plattformen avvisar dem inte i förväg baserat på gamla modellregler.
  • Fast tänkandebudget kan skickas via budget_tokens; nya modeller använder vanligtvis thinking.type=adaptive och output_config.effort. Huruvida fast budget eller avstängning av thinking stöds beror på den valda modellens aktuella kapacitet.
  • Vid flerrundssamtal och verktygsanrop bör det fullständiga thinking-blocket och signature som returneras av assistant skickas tillbaka oförändrade; ändra inte eller skapa själv signature.
  • Parameter-vidarebefordran innebär inte att varje modell stöder alla funktioner. Anrop över olika protokoll kräver fortfarande konvertering, och stödomfånget samt fel för innehåll såsom redacted_thinking avgörs av den modelltjänst som faktiskt behandlar begäran.
I strömningsbegäranden ger summarized upphov till thinking_delta; omitted ger inte upphov till thinking_delta, utan behåller endast thinking-blockets livscykel och signature_delta.

Visuella modeller

Claude stöder multimodala indata och kan behandla text och bilder samtidigt. I Messages API kan visuella funktioner användas genom att ange content i matrisformat och skicka ett bildinnehållsblock.

Använd Base64-kodade bilder

Använd URL-bilder

cURL-exempel

Bildformat som stöds omfattar: image/jpeg, image/png, image/gif, image/webp.

Dokument och PDF

PDF använder innehållsblocket document och stöder de två stabila källorna Base64 och URL. Base64-källor måste använda application/pdf:
URL-källor skrivs som {"type":"url","url":"https://example.com/report.pdf"}. document stöder även text/plain och content-källor som består av text-/bildblock; valfria fält omfattar title, context och citations. Files API:s file_id-källa tillhör en separat beta-funktion och ingår inte i detta gränssnitts stabila kontrakt.

Promptcache

cache_control på toppnivå placerar automatiskt cachebrytpunkten vid det sista cachebara blocket:
När exakt positionskontroll krävs kan samma cache_control också skrivas på innehållsblocken text, image, document, tool_use, tool_result eller på verktygsdefinitioner. ttl stöder 5m (standard) och 1h; avgör cache-skrivning och träff genom usage.cache_creation_input_tokens och usage.cache_read_input_tokens. När svaret tillhandahåller usage.cache_creation gäller att ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Om cache_creation är null eller utelämnas, betyder det att det endast finns en total mängd cache-skrivning och ingen auktoritativ TTL-uppdelning; behandla då inte någon bucket som en känd 0, fakturering och totalmängder baseras fortfarande på aggregate-fältet. Exempel på returnerat resultat:

Verktygsanrop (Tool Use)

Claude Messages API har inbyggt stöd för verktygsanrop, vilket gör det möjligt för modellen att vid behov anropa dina fördefinierade verktyg/funktioner.

Python-exempel

När modellen beslutar att anropa ett verktyg kommer content i det returnerade resultatet att innehålla ett innehållsblock av typen tool_use:
Observera att stop_reason är tool_use, vilket anger att modellen behöver anropa verktyget. Efter att ha tagit emot detta resultat behöver du köra verktygsfunktionen och skicka tillbaka resultatet till modellen i form av tool_result:
Modellen genererar ett slutligt svar på naturligt språk baserat på resultatet som returneras av verktyget.

Skillnader jämfört med Chat Completion API

Ace Data Cloud erbjuder samtidigt två Claude API-format, där de huvudsakliga skillnaderna mellan dem är följande: Messages API:s usage.input_tokens representerar endast ocachat indata, medan cache_read_input_tokens och cache_creation_input_tokens är separata faktureringsbuckets; alla tre beräknas separat enligt respektive pris. Om ditt system redan är anslutet till API:et i OpenAI-format kan du använda Chat Completion API för att byta sömlöst. Om du behöver använda alla Claudes inbyggda funktioner rekommenderas Messages API.

Felhantering

Felsvar från offentliga gränssnitt använder Ace Data Cloud-plattformens envelope: error.code är en stabil felkod, error.message är en beskrivning och trace_id används för att felsöka förfrågningar. Vanliga HTTP-statusar inkluderar:
  • 400: Förfrågningsparametrar eller protokollinnehåll är ogiltiga.
  • 401: Auktoriseringstoken är ogiltig, saknas eller har gått ut.
  • 403: Åtkomst förbjuden, otillräckligt saldo eller begränsad kvot.
  • 404: API eller modell finns inte.
  • 413: Förfrågningskroppen är för stor.
  • 429: För många förfrågningar.
  • 500 / 503 / 504: Tjänstfel, tillfälligt otillgänglig eller bearbetningstimeout.

Exempel på felsvar

Denna felstruktur är Ace Data Clouds körtidskontrakt och är inte likvärdig med Anthropics officiella felelvelope; hantera den enligt HTTP-status och error.code.

Slutsats

Genom detta dokument har du redan lärt dig hur du använder Claude Messages API för att anropa Claudes konversationsfunktioner i Anthropics ursprungliga format. Messages API stöder omfattande funktioner såsom grundläggande konversationer, systemprompter, strömmande svar, flerrundskonversationer, djupgående tänkande, visuell förståelse, PDF-filer, promptcachelagring och verktygsanrop. Om du har några frågor är du välkommen att när som helst kontakta vårt tekniska supportteam.