Keluarga model Claude 3 hadir dengan kemampuan vision baru yang memungkinkan Claude untuk memahami dan menganalisis gambar, membuka kemungkinan menarik untuk interaksi multimodal. Dengan Claude, Anda sekarang dapat memberikan input teks dan gambar untuk memperkaya percakapan Anda dan memungkinkan kasus penggunaan baru yang kuat.

Model dengan kemampuan vision

Anda tidak perlu menggunakan versi khusus dari model Claude 3 kami untuk mengakses kemampuan vision Claude. Semua model Claude 3 mampu memahami dan menganalisis gambar.

Panduan ini akan memandu Anda tentang cara bekerja dengan gambar di Claude, termasuk praktik terbaik, contoh kode, dan batasan yang perlu diperhatikan.

Cobalah mengobrol sekarang dengan gambar di claude.ai!


Memulai

Saat ini, Anda dapat memanfaatkan kemampuan vision Claude dengan tiga cara:

  • Melalui claude.ai langsung di jendela obrolan. Cukup unggah gambar seperti yang Anda lakukan dengan file, atau seret dan lepas gambar langsung ke jendela!
  • Melalui Console Workbench kami. Jika Anda memilih model yang menerima gambar (hanya model Claude 3), tombol untuk menambahkan gambar akan muncul di kanan atas setiap blok pesan User.
  • Melalui permintaan API - lihat instruksi di bawah.

Untuk panduan ini, kami akan menggunakan Anthropic Python SDK, dan variabel contoh berikut. Kami akan mengambil gambar sampel dari Wikipedia menggunakan pustaka httpx, tetapi Anda dapat menggunakan sumber gambar apa pun yang sesuai untuk Anda.

Python
import anthropic
import base64
import httpx

client = anthropic.Anthropic()

image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.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.b64encode(httpx.get(image2_url).content).decode("utf-8")

Untuk memanfaatkan gambar saat membuat permintaan API, Anda dapat memberikan gambar ke Claude sebagai gambar yang dikodekan base64 dalam blok konten image. Berikut adalah contoh sederhana dalam Python yang menunjukkan cara menyertakan gambar yang dikodekan base64 dalam permintaan Messages API:

Python

= client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Jelaskan gambar ini."
                }
            ],
        }
    ],
)
print(message)

Format gambar yang didukung adalah JPEG, PNG, GIF, dan WebP. Lihat contoh Messages API untuk contoh kode dan detail parameter lebih lanjut.


Ukuran gambar

Untuk kinerja optimal, kami sarankan untuk mengubah ukuran gambar Anda sebelum mengunggah jika kemungkinan akan melebihi batas ukuran atau token. Jika tepi panjang gambar Anda lebih dari 1568 piksel, atau gambar Anda lebih dari ~1600 token, itu akan terlebih dahulu diperkecil, dengan mempertahankan rasio aspek, sampai berada dalam batas ukuran. Jika gambar input Anda terlalu besar dan perlu diubah ukurannya, itu akan meningkatkan latensi time-to-first-token, tanpa memberikan kinerja model tambahan apa pun. Gambar yang sangat kecil di bawah 200 piksel pada tepi mana pun dapat menyebabkan penurunan kinerja.

Jika Anda ingin meningkatkan time-to-first-token, kami sarankan untuk mengubah ukuran gambar Anda menjadi 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. Semua gambar ini mendekati sekitar ~1600 token dan ~$4,80/1K gambar (dengan asumsi penggunaan Claude 3 Sonnet):

Rasio aspekUkuran gambar
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Praktik terbaik gambar

Saat memberikan gambar ke Claude, perhatikan pedoman berikut untuk hasil terbaik:

  • Kejelasan gambar: Pastikan gambar Anda jelas dan tidak terlalu buram atau terpiksel. Claude mungkin kesulitan menafsirkan gambar yang tidak jelas atau berkualitas rendah dengan akurat.
  • Penempatan gambar: Sama seperti penempatan dokumen-pertanyaan, Claude bekerja paling baik ketika gambar datang sebelum teks. Gambar yang ditempatkan setelah teks atau disisipkan dengan teks masih akan berkinerja baik, tetapi jika kasus penggunaan Anda memungkinkan, kami sarankan struktur gambar-kemudian-teks. Lihat tips prompting vision untuk detail lebih lanjut.
  • Teks: Jika gambar Anda berisi teks penting, pastikan teks tersebut terbaca dan tidak terlalu kecil. Namun, hindari memotong konteks visual utama hanya untuk memperbesar teks.
  • Beberapa gambar: Anda dapat menyertakan beberapa gambar dalam satu permintaan (hingga 5 untuk claude.ai dan 20 untuk permintaan API). Claude akan menganalisis semua gambar yang diberikan saat merumuskan responsnya. Ini dapat membantu untuk membandingkan atau membedakan gambar.

