Panduan ini menjelaskan cara bekerja dengan gambar di Claude, termasuk praktik terbaik, contoh kode, dan keterbatasan yang perlu diingat.

Cara menggunakan vision

Gunakan kemampuan vision Claude melalui:
  • claude.ai. Unggah gambar seperti Anda mengunggah file, atau seret dan jatuhkan gambar langsung ke jendela chat.
  • Console Workbench. Jika Anda memilih model yang menerima gambar (hanya model Claude 3 dan 4), tombol untuk menambahkan gambar muncul di kanan atas setiap blok pesan User.
  • Permintaan API. Lihat contoh dalam panduan ini.

Sebelum Anda mengunggah

Dasar dan Batasan

Anda dapat menyertakan beberapa gambar dalam satu permintaan (hingga 20 untuk claude.ai dan 100 untuk permintaan API). Claude akan menganalisis semua gambar yang disediakan saat merumuskan responsnya. Ini dapat membantu untuk membandingkan atau mengontraskan gambar. Jika Anda mengirimkan gambar yang lebih besar dari 8000x8000 px, gambar akan ditolak. Jika Anda mengirimkan lebih dari 20 gambar dalam satu permintaan API, batas ini adalah 2000x2000 px.
Meskipun API mendukung 100 gambar per permintaan, ada batas ukuran permintaan 32MB untuk endpoint standar.

Evaluasi ukuran gambar

Untuk performa optimal, kami merekomendasikan mengubah ukuran gambar sebelum mengunggah jika terlalu besar. Jika sisi panjang gambar Anda lebih dari 1568 piksel, atau gambar Anda lebih dari ~1,600 token, gambar akan diperkecil terlebih dahulu, mempertahankan rasio aspek, hingga berada dalam batas ukuran. Jika gambar input Anda terlalu besar dan perlu diubah ukurannya, ini akan meningkatkan latensi time-to-first-token, tanpa memberikan performa model tambahan. Gambar yang sangat kecil di bawah 200 piksel pada sisi mana pun dapat menurunkan performa.
Untuk meningkatkan time-to-first-token, kami merekomendasikan mengubah ukuran gambar tidak lebih dari 1,15 megapiksel (dan dalam 1568 piksel di kedua dimensi).
Berikut adalah tabel ukuran gambar maksimum yang diterima oleh API kami yang tidak akan diubah ukurannya untuk rasio aspek umum. Dengan model Claude Sonnet 3.7, gambar-gambar ini menggunakan sekitar 1,600 token dan sekitar $4,80/1K gambar.
Rasio aspekUkuran gambar
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Hitung biaya gambar

Setiap gambar yang Anda sertakan dalam permintaan ke Claude dihitung dalam penggunaan token Anda. Untuk menghitung perkiraan biaya, kalikan perkiraan jumlah token gambar dengan harga per token model yang Anda gunakan. Jika gambar Anda tidak perlu diubah ukurannya, Anda dapat memperkirakan jumlah token yang digunakan melalui algoritma ini: tokens = (width px * height px)/750 Berikut adalah contoh perkiraan tokenisasi dan biaya untuk ukuran gambar yang berbeda dalam batasan ukuran API kami berdasarkan harga per token Claude Sonnet 3.7 sebesar $3 per juta token input:
Ukuran gambar# TokenBiaya / gambarBiaya / 1K gambar
200x200 px(0,04 megapiksel)~54~$0,00016~$0,16
1000x1000 px(1 megapiksel)~1334~$0,004~$4,00
1092x1092 px(1,19 megapiksel)~1590~$0,0048~$4,80

Memastikan kualitas gambar

Saat menyediakan gambar ke Claude, ingatlah hal-hal berikut untuk hasil terbaik:
  • Format gambar: Gunakan format gambar yang didukung: JPEG, PNG, GIF, atau WebP.
  • Kejelasan gambar: Pastikan gambar jelas dan tidak terlalu buram atau berpiksel.
  • Teks: Jika gambar berisi teks penting, pastikan teks dapat dibaca dan tidak terlalu kecil. Hindari memotong konteks visual kunci hanya untuk memperbesar teks.

Contoh prompt

Banyak teknik prompting yang bekerja dengan baik untuk interaksi berbasis teks dengan Claude juga dapat diterapkan pada prompt berbasis gambar. Contoh-contoh ini menunjukkan struktur prompt praktik terbaik yang melibatkan gambar.
Sama seperti dengan penempatan dokumen-kueri, Claude bekerja paling baik ketika gambar datang sebelum teks. Gambar yang ditempatkan setelah teks atau diinterpolasi dengan teks masih akan berkinerja baik, tetapi jika kasus penggunaan Anda memungkinkan, kami merekomendasikan struktur gambar-kemudian-teks.

