Panduan ini menjelaskan cara bekerja dengan gambar di Claude, termasuk praktik terbaik, contoh kode, dan batasan yang perlu diingat.
Gunakan kemampuan visi Claude melalui:
Anda dapat menyertakan beberapa gambar dalam satu permintaan: hingga 20 untuk claude.ai, dan hingga 600 untuk permintaan API (100 untuk model dengan jendela konteks token 200k). Claude menganalisis semua gambar yang disediakan saat merumuskan responsnya. Ini dapat membantu untuk membandingkan atau membedakan gambar.
Jika Anda mengirimkan gambar yang lebih besar dari 8000x8000 px, gambar tersebut akan ditolak. Jika Anda mengirimkan lebih dari 20 gambar dalam satu permintaan API, batas ini adalah 2000x2000 px.
Meskipun API mendukung hingga 600 gambar per permintaan, batas ukuran permintaan (32 MB untuk titik akhir standar; lebih rendah di beberapa platform pihak ketiga) dapat tercapai terlebih dahulu. Untuk banyak gambar, pertimbangkan untuk mengunggah dengan Files API dan mereferensikan dengan file_id untuk menjaga payload permintaan tetap kecil.
Bahkan saat menggunakan Files API, permintaan dengan banyak gambar besar dapat gagal sebelum mencapai jumlah 600 gambar. Kurangi dimensi gambar atau ukuran file (misalnya, dengan downsampling) sebelum mengunggah (lihat Evaluasi ukuran gambar).
Untuk meminimalkan latensi tanpa mengorbankan kualitas output, ubah ukuran gambar sebelum mengunggah jika terlalu besar. Pada Claude Opus 4.6, Claude Sonnet 4.6, dan model sebelumnya, jika tepi panjang gambar Anda lebih dari 1568 piksel, atau gambar Anda lebih dari ~1.600 token, gambar tersebut pertama kali diperkecil, mempertahankan rasio aspek, hingga berada dalam batas ukuran.
Jika gambar input Anda terlalu besar dan perlu diubah ukurannya, hal ini meningkatkan latensi time-to-first-token, tanpa manfaat untuk kualitas output. Gambar yang sangat kecil di bawah 200 piksel di tepi mana pun dapat menurunkan kualitas output.
Untuk model sebelum Claude Opus 4.7, untuk meningkatkan time-to-first-token, pertimbangkan untuk mengubah ukuran gambar menjadi tidak lebih dari 1,15 megapiksel (dan dalam 1568 piksel di kedua dimensi). Untuk Claude Opus 4.7, lihat Dukungan gambar resolusi tinggi di bawah.
Claude Opus 4.7 adalah model Claude pertama dengan dukungan gambar resolusi tinggi. Resolusi gambar maksimum adalah 2576 piksel pada tepi panjang (naik dari 1568 px pada model sebelumnya). Ini membuka keuntungan kinerja pada beban kerja yang berat visi dan sangat berharga untuk penggunaan komputer, pemahaman tangkapan layar, dan analisis dokumen.
Dukungan resolusi tinggi otomatis pada Claude Opus 4.7 dan tidak memerlukan header beta atau opt-in sisi klien.
Biaya token: Gambar resolusi penuh pada Claude Opus 4.7 dapat menggunakan hingga sekitar 3x lebih banyak token gambar daripada pada model sebelumnya (hingga 4784 token per gambar, dibandingkan dengan batas sebelumnya sekitar ~1.600 token per gambar). Jika Anda tidak memerlukan kejelasan tambahan, downsample gambar sebelum mengirim untuk mengontrol biaya token.
Matematika koordinat: Pada Claude Opus 4.7, koordinat penunjukan dan kotak pembatas yang dikembalikan oleh model adalah 1
dengan piksel gambar aktual, jadi tidak ada konversi faktor skala yang diperlukan. Ini menyederhanakan penggunaan komputer, anotasi, dan alur kerja lokalisasi.Berikut adalah tabel ukuran gambar maksimum yang diterima oleh API yang tidak akan diubah ukurannya untuk rasio aspek umum. Dengan Claude Sonnet 4.6, gambar-gambar ini menggunakan sekitar 1.600 token dan sekitar $4,80/1k gambar.
| Rasio aspek | Ukuran gambar |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
Setiap gambar yang Anda sertakan dalam permintaan ke Claude dihitung terhadap penggunaan token Anda. Untuk menghitung biaya perkiraan, kalikan jumlah token gambar perkiraan 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 tokenisasi perkiraan dan biaya untuk ukuran gambar berbeda dalam batasan ukuran API berdasarkan harga per-token Claude Sonnet 4.6 sebesar $3 per juta token input:
| Ukuran gambar | # Token | Biaya / gambar | Biaya / 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 |
Saat memberikan gambar kepada Claude, pertimbangkan hal berikut untuk hasil terbaik:
Banyak dari teknik prompting yang bekerja dengan baik untuk interaksi berbasis teks dengan Claude juga dapat diterapkan pada prompt berbasis gambar.
Contoh-contoh ini mendemonstrasikan struktur prompt praktik terbaik yang melibatkan gambar.
Sama seperti menempatkan dokumen panjang sebelum kueri Anda meningkatkan hasil dalam prompt teks, Claude bekerja paling baik ketika gambar datang sebelum teks. Gambar yang ditempatkan setelah teks atau diinterpolasi dengan teks masih berkinerja baik, tetapi jika kasus penggunaan Anda memungkinkan, lebih suka struktur gambar-lalu-teks.
Contoh-contoh berikut mendemonstrasikan cara menggunakan kemampuan visi Claude menggunakan berbagai bahasa pemrograman dan pendekatan. Anda dapat memberikan gambar kepada Claude dalam tiga cara:
imagePrompt contoh base64 menggunakan variabel-variabel ini:
import base64
import httpx
# Untuk gambar yang dikodekan base64
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")
image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")
# Untuk gambar berbasis URL, Anda dapat menggunakan URL langsung dalam permintaan AndaDi bawah ini adalah contoh cara menyertakan gambar dalam permintaan Messages API menggunakan gambar yang dikodekan base64 dan referensi URL:
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
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)client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
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."},
],
}
],
)
print(message)Untuk gambar yang akan Anda gunakan berulang kali atau ketika Anda ingin menghindari overhead encoding, gunakan Files API. Unggah gambar sekali, kemudian referensikan file_id yang dikembalikan dalam pesan berikutnya alih-alih mengirim ulang data base64.
Dalam percakapan multi-turn dan alur kerja agentic, setiap permintaan mengirim ulang riwayat percakapan lengkap. Jika gambar dikodekan base64, byte gambar lengkap disertakan dalam payload pada setiap turn, yang dapat secara signifikan meningkatkan ukuran permintaan dan latensi seiring pertumbuhan percakapan. Mengunggah gambar ke Files API dan mereferensikannya dengan file_id membuat payload permintaan tetap kecil terlepas dari berapa banyak gambar yang terakumulasi dalam riwayat percakapan.
client = anthropic.Anthropic()
# Unggah file gambar
with open("image.jpg", "rb") as f:
file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))
# Gunakan file yang diunggah dalam pesan
message = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
betas=["files-api-2025-04-14"],
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 lebih banyak contoh kode dan detail parameter.
Meskipun kemampuan pemahaman gambar Claude terdepan, ada beberapa keterbatasan yang perlu diketahui:
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.
Siap mulai membangun dengan gambar menggunakan Claude? Berikut adalah beberapa sumber daya yang berguna:
Jika Anda memiliki pertanyaan lain, hubungi tim dukungan. Anda juga dapat bergabung dengan komunitas pengembang untuk terhubung dengan kreator lain dan mendapatkan bantuan dari ahli Anthropic.
Was this page helpful?