Lihat batasan untuk detail dan pedoman lebih lanjut.


Tips prompting

Banyak teknik prompting yang bekerja dengan baik untuk interaksi berbasis teks dengan Claude juga dapat diterapkan pada prompt berbasis gambar. Lihat buku resep multimodal kami untuk panduan tentang teknik pemrosesan gambar dan kasus penggunaan, lengkap dengan teknik dan strategi prompting yang menyertainya.

Di bawah ini adalah beberapa contoh struktur prompt praktik terbaik yang melibatkan gambar. Secara umum, sebaiknya menempatkan gambar lebih awal dalam prompt daripada pertanyaan tentangnya atau instruksi untuk tugas yang menggunakannya, dan dalam situasi di mana ada beberapa gambar, untuk memperkenalkan setiap gambar dengan Gambar 1: dan Gambar 2: dan seterusnya. Anda tidak memerlukan baris baru antara gambar atau antara gambar dan prompt.

1. Contoh: Satu gambar

Berikut adalah struktur prompt:

PeranKonten
User[Gambar] Jelaskan gambar ini.

Berikut adalah panggilan API yang sesuai:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Jelaskan gambar ini."
                }
            ],
        }
    ],
)

2. Contoh: Beberapa gambar

Berikut adalah struktur prompt:

PeranKonten
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Apa perbedaan gambar ini?

Berikut adalah panggilan API yang sesuai:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Gambar 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Gambar 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Apa perbedaan gambar ini?"
                }
            ],
        }
    ],
)

3. Contoh: Beberapa gambar dengan prompt sistem

Berikut adalah struktur prompt:

Konten
SystemJawab hanya dalam bahasa Spanyol.
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Apa perbedaan gambar ini?

Berikut adalah panggilan API yang sesuai:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Jawab hanya dalam bahasa Spanyol.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Gambar 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Gambar 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Apa perbedaan gambar ini?"
                }
            ],
        }
    ],
)

4. Contoh: Empat gambar dalam dua giliran percakapan

Kemampuan vision Claude benar-benar bersinar dalam percakapan multimodal yang mencampur gambar dan teks. Anda dapat melakukan pertukaran bolak-balik yang diperpanjang dengan Claude, menambahkan gambar baru atau pertanyaan tindak lanjut kapan saja. Ini memungkinkan alur kerja yang kuat untuk analisis gambar iteratif, perbandingan, atau menggabungkan visual dengan pengetahuan lain.

Berikut adalah contoh struktur prompt:

PeranKonten
UserGambar 1: [Gambar 1] Gambar 2: [Gambar 2] Apa perbedaan gambar ini?
Assistant[Respons Claude]
UserGambar 1: [Gambar 3] Gambar 2: [Gambar 4] Apakah 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 apa pun.


Biaya gambar

Setiap gambar yang Anda sertakan dalam permintaan ke Claude dihitung terhadap penggunaan token Anda. Untuk menghitung perkiraan biaya, kalikan perkiraan jumlah token gambar dengan harga per token dari model yang Anda gunakan. Anda dapat menemukan detail harga model di halaman harga kami.

Dengan asumsi gambar Anda tidak perlu diubah ukurannya, Anda dapat memperkirakan jumlah token yang digunakan melalui algoritme sederhana ini:

token = (lebar px * tinggi px)/750

Berikut adalah beberapa contoh tokenisasi dan biaya perkiraan untuk ukuran gambar yang berbeda dalam batasan ukuran API kami, dengan asumsi penggunaan Claude 3 Sonnet seharga $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

Batasan