Tentang contoh prompt

Contoh-contoh berikut menunjukkan cara menggunakan kemampuan vision Claude menggunakan berbagai bahasa pemrograman dan pendekatan. Anda dapat menyediakan gambar ke Claude dalam tiga cara:
  1. Sebagai gambar yang dikodekan base64 dalam blok konten image
  2. Sebagai referensi URL ke gambar yang dihosting online
  3. Menggunakan Files API (unggah sekali, gunakan berkali-kali)
Contoh prompt base64 menggunakan variabel-variabel ini:
    # Untuk gambar berbasis URL, Anda dapat menggunakan URL langsung dalam permintaan JSON Anda
    
    # Untuk gambar yang dikodekan base64, Anda perlu mengkodekan gambar terlebih dahulu
    # Contoh cara mengkodekan gambar ke base64 di bash:
    BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
    
    # Data yang dikodekan sekarang dapat digunakan dalam panggilan API Anda
Di bawah ini adalah contoh cara menyertakan gambar dalam permintaan Messages API menggunakan gambar yang dikodekan base64 dan referensi URL:

Contoh gambar yang dikodekan base64

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "base64",
              "media_type": "image/jpeg",
              "data": "'"$BASE64_IMAGE_DATA"'"
            }
          },
          {
            "type": "text",
            "text": "Describe this image."
          }
        ]
      }
    ]
  }'

Contoh gambar berbasis URL

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "url",
              "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
            }
          },
          {
            "type": "text",
            "text": "Describe this image."
          }
        ]
      }
    ]
  }'

Contoh gambar Files API

Untuk gambar yang akan Anda gunakan berulang kali atau ketika Anda ingin menghindari overhead encoding, gunakan Files API:
# Pertama, unggah gambar Anda ke Files API
curl -X POST https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "[email protected]"

# Kemudian gunakan file_id yang dikembalikan dalam pesan Anda
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "file",
              "file_id": "file_abc123"
            }
          },
          {
            "type": "text",
            "text": "Describe this image."
          }
        ]
      }
    ]
  }'
Lihat contoh Messages API untuk lebih banyak contoh kode dan detail parameter.
Yang terbaik adalah menempatkan gambar lebih awal dalam prompt daripada pertanyaan tentang gambar atau instruksi untuk tugas yang menggunakannya.Minta Claude untuk mendeskripsikan satu gambar.
PeranKonten
User[Gambar] Deskripsikan gambar ini.
Berikut adalah panggilan API yang sesuai menggunakan model Claude Sonnet 3.7.
Python
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Describe this image."
                }
            ],
        }
    ],
)
Dalam situasi di mana ada beberapa gambar, perkenalkan setiap gambar dengan Gambar 1: dan Gambar 2: dan seterusnya. Anda tidak perlu baris baru antara gambar atau antara gambar dan prompt.Minta Claude untuk mendeskripsikan perbedaan antara beberapa gambar.
PeranKonten
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Bagaimana perbedaan gambar-gambar ini?
Berikut adalah panggilan API yang sesuai menggunakan model Claude Sonnet 3.7.
Python
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "How are these images different?"
                }
            ],
        }
    ],
)
Minta Claude untuk mendeskripsikan perbedaan antara beberapa gambar, sambil memberikannya system prompt tentang cara merespons.
Konten
SystemRespond only in Spanish.
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Bagaimana perbedaan gambar-gambar ini?
Berikut adalah panggilan API yang sesuai menggunakan model Claude Sonnet 3.7.
Python
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="Respond only in Spanish.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "How are these images different?"
                }
            ],
        }
    ],
)
Kemampuan vision Claude bersinar dalam percakapan multimodal yang mencampur gambar dan teks. Anda dapat melakukan pertukaran bolak-balik yang diperpanjang dengan Claude, menambahkan gambar baru atau pertanyaan lanjutan di titik mana pun. Ini memungkinkan alur kerja yang kuat untuk analisis gambar iteratif, perbandingan, atau menggabungkan visual dengan pengetahuan lain.Minta Claude untuk mengontraskan dua gambar, kemudian ajukan pertanyaan lanjutan yang membandingkan gambar pertama dengan dua gambar baru.
PeranKonten
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Bagaimana perbedaan gambar-gambar ini?
Assistant[Respons Claude]
UserGambar 1: [Gambar 3] Gambar 2: [Gambar 4] Apakah gambar-gambar ini mirip dengan dua gambar pertama?
Assistant[Respons Claude]
Saat menggunakan API, cukup masukkan gambar baru ke dalam array Messages dalam peran user sebagai bagian dari struktur percakapan multiturn standar.

