Visi dan dokumen
Model dengan kemampuan vision menerima gambar dalam permintaan yang sama dengan teks: tangkapan layar, foto, bagan, halaman hasil pindai. Sebagian juga membaca PDF dan dokumen lain secara langsung. Cari image dan document pada input_modalities model di daftar model, atau filter vision di halaman models.
Kirim gambar
Jadikan content pesan pengguna sebuah array berisi bagian-bagian. Gambar berupa bagian image_url yang memuat URL HTTPS publik atau data URL base64:
const completion = await client.chat.completions.create({
model: "gemini-3.6-flash",
messages: [
{
role: "user",
content: [
{ type: "text", text: "What's in this picture?" },
{ type: "image_url", image_url: { url: "https://example.com/photo.jpg" } },
],
},
],
});
Berkas lokal dikirim sebagai data URL:
import { readFile } from "node:fs/promises";
const base64 = (await readFile("chart.png")).toString("base64");
const part = { type: "image_url", image_url: { url: `data:image/png;base64,${base64}` } };
- Tambahkan beberapa bagian
image_urluntuk mengirim beberapa gambar; rujuk gambar-gambar tersebut berdasarkan urutannya dalam teks Anda. - JPEG, PNG, WebP, dan GIF didukung secara luas. Gambar yang sangat besar mungkin diperkecil oleh model.
image_url.detail(low,high,auto) didukung oleh model yang mampu menanganinya;lowmembutuhkan lebih sedikit token.- Gambar ditagih sebagai token input, sehingga gambar besar memakan lebih banyak biaya daripada kalimat
Kirim PDF
Model yang membaca dokumen menerima bagian file dengan dokumen sebagai data URL:
{
"model": "gemini-3.6-flash",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Summarise this contract's termination clauses." },
{
"type": "file",
"file": { "filename": "contract.pdf", "file_data": "data:application/pdf;base64,JVBERi0xLjcK..." }
}
]
}
]
}
Untuk ekstraksi teks dari banyak halaman dengan harga tetap per halaman, OCR](/docs/ocr) biasanya lebih murah daripada mengirim dokumen ke model chat.
Pada endpoint Messages
Format Anthropic menggunakan blok image dan document, dengan sumber base64 atau URL:
{
"model": "claude-opus-4-8",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{ "type": "image", "source": { "type": "url", "url": "https://example.com/photo.jpg" } },
{ "type": "document", "source": { "type": "base64", "media_type": "application/pdf", "data": "JVBERi0xLjcK..." } },
{ "type": "text", "text": "Compare the photo with page 2 of the document." }
]
}
]
}
Tentang Responses API
Gunakan bagian input_image dengan image_url, dan bagian input_file dengan file_data serta filename, di dalam pesan pengguna dalam input.
Permintaan terlalu besar
Badan permintaan dapat berukuran hingga 64 MiB. Melebihi batas itu, Anda akan menerima 413. Untuk file besar, gunakan URL yang dapat diambil model, bukan menyisipkan byte-nya langsung.