Meskipun kemampuan pemahaman gambar Claude mutakhir, ada beberapa batasan yang perlu diperhatikan:

  • Identifikasi orang: Claude tidak dapat digunakan untuk mengidentifikasi (yaitu, menyebutkan nama) orang dalam gambar dan akan menolak untuk melakukannya.
  • Akurasi: Claude mungkin berhalusinasi atau membuat kesalahan saat menafsirkan gambar berkualitas rendah, diputar, atau sangat kecil di bawah 200 piksel.
  • Penalaran spasial: Kemampuan penalaran spasial Claude terbatas. Itu mungkin kesulitan dengan tugas yang memerlukan lokalisasi atau tata letak yang tepat, seperti membaca wajah jam analog atau menjelaskan posisi bidak catur yang tepat.
  • Menghitung: Claude dapat memberikan perkiraan jumlah objek dalam gambar tetapi mungkin tidak selalu akurat, terutama dengan sejumlah besar objek kecil.
  • Gambar yang dihasilkan AI: Claude tidak tahu apakah suatu gambar dihasilkan oleh AI dan mungkin salah jika ditanya. Jangan mengandalkannya untuk mendeteksi gambar palsu atau sintetis.
  • Konten yang tidak pantas: Claude tidak akan memproses gambar yang tidak pantas atau eksplisit yang melanggar Kebijakan Penggunaan yang Dapat Diterima kami.
  • Aplikasi perawatan kesehatan: Meskipun Claude dapat menganalisis gambar medis umum, itu tidak dirancang untuk menafsirkan pemindaian diagnostik yang 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 yang berisiko tinggi. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau analisis gambar sensitif tanpa pengawasan manusia.


FAQ

Format file gambar apa yang didukung Claude?

Claude saat ini mendukung format gambar JPEG, PNG, GIF, dan WebP, khususnya image/jpeg, image/png, image/gif, dan image/webp.

Dapatkah Claude membaca URL gambar?

Claude tidak dapat membaca URL gambar pada antarmuka apa pun, termasuk di claude.ai. API kami saat ini tidak mendukung penambahan URL baik dalam blok text atau image. Menambahkan URL gambar (atau URL jenis apa pun) dalam blok text mungkin menyebabkan Claude berhalusinasi, karena Claude saat ini tidak dapat mengambil informasi dari URL tersebut.

Apakah ada batasan ukuran file gambar yang dapat saya unggah?

Ya, ukuran file gambar maksimum yang diizinkan adalah 5MB per gambar (10MB per gambar di claude.ai). Gambar yang lebih besar dari 5MB akan ditolak dan mengembalikan kesalahan saat menggunakan API kami.

Berapa banyak gambar yang dapat saya sertakan dalam satu permintaan?

Anda dapat menyertakan hingga 20 gambar dalam satu permintaan melalui Messages API. Anda dapat menyertakan hingga 5 gambar per giliran di claude.ai. Jumlah gambar di atas batas itu akan ditolak dan mengembalikan kesalahan saat menggunakan API kami.

Apakah Claude membaca metadata gambar?

Tidak, Claude tidak mengurai atau menerima metadata apa pun dari gambar yang diteruskan kepadanya.

Dapatkah saya menghapus gambar yang telah saya unggah?

Tidak. Selain itu, unggahan gambar bersifat sementara dan tidak disimpan melebihi durasi permintaan API. Gambar yang diunggah secara otomatis dihapus setelah diproses.

Di mana saya dapat menemukan detail lebih lanjut tentang privasi dan keamanan data untuk unggahan gambar?

Silakan merujuk ke halaman kebijakan privasi kami untuk informasi tentang cara kami menangani gambar yang diunggah dan data lainnya. Kami tidak menggunakan gambar yang diunggah untuk melatih model kami.

Apa yang harus saya lakukan jika interpretasi gambar Claude tampak salah?

Jika Anda mendapatkan interpretasi gambar dari Claude yang tampaknya salah, pertama-tama periksa kembali apakah gambar tersebut jelas, berkualitas tinggi, dan diorientasikan dengan benar. Jika masalah berlanjut, cobalah untuk meningkatkan hasil dengan menggunakan teknik rekayasa prompt. Jika masalah tidak dapat diselesaikan, beri tahu kami dengan menandai output yang memprihatinkan secara langsung di claude.ai melalui antarmuka jempol ke atas / ke bawah atau menghubungi tim dukungan kami. Masukan Anda membantu kami meningkatkan!

Dapatkah Claude menghasilkan, memproduksi, mengedit, memanipulasi, atau membuat gambar?

Tidak, Claude hanya model pemahaman gambar. Itu dapat menafsirkan dan menganalisis gambar, tetapi tidak dapat menghasilkan, memproduksi, mengedit, memanipulasi, atau membuat gambar.


Menyelami lebih dalam tentang vision

Siap untuk mulai membangun dengan gambar menggunakan Claude? Berikut adalah beberapa sumber daya yang membantu:

Jika Anda memiliki pertanyaan lain, jangan ragu untuk menghubungi tim dukungan kami. Anda juga dapat bergabung dengan komunitas pengembang kami untuk terhubung dengan kreator lain dan mendapatkan bantuan dari para ahli Anthropic.

Kami sangat senang melihat apa yang Anda buat dengan kemampuan vision baru Claude yang kuat!