Keterbatasan

Meskipun kemampuan pemahaman gambar Claude canggih, ada beberapa keterbatasan yang perlu diketahui:
  • Identifikasi orang: Claude tidak dapat digunakan untuk mengidentifikasi (yaitu, menyebutkan nama) orang dalam gambar dan akan menolak melakukannya.
  • Akurasi: Claude mungkin berhalusinasi atau membuat kesalahan saat menginterpretasikan gambar berkualitas rendah, diputar, atau sangat kecil di bawah 200 piksel.
  • Penalaran spasial: Kemampuan penalaran spasial Claude terbatas. Claude mungkin kesulitan dengan tugas yang memerlukan lokalisasi atau tata letak yang tepat, seperti membaca wajah jam analog atau mendeskripsikan posisi tepat bidak catur.
  • Penghitungan: Claude dapat memberikan perkiraan jumlah objek dalam gambar tetapi mungkin tidak selalu tepat secara akurat, terutama dengan jumlah besar objek kecil.
  • Gambar yang dihasilkan AI: Claude tidak tahu apakah gambar dihasilkan AI dan mungkin salah jika ditanya. Jangan mengandalkannya untuk mendeteksi gambar palsu atau sintetis.
  • Konten tidak pantas: Claude tidak akan memproses gambar tidak pantas atau eksplisit yang melanggar Kebijakan Penggunaan yang Dapat Diterima kami.
  • Aplikasi kesehatan: Meskipun Claude dapat menganalisis gambar medis umum, Claude tidak dirancang untuk menginterpretasikan pemindaian diagnostik kompleks seperti CT atau MRI. Output Claude tidak boleh dianggap sebagai pengganti nasihat atau diagnosis medis profesional.
Selalu tinjau dan verifikasi interpretasi gambar Claude dengan hati-hati, terutama untuk kasus penggunaan berisiko tinggi. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau analisis gambar sensitif tanpa pengawasan manusia.

FAQ

Claude saat ini mendukung format gambar JPEG, PNG, GIF, dan WebP, khususnya:
  • image/jpeg
  • image/png
  • image/gif
  • image/webp
Ya, Claude sekarang dapat memproses gambar dari URL dengan blok sumber gambar URL kami di API. Cukup gunakan tipe sumber “url” alih-alih “base64” dalam permintaan API Anda. Contoh:
{
  "type": "image",
  "source": {
    "type": "url",
    "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
  }
}
Ya, ada batas:
  • API: Maksimum 5MB per gambar
  • claude.ai: Maksimum 10MB per gambar
Gambar yang lebih besar dari batas ini akan ditolak dan mengembalikan error saat menggunakan API kami.
Batas gambar adalah:
  • Messages API: Hingga 100 gambar per permintaan
  • claude.ai: Hingga 20 gambar per giliran
Permintaan yang melebihi batas ini akan ditolak dan mengembalikan error.
Tidak, Claude tidak mengurai atau menerima metadata apa pun dari gambar yang diteruskan kepadanya.
Tidak. Unggahan gambar bersifat sementara dan tidak disimpan melampaui durasi permintaan API. Gambar yang diunggah secara otomatis dihapus setelah diproses.
Silakan merujuk ke halaman kebijakan privasi kami untuk informasi tentang bagaimana kami menangani gambar yang diunggah dan data lainnya. Kami tidak menggunakan gambar yang diunggah untuk melatih model kami.
Jika interpretasi gambar Claude tampak salah:
  1. Pastikan gambar jelas, berkualitas tinggi, dan berorientasi dengan benar.
  2. Coba teknik prompt engineering untuk meningkatkan hasil.
  3. Jika masalah berlanjut, tandai output di claude.ai (jempol naik/turun) atau hubungi tim dukungan kami.
Umpan balik Anda membantu kami meningkatkan!
Tidak, Claude hanya model pemahaman gambar. Claude dapat menginterpretasikan dan menganalisis gambar, tetapi tidak dapat menghasilkan, memproduksi, mengedit, memanipulasi, atau membuat gambar.

Mendalami vision

Siap mulai membangun dengan gambar menggunakan Claude? Berikut beberapa sumber daya yang membantu: Jika Anda memiliki pertanyaan lain, jangan ragu untuk menghubungi tim dukungan kami. Anda juga dapat bergabung dengan komunitas developer kami untuk terhubung dengan kreator lain dan mendapatkan bantuan dari ahli Anthropic.