Lihat referensi API untuk dokumentasi lengkap tentang parameter yang tersedia.

Permintaan dan respons dasar

JSON
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Halo!"
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Beberapa giliran percakapan

API Messages bersifat stateless, yang berarti bahwa Anda selalu mengirimkan seluruh riwayat percakapan ke API. Anda dapat menggunakan pola ini untuk membangun percakapan dari waktu ke waktu. Giliran percakapan sebelumnya tidak harus berasal dari Claude — Anda dapat menggunakan pesan assistant sintetis.

Shell
#!/bin/sh
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-3-5-sonnet-20240620",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Halo, Claude"},
        {"role": "assistant", "content": "Halo!"},
        {"role": "user", "content": "Bisakah kamu menjelaskan LLM kepada saya?"}
        
    ]
}'
Python
import anthropic

message = anthropic.Anthropic().messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Halo, Claude"},
        {"role": "assistant", "content": "Halo!"},
        {"role": "user", "content": "Bisakah kamu menjelaskan LLM kepada saya?"}
    ],
)
print(message)

TypeScript
import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic();

await anthropic.messages.create({
  model: 'claude-3-5-sonnet-20240620',
  max_tokens: 1024,
  messages: [
    {"role": "user", "content": "Halo, Claude"},
    {"role": "assistant", "content": "Halo!"},
    {"role": "user", "content": "Bisakah kamu menjelaskan LLM kepada saya?"}
  ]
});
JSON
{
    "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
    "type": "message",
    "role": "assistant",
    "content": [
        {
            "type": "text",
            "text": "Tentu, saya akan senang menjelaskan..."
        }
    ],
    "stop_reason": "end_turn",
    "stop_sequence": null,
    "usage": {
      "input_tokens": 30,
      "output_tokens": 309
    }
}

Menempatkan kata-kata di mulut Claude

Anda dapat mengisi sebagian respons Claude di posisi terakhir dari daftar pesan input. Ini dapat digunakan untuk membentuk respons Claude. Contoh di bawah ini menggunakan "max_tokens": 1 untuk mendapatkan satu jawaban pilihan ganda dari Claude.

JSON
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Visi

Claude dapat membaca teks dan gambar dalam permintaan. Saat ini, kami mendukung tipe sumber base64 untuk gambar, dan tipe media image/jpeg, image/png, image/gif, dan image/webp. Lihat panduan visi kami untuk detail lebih lanjut.

JSON
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Gambar ini menunjukkan seekor semut, khususnya tampilan close-up dari seekor semut. Semut tersebut ditampilkan secara detail, dengan kepala, antena, dan kakinya yang terlihat jelas. Gambar ini berfokus pada menangkap detail dan fitur rumit dari semut tersebut, kemungkinan diambil dengan lensa makro untuk mendapatkan perspektif close-up yang ekstrem."
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Penggunaan alat dan mode JSON

Lihat panduan kami untuk contoh cara menggunakan alat dengan API Messages.