Hoppa till huvudinnehåll
Anthropic Claude är ett mycket kraftfullt AI-dialogsystem som kan generera flytande och naturliga svar på bara några sekunder genom att mata in en prompt. Claude utmärker sig i branschen med sin enastående språkförståelse och genereringsförmåga, och idag används Claude redan i många olika branscher och områden, med en alltmer framträdande påverkan. Oavsett om det handlar om vardagliga samtal, kreativt skrivande eller professionell rådgivning och kodprogrammering, kan Claude erbjuda imponerande intelligent assistans, vilket avsevärt ökar människors arbetsproduktivitet och kreativitet. Detta dokument beskriver huvudsakligen användningsflödet för Claude Chat Completion API, vilket gör att vi enkelt kan använda den officiella Claudes dialogfunktion.

Ansökningsprocess

För att använda Claude Chat Completion API kan du först gå till Claude Chat Completion API sidan och klicka på “Acquire”-knappen för att få de nödvändiga autentiseringsuppgifterna: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan där du uppmanas att registrera dig och logga in. Efter att du har loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som gör att du kan använda API:et kostnadsfritt.

Grundläggande användning

Därefter kan du fylla i motsvarande innehåll på gränssnittet, som visas i bilden:

Vid första användningen av detta gränssnitt behöver vi fylla i minst tre fält, ett är authorization, som du enkelt kan välja från rullgardinsmenyn. Den andra parametern är model, där model är den modelltyp vi väljer att använda från Claude:s officiella webbplats. Här har vi huvudsakligen 20 olika modeller, detaljer kan ses i de modeller vi tillhandahåller. Den sista parametern är messages, där messages är en array av våra inmatade frågor, vilket innebär att vi kan ladda upp flera frågor samtidigt. Varje fråga innehåller role och content, där role representerar frågeställarens roll. Vi har tillhandahållit tre olika roller: user, assistant, system. Den andra content är det specifika innehållet i vår fråga. Samtidigt kan du notera att det finns motsvarande kod för anrop på höger sida, som du kan kopiera och köra direkt, eller så kan du klicka på “Try”-knappen för att testa. Vanliga valfria parametrar:
  • max_tokens: begränsar det maximala antalet tokens för ett enskilt svar.
  • temperature: genererar slumpmässighet, mellan 0-2, där ett högre värde ger mer spridning.
  • n: hur många kandidatsvar som ska genereras åt gången.
  • response_format: inställningar för returformat.

Efter anropet ser vi att returresultatet ser ut som följer:
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Returresultatet innehåller flera fält, som beskrivs nedan:
  • id, ID för den genererade dialoguppgiften, som används för att unikt identifiera denna dialoguppgift.
  • model, den valda Claude-modellen från den officiella webbplatsen.
  • choices, Claude:s svarsinformation på frågorna.
  • usage: statistik över tokens för denna fråge- och svarsinteraktion.
Där choices innehåller Claude:s svarsinformation, och choices inuti den innehåller den specifika informationen om Claude:s svar, vilket kan ses i bilden.

Det kan ses att content-fältet i choices innehåller det specifika innehållet i Claude:s svar.

Strömmande svar

Detta gränssnitt stöder också strömmande svar, vilket är mycket användbart för webbgränssnitt och kan ge en tecken-för-tecken visningseffekt. Om du vill ha ett strömmande svar kan du ändra stream-parametern i begärningshuvudet till true. Ändringen visas i bilden, men anropskoden behöver göras motsvarande ändringar för att stödja strömmande svar.

När stream ändras till true, kommer API:et att returnera motsvarande JSON-data rad för rad, och på kodnivå behöver vi göra nödvändiga ändringar för att få rad-för-rad-resultat. Python-exempel på anropskod:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Utdataeffekten ser ut som följer:
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "Hej!"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " Hur kan jag hjälpa dig"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " idag?"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
Det kan ses att svaret innehåller många data, där data innehåller choices som är det senaste svaret, vilket är i linje med den tidigare beskrivna informationen. choices är det nya svaret, och du kan koppla det till ditt system baserat på resultatet. Samtidigt är slutet av den strömmande svaret baserat på innehållet i data, om innehållet är [DONE], indikerar det att den strömmande svaret har avslutats helt. De returnerade data resultaten har flera fält, som beskrivs nedan:
  • id, ID för att generera denna dialoguppgift, används för att unikt identifiera denna dialoguppgift.
  • model, den valda Claude-modellen från webbplatsen.
  • choices, svaret från Claude på frågeordet.
JavaScript stöds också, till exempel Node.js strömmande anropskod ser ut så här:
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "Hej" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
Java exempel kod:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"Hej"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Andra språk kan skrivas om på egen hand, principen är densamma.

Flera rundor av dialog

Om du vill koppla flera rundor av dialogfunktionalitet, behöver du ladda upp flera frågeord i messages fältet, specifika exempel på flera frågeord visas nedan:

Python exempel anropskod:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hej"},{"role":"assistant","content":"Hej! Hur kan jag hjälpa dig idag?"},{"role":"user","content":"Vad sa jag precis?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Genom att ladda upp flera frågeord kan du enkelt uppnå flera rundor av dialog och få följande svar:
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Du sa \"Hej\" - det var ditt första meddelande till mig i vår konversation."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Det kan ses att choices innehåller information som är i linje med grundläggande användning, vilket inkluderar Claude’s specifika svar på flera konversationer, så att man kan svara på motsvarande frågor baserat på flera konversationsinnehåll.

Djup Tänkande Modell

claude-opus-4-20250514-thinking och claude-sonnet-4-20250514-thinking modellerna skiljer sig från andra modeller, de kan utföra djup tänkande baserat på frågeord för att ge svar och returnera resultaten av tänkandeprocessen till dig. Denna artikel kommer att demonstrera djup tänkande funktionalitet genom ett konkret exempel, och du kan sedan fylla i motsvarande innehåll på Claude Chat Completion API-gränssnittet, som visas i bilden:

Samtidigt kan du notera att det finns motsvarande anropskod som genereras till höger, du kan kopiera koden och köra den direkt, eller klicka på “Try” knappen för att testa.

Efter anropet upptäckte vi att det returnerade resultatet ser ut som följer:
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Sinus av 30 grader är **1/2** eller **0.5**.\n\nDetta är ett av de grundläggande trigonometriska värdena. I en 30-60-90 triangel är sidorna i förhållandet 1:√3:2, där sidan som är motsatt 30° vinkeln har längden 1 och hypotenusan har längden 2, vilket ger oss sin(30°) = 1/2.",
        "reasoning_content": "Användaren frågar efter sinus av 30 grader. Detta är en grundläggande trigonometrisk fråga.\n\nSinus av 30 grader är ett välkänt värde. I en 30-60-90 triangel är sidorna i förhållandet 1:√3:2. \n\nFör en 30° vinkel:\n- Den motsatta sidan är 1\n- Hypotenusan är 2\n- Så sin(30°) = motsatt/hypotenusa = 1/2 = 0.5\n\nDetta är ett av de standard trigonometriska värdena som vanligtvis memoreras."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
Det kan ses att svaret i choices är resultatet av djup tänkande, och det ges också relevant innehåll av tänkandeprocessen, där reasoning_content i content representerar modellens tänkandeprocess. Svaret i choices ska renderas med markdown syntax för att få den bästa upplevelsen, vilket också visar den kraftfulla fördelen med vår modells nätverksfunktionalitet.

Visuell Modell

claude-sonnet-4-20250514 är en multimodal stor språkmodell utvecklad av Claude, som har lagt till visuell förståelsekapacitet på grundval av claude-4. Denna modell kan hantera både text- och bildinmatningar samtidigt, vilket möjliggör korsmodal förståelse och generering. Användningen av claude-sonnet-4-20250514-modellens textbehandling är i linje med den grundläggande användningen som nämnts ovan, nedan kommer vi kort att introducera hur man använder modellens bildbehandlingskapacitet. Användningen av claude-sonnet-4-20250514-modellens bildbehandlingskapacitet sker huvudsakligen genom att lägga till ett type fält i den ursprungliga content-innehållet, genom vilket man kan veta om det som laddas upp är text eller bild, för att därigenom använda claude-sonnet-4-20250514-modellens bildbehandlingskapacitet. Nedan beskrivs hur man anropar denna funktion med både Curl och Python.
  • Curl skriptmetod
curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Vad finns i denna bild?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Python skriptmetod
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "Vad finns i denna bild?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Därefter kan man få följande resultat, där fältinformationen i resultatet är i linje med ovanstående, specifikt som följer:
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Denna bild visar ett API-förfrågningskonfigurationsgränssnitt för vad som verkar vara en AI-chattkompletteringstjänst. Här är de viktigaste elementen:\n\n**Begärningskroppens parametrar:**\n\n1. **model** (obligatorisk sträng) - Inställd på \"claude-opus-4-202505...\" - specificerar vilken AI-modell som ska användas\n\n2. **messages** (obligatorisk array) - Innehåller konversationshistoriken med:\n   - **role** (obligatorisk sträng) - Inställd på \"user\" \n   - **content** (obligatorisk sträng) - Innehåller \"Hello\" som meddelandeinnehåll\n\n3. **stream** (boolean) - Inställd på \"true\" - aktiverar delvisa meddelandedeltas som i ChatGPT\n\n4. **max_tokens** (nummer) - Fält för att ställa in maximala tokens som kan genereras i svaret\n\n5. **n** (nummer) - Anger hur många chattkompletteringsval som ska genereras för varje inmatning\n\nGränssnittet har ett mörkt tema med vit text på svarta/mörkgrå bakgrunder. Det finns en \"Fyll exempel\"-knapp längst ner till höger och olika rullgardinsmenyer och inmatningsfält för att konfigurera API-förfrågningsparametrarna. En röd papperskorg/radera ikon är synlig, troligen för att ta bort meddelandeinlägg."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Det går att se att svaret baseras på bilder, så genom de ovanstående två sätten kan man enkelt använda modellen claude-3-7-sonnet-20250219:s text- och bildbehandlingsförmåga.

Felhantering

Vid anrop av API:et, om ett fel uppstår, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Fel begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Fel begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obefogad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Internt serverfel, något gick fel på servern.

Exempel på felrespons

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur man använder Claude Chat Completion API för att enkelt implementera den officiella Claudes samtalsfunktion. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:et. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.