Vision
Kemampuan vision Claude memungkinkannya memahami dan menganalisis gambar, membuka berbagai kemungkinan menarik untuk interaksi multimodal.
Panduan ini menjelaskan cara mengirim gambar ke Claude, batasan dan biaya yang berlaku, serta tempat menemukan panduan untuk alur kerja berbasis koordinat.
Mengirim gambar ke Claude
Gunakan kemampuan vision Claude melalui:
- claude.ai. Unggah gambar seperti Anda mengunggah file, atau seret dan lepas gambar langsung ke jendela chat.
- Playground di Claude Console. Tambahkan gambar langsung ke blok pesan User mana pun.
- Permintaan API. Lihat contoh-contoh berikut.
Di API, berikan gambar ke Claude sebagai blok konten image menggunakan salah satu dari tiga jenis sumber:
- Gambar berenkode base64 yang disematkan dalam body permintaan
- Referensi URL ke gambar yang dihosting secara online
file_idyang dikembalikan oleh Files API (unggah sekali, referensikan berkali-kali)
Contoh gambar berenkode base64
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-5-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."},
],
}
],
)
print(message)Contoh gambar berbasis URL
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://platform.claude.com/docs/images/vision-example.jpg",
},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message)Contoh gambar Files API
Untuk gambar yang akan Anda gunakan berulang kali atau ketika Anda ingin menghindari overhead pengodean, gunakan Files API. Unggah gambar sekali, lalu referensikan file_id yang dikembalikan dalam pesan-pesan berikutnya alih-alih mengirim ulang data base64.
client = anthropic.Anthropic()
# Unggah file gambar
with open("vision-example.jpg", "rb") as f:
file_upload = client.files.upload(file=("vision-example.jpg", f, "image/jpeg"))
# Gunakan file yang telah diunggah dalam pesan
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {"type": "file", "file_id": file_upload.id},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message.content)Lihat contoh Messages API untuk contoh kode dan detail parameter lebih lanjut.
Beberapa gambar
Anda dapat menyertakan beberapa gambar dalam satu permintaan, dan Claude menganalisisnya secara bersama-sama. Ini berguna untuk membandingkan gambar, menanyakan perbedaan, atau bekerja dengan suatu urutan seperti halaman-halaman dokumen. Saat mengirim beberapa gambar, perkenalkan masing-masing dengan label teks singkat (Image 1:, Image 2:, dan seterusnya) sehingga Anda dapat merujuknya berdasarkan nama dalam prompt Anda dan pada giliran lanjutan.
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image2_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Image 1:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image1_data,
},
},
{"type": "text", "text": "Image 2:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image2_data,
},
},
{"type": "text", "text": "How are these images different?"},
],
}
],
)
print(message)Dalam percakapan multi-giliran, tambahkan gambar baru pada giliran user berikutnya dengan cara yang sama. Claude memiliki akses ke setiap gambar dari giliran sebelumnya, sehingga pertanyaan lanjutan seperti "Apakah ini mirip dengan dua gambar pertama?" berfungsi tanpa perlu menyertakan kembali gambar sebelumnya dalam konten giliran baru.
Batasan dan biaya gambar
Batasan permintaan
Jumlah maksimum gambar per pesan atau permintaan adalah:
- 20 per pesan di claude.ai.
- 100 per permintaan di API, untuk model dengan "context window" (jendela konteks) 200k token.
- 600 per permintaan di API, untuk semua model lainnya.
Dimensi maksimum per gambar adalah 8000x8000 px.
Jika satu permintaan API berisi lebih dari 20 gambar, batas dimensi per gambar yang lebih ketat berlaku untuk setiap gambar dalam permintaan tersebut. Semua blok image dalam permintaan dihitung terhadap ambang ini, termasuk gambar dari giliran percakapan sebelumnya yang Anda kirim ulang dan gambar yang bersarang di dalam konten tool_result (misalnya, tangkapan layar yang dikembalikan ke alat computer use). Di Amazon Bedrock dan Google Cloud, blok dokumen seperti PDF juga dihitung terhadap ambang ini. Gambar yang melebihi batas yang lebih ketat akan ditolak dengan invalid_request_error yang pesannya merujuk pada "many-image requests" dan menyatakan batas saat ini dalam piksel. Agar tetap di bawah batas di semua platform, ubah ukuran setiap gambar sehingga tidak ada dimensi yang melebihi 2000 px, atau batasi permintaan hingga 20 blok gambar dan dokumen atau kurang.
Ukuran maksimum per gambar adalah:
- 10 MB (berenkode base64) saat menggunakan Claude API secara langsung.
- 5 MB (berenkode base64) di Amazon Bedrock dan Google Cloud.
- 10 MB di claude.ai.
Format yang didukung
Claude mendukung gambar JPEG, PNG, GIF, dan WebP (image/jpeg, image/png, image/gif, image/webp). Animasi tidak didukung, dan hanya frame pertama yang digunakan.
Resolusi dan biaya token
Claude melihat gambar dalam bentuk patch, bukan piksel. Setiap patch adalah blok gambar berukuran 28×28 piksel, yang disebut sebagai token visual. Oleh karena itu, sebuah gambar memerlukan ⌈width / 28⌉ × ⌈height / 28⌉ token visual.
Setiap model memiliki resolusi gambar native maksimum, yang dinyatakan sebagai batas sisi panjang dan batas token visual. Gambar yang lebih besar dari salah satu batas tersebut akan diperkecil sebelum diproses; lihat Cara Claude mengubah ukuran dan menambahkan padding pada gambar untuk aturan persisnya. Pengecualiannya adalah tangkapan layar dan gambar zoom yang Anda kembalikan ke toolset computer use dan browser use: API menolak gambar tool_result yang melebihi batas model dengan error validasi alih-alih memperkecilnya, jadi ubah ukuran gambar tersebut di aplikasi Anda sebelum mengembalikannya. Agar gambar berukuran berlebih lainnya ditolak dengan error alih-alih diperkecil, atur field transformations pada blok gambar.
| Tingkat resolusi | Model | Sisi panjang maks | Token visual maks |
|---|---|---|---|
| Resolusi tinggi | Claude 4.7 dan model yang lebih baru | 2576 px | 4784 |
| Standar | Semua model lainnya | 1568 px | 1568 |
Dukungan resolusi tinggi bersifat otomatis pada model yang tercantum dan tidak memerlukan header beta atau opt-in di sisi klien.
Tabel berikut menunjukkan resolusi setelah diperkecil dan biaya token visual untuk beberapa ukuran gambar pada setiap tingkat:
| Ukuran gambar | Tingkat standar: diperkecil menjadi | Tingkat standar: token | Tingkat resolusi tinggi: diperkecil menjadi | Tingkat resolusi tinggi: token |
|---|---|---|---|---|
| 200x200 px (0,04 megapiksel) | Tidak diubah ukurannya | 64 | Tidak diubah ukurannya | 64 |
| 1000x1000 px (1 megapiksel) | Tidak diubah ukurannya | 1296 | Tidak diubah ukurannya | 1296 |
| 1092x1092 px (1,19 megapiksel) | Tidak diubah ukurannya | 1521 | Tidak diubah ukurannya | 1521 |
| 1920x1080 px (2,07 megapiksel) | 1456x819 px | 1560 | Tidak diubah ukurannya | 2691 |
| 2000x1500 px (3 megapiksel) | 1269x952 px | 1564 | Tidak diubah ukurannya | 3888 |
| 3840x2160 px (8,29 megapiksel) | 1456x819 px | 1560 | 2576x1449 px | 4784 |
Ketika sebuah gambar diperkecil, Claude menskalakannya ke ukuran terbesar yang sesuai dengan batas tingkat tersebut sambil mempertahankan rasio aspeknya. Ini membatasi biaya token. Untuk aturan persis dan implementasi referensi, lihat Cara Claude mengubah ukuran dan menambahkan padding pada gambar.
Untuk memperkirakan biaya, kalikan jumlah token dengan harga per token model yang Anda gunakan. Misalnya, dengan harga Claude Haiku 4.5 sebesar $1 USD per juta token input (tingkat standar), gambar 1000×1000 berbiaya sekitar $1,30 USD per seribu gambar. Dengan harga Claude Opus 5 sebesar $5 USD per juta (tingkat resolusi tinggi), gambar yang sama berbiaya sekitar $6,48 USD per seribu dan gambar 4K sekitar $23,92 USD per seribu.
Gambar resolusi tinggi dapat menggunakan hingga kira-kira tiga kali lebih banyak token visual dibandingkan gambar yang sama pada model tingkat standar. Jika Anda tidak memerlukan fidelitas tambahan yang diberikan resolusi tinggi untuk computer use, pemahaman tangkapan layar, dan dokumen padat, lakukan downsampling pada gambar sebelum mengirim untuk mengendalikan biaya token. Untuk meminimalkan latensi dan menyederhanakan alur kerja berbasis koordinat, utamakan mengubah ukuran gambar sebelum mengunggahnya.
Panduan kualitas gambar
Saat memberikan gambar ke Claude, perhatikan hal-hal berikut untuk hasil terbaik:
- Kejernihan gambar: Pastikan gambar jernih dan tidak terlalu buram atau pecah (pixelated).
- Teks: Jika gambar berisi teks penting, pastikan teks tersebut terbaca dan tidak terlalu kecil. Hindari memotong konteks visual penting hanya untuk memperbesar teks.
- Pengubahan ukuran: Perhatikan bahwa gambar Anda mungkin diubah ukurannya jika terlalu besar (lihat Resolusi dan biaya token); hal ini, misalnya, dapat membuat teks kurang terbaca. Pertimbangkan untuk mengubah ukuran gambar Anda terlebih dahulu, memotongnya, atau keduanya. Agar gambar berukuran berlebih ditolak dengan error alih-alih diubah ukurannya (penting untuk alur kerja koordinat), tandai blok gambar dengan
"oversized_image": "error". - Kompresi gambar: Mengompresi gambar sebelum mengirimnya, menggunakan format lossy seperti JPEG atau WebP (mode lossy), dapat mengurangi latensi dengan memperkecil ukuran permintaan. Namun, hal ini dapat menimbulkan artefak yang merugikan kinerja model, terutama ketika beberapa tahap kompresi diterapkan. Misalnya, kompresi JPEG yang berat dapat membuat teks sulit dibaca. Pastikan pengaturan kompresi Anda sesuai untuk tugas tersebut dengan memeriksa gambar aktual yang dikirim ke API.
Koordinat dan bounding box
Untuk bounding box, titik, dan koordinat piksel, lihat Koordinat dan bounding box. Claude mengembalikan koordinat piksel absolut relatif terhadap gambar yang dilihatnya setelah pengubahan ukuran; panduan tersebut membahas cara Claude mengubah ukuran dan menambahkan padding pada gambar serta cara mengubah ukuran terlebih dahulu atau menskalakan ulang agar koordinat selaras dengan gambar asli Anda.
Keterbatasan
Meskipun kemampuan pemahaman gambar Claude sangat mutakhir, ada beberapa keterbatasan yang perlu diperhatikan:
- Identifikasi orang: Claude tidak dapat digunakan untuk menyebutkan nama orang dalam gambar dan akan menolak melakukannya.
- Akurasi: Claude mungkin berhalusinasi atau membuat kesalahan saat menafsirkan gambar berkualitas rendah, diputar, atau sangat kecil di bawah 200 piksel.
- Penalaran spasial: Output koordinat dan lokalisasi Claude bersifat perkiraan. Ikuti panduan di Koordinat dan bounding box dan verifikasi output sebelum mengandalkannya.
- Penghitungan: Claude dapat memberikan perkiraan jumlah objek dalam gambar tetapi mungkin tidak selalu akurat secara tepat, terutama dengan objek kecil dalam jumlah besar.
- Gambar buatan AI: Claude tidak dapat menentukan apakah sebuah gambar dibuat oleh AI dan mungkin salah jika ditanya. Jangan mengandalkannya untuk mendeteksi gambar palsu atau sintetis.
- Konten tidak pantas: Claude tidak memproses gambar tidak pantas atau eksplisit yang melanggar Kebijakan Penggunaan yang Dapat Diterima.
- Aplikasi kesehatan: Meskipun Claude dapat menganalisis gambar medis umum, Claude tidak dirancang untuk menafsirkan pindaian diagnostik kompleks seperti CT atau MRI. Output Claude tidak boleh dianggap sebagai pengganti saran atau diagnosis medis profesional.
Selalu tinjau dan verifikasi interpretasi gambar Claude dengan cermat, terutama untuk kasus penggunaan berisiko tinggi. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau analisis gambar sensitif tanpa pengawasan manusia.
FAQ
JPEG, PNG, GIF, dan WebP. Lihat Format yang didukung.
Ya. Gunakan jenis sumber url alih-alih base64 dalam blok konten image. Lihat contoh gambar berbasis URL.
Ya. Lihat Batasan permintaan untuk batas ukuran per gambar dan ukuran permintaan keseluruhan di Claude API, Amazon Bedrock, Google Cloud, dan claude.ai.
Hingga 600 per permintaan API (100 untuk model dengan jendela konteks 200k token) dan 20 per giliran di claude.ai. Lihat Batasan permintaan untuk detail dan batas dimensi per gambar yang lebih rendah yang berlaku di atas 20 gambar.
Tidak, Claude tidak mengurai atau menerima metadata apa pun dari gambar yang diberikan kepadanya.
Tidak. Unggahan gambar bersifat sementara dan tidak disimpan melebihi durasi permintaan API. Gambar yang diunggah dihapus secara otomatis setelah diproses.
Lihat halaman kebijakan privasi Anthropic untuk informasi tentang bagaimana gambar yang diunggah dan data lainnya ditangani. Anthropic tidak menggunakan gambar yang diunggah untuk melatih model.
Jika interpretasi gambar Claude tampak tidak benar:
- Pastikan gambar jernih, berkualitas tinggi, dan berorientasi dengan benar.
- Coba teknik prompt engineering untuk meningkatkan hasil.
- Jika masalah berlanjut, tandai output di claude.ai (jempol ke atas/ke bawah) atau hubungi tim dukungan.
Umpan balik Anda membantu meningkatkan Claude!
Tidak, Claude hanyalah model pemahaman gambar. Claude dapat menafsirkan dan menganalisis gambar, tetapi tidak dapat menghasilkan, memproduksi, mengedit, memanipulasi, atau membuat gambar.
Langkah selanjutnya
Dapatkan tips dan teknik praktik terbaik untuk tugas seperti menafsirkan grafik dan mengekstrak konten dari formulir.
Lihat dokumentasi Messages API, termasuk contoh panggilan API yang melibatkan gambar.
Was this page helpful?