Langsung ke konten

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_url untuk 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; low membutuhkan 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.