DEV Community

Cover image for GLM-5.3-Flash Vision: Mengirim Gambar ke Model Konteks 1 Juta
Walse
Walse

Posted on Originally published at apidog.com

GLM-5.3-Flash Vision: Mengirim Gambar ke Model Konteks 1 Juta

GLM-5.3-Flash: Visi Asli dengan Konteks 1 Juta Token

Sebagian besar model visi membuat Anda memilih: mengirim gambar atau banyak teks. Model yang unggul dalam satu hal belum tentu unggul dalam hal lainnya. GLM-5.3-Flash menggabungkan keduanya dengan menerima gambar sebagai blok konten dalam jendela konteks 1.048.576 token.

Coba Apidog hari ini

Kombinasi input gambar asli dan ruang konteks satu juta token ini memungkinkan alur kerja yang sebelumnya sulit dilakukan.

Asli, bukan berbasis adaptor

Pekerjaan visi Z.ai sebelumnya dirilis sebagai model terpisah. GLM-5V-Turbo dan GLM-4.6V memiliki endpoint serta ID model berbeda, sehingga lalu lintas gambar harus diarahkan ke endpoint yang berbeda dari lalu lintas teks. GLM-5.3, versi yang lebih besar, menangani visi melalui adaptor.

GLM-5.3-Flash adalah model pertama dalam seri GLM-5 yang menjadikan gambar sebagai input kelas satu pada model yang sama dan dalam panggilan yang sama.

Secara praktis, Anda mendapatkan satu ID model, satu baris penagihan, satu set batas laju, serta satu jendela konteks untuk gambar dan teks. Untuk model sebelumnya, lihat panduan API GLM-5V-Turbo kami dan panduan GLM-4.6V.

Payload multimodal

Input gambar menggunakan blok konten bertipe. content bukan lagi string, melainkan array:

from openai import OpenAI
import os

client = OpenAI(
    [REDACTED CREDENTIAL],
    base_url="https://api.z.ai/api/paas/v4/",
)

response = client.chat.completions.create(
    model="glm-5.3-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is wrong with this layout on mobile?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/mobile-view.png"},
                },
            ],
        }
    ],
)

print(response.choices[0].message.content)

Enter fullscreen mode Exit fullscreen mode

Untuk gambar lokal atau privat, gunakan URL data base64:

import base64
from pathlib import Path

def image_block(path: str) -> dict:
    data = base64.b64encode(Path(path).read_bytes()).decode("utf-8")
    suffix = Path(path).suffix.lstrip(".").replace("jpg", "jpeg")
    return {
        "type": "image_url",
        "image_url": {"url": f"data:image/{suffix};base64,{data}"},
    }

Enter fullscreen mode Exit fullscreen mode

Beberapa gambar dikirim sebagai beberapa blok. Tidak ada array pintasan URL:

content = [
    {"type": "text", "text": "Image 1 is the design. Image 2 is what we built. List the differences."},
    image_block("design.png"),
    image_block("built.png"),
]

Enter fullscreen mode Exit fullscreen mode

Urutan blok penting. Model membacanya secara berurutan, jadi:

  • Letakkan teks pembingkai sebelum gambar yang dirujuk.
  • Labeli setiap gambar secara eksplisit.
  • Batasi jumlah gambar saat presisi menjadi prioritas.

“Gambar 1 adalah desain” memberi model referensi yang jelas. Pengaturan dasar dan autentikasi tersedia dalam panduan API kami.

Alur kerja yang layak dibangun

Debugging tangkapan layar

Ini adalah kasus penggunaan paling jelas dan yang diandalkan Z.ai. Materi internalnya menggambarkan model yang mengamati “antarmuka, hasil rendering, dan umpan balik interaksi”—lebih dekat dengan agen pengkodean daripada sekadar deskripsi foto.

Kirim rendering yang rusak dan sumber pembuatnya dalam permintaan yang sama:

content = [
    {"type": "text", "text": "This component renders incorrectly below 400px. Here is the screenshot and the source."},
    image_block("bug-mobile.png"),
    {"type": "text", "text": f"```
{% endraw %}
jsx\n{component_source}\n
{% raw %}
```"},
]

Enter fullscreen mode Exit fullscreen mode

Dengan cara ini, model menalar berdasarkan rendering sebenarnya, bukan berdasarkan deskripsi visual yang diterjemahkan manusia ke dalam kata-kata.

Perbandingan desain

Kirim dua gambar dan satu pertanyaan. Dalam CI, pendekatan ini berguna sebagai pemeriksaan awal regresi visual: alat diff menunjukkan piksel yang berubah, sedangkan model membantu menilai apakah perubahan tersebut penting.

Namun, anggap hasilnya sebagai penilaian, bukan kepastian. Gunakan untuk menyaring diff yang perlu diperiksa manusia, bukan sebagai satu-satunya penghalang deployment.

Dokumen dan spesifikasi

Di sinilah konteks satu juta token paling berguna. Masukkan spesifikasi panjang sebagai teks, lampirkan artefak yang dirender sebagai gambar, lalu minta model memeriksa kesesuaiannya:

content = [
    {"type": "text", "text": f"Specification:\n\n{spec_text}"},
    {"type": "text", "text": "Below is the generated report. Does it satisfy every requirement above? List gaps."},
    image_block("generated-report.png"),
]

Enter fullscreen mode Exit fullscreen mode

Spesifikasi 40 halaman dan gambar dalam satu prompt tidak praktis pada model dengan konteks 128K dan visi berbasis adaptor. Catatan rilis Z.ai juga menyebut alur kerja dokumen kantor dan riset keuangan sebagai target perilaku agen model.

Grafik dan dasbor

Membaca grafik lalu mengembalikan data terstruktur adalah tugas ekstraksi standar. Minta JSON dan validasi hasilnya:

content = [
    {"type": "text", "text": "Extract the series in this chart as JSON: [{label, values: [...]}]. Return only JSON."},
    image_block("quarterly.png"),
]

Enter fullscreen mode Exit fullscreen mode

Validasi output terhadap skema. Model dapat menghasilkan angka yang salah dengan format yang benar dan keyakinan tinggi. Validasi struktural menangkap kesalahan bentuk, tetapi tidak selalu menangkap nilai yang keliru.

Untuk ekstraksi dokumen khusus, model spesialis mungkin tetap lebih baik daripada model generalis. Lihat GLM-OCR untuk pemahaman dokumen.

Video dan file

Dokumentasi Z.ai mencantumkan input video dan file selain gambar, dengan mekanisme blok konten yang sama.

Tetap berhati-hati:

  • Dukungan video masih baru dan dokumentasinya terbatas.
  • Penggunaan publiknya jauh lebih sedikit dibandingkan input gambar.
  • Dukungan gateway dapat berbeda-beda.

Kemampuan model tidak otomatis berarti fitur tersebut tersedia di setiap penyedia. Jika video penting bagi aplikasi Anda, uji menggunakan media dan penyedia Anda sendiri sebelum menjadikannya fondasi desain. Jangan menganggap satu baris pada tabel kemampuan sebagai fitur yang sudah terbukti.

Batasan yang perlu diantisipasi

Multimodalitas asli tidak sama dengan multimodalitas yang selalu akurat. Empat mode kegagalan berikut perlu ditangani sebelum rilis.

Angka grafik yang terlihat meyakinkan

Membaca nilai dari garis yang diplot adalah tugas yang mudah menghasilkan jawaban lancar, terformat benar, tetapi salah. Validasi skema hanya menangkap output yang salah format, bukan angka masuk akal yang keliru.

Jika angka tersebut penting, ambil dari data sumber, bukan dari gambar.

Teks kecil

Tangkapan layar UI yang padat, tabel beresolusi rendah, dan kode dalam gambar terkompresi akan mengalami degradasi. Downscaling untuk menghemat token memperburuk masalah.

Pangkas gambar ke area yang relevan daripada mengecilkan seluruh frame.

Presisi spasial

Model biasanya cukup baik dalam mendeskripsikan tata letak, tetapi kurang baik dalam mengukurnya. “Tombol menimpa input” mungkin benar, sedangkan “tombol bergeser 12 piksel ke kiri” biasanya tidak dapat diandalkan.

Urutan dan referensi

Dengan beberapa gambar dalam satu permintaan, model dapat mengaitkan detail dengan gambar yang salah. Labeli gambar secara eksplisit dalam blok teks dan kurangi jumlah gambar saat presisi menjadi prioritas.

Batasan ini bukan hanya milik GLM-5.3-Flash. Ini adalah batasan umum model bahasa visi, dan skor Indeks Intelijen 57 tidak menghilangkannya. Rancang alur kerja agar jawaban yang salah dapat terdeteksi sebelum ditindaklanjuti.

Biaya

Gambar menggunakan token konteks dan ditagih sebagai input; tidak ada biaya gambar terpisah.

Harga daftar adalah $0,15 per juta token input, atau $0,075 selama diskon peluncuran yang berlaku hingga 9 September 2026. Gambar beresolusi tinggi dapat menggunakan banyak token, sehingga resolusi menjadi tuas biaya langsung. Kecilkan gambar sebelum dikirim, kecuali detail halus memang menjadi tujuan permintaan.

reasoning_effort secara default bernilai max, dan penalaran ditagih sebagai token output. Untuk ekstraksi langsung dari gambar, low biasanya cukup dan jauh lebih murah. Lihat rincian harga kami untuk kedua faktor tersebut.

Menjaga biaya gambar tetap terkendali

Terapkan urutan optimasi berikut:

  • Pangkas sebelum melakukan scaling. Wilayah relevan pada resolusi penuh lebih berguna daripada seluruh layar pada setengah resolusi.
  • Sesuaikan resolusi dengan pertanyaan. Pertanyaan seperti “Apakah tata letaknya rusak?” tahan terhadap downscaling agresif. “Apa isi pesan error ini?” tidak.
  • Jangan mengirim ulang gambar yang tidak berubah. Dalam percakapan multi-giliran, gambar yang sudah dikirim tetap berada dalam konteks. Mengirimnya kembali berarti membayarnya lagi.
  • Atur reasoning_effort secara sengaja. Ekstraksi langsung jarang membutuhkan nilai max.

Objek usage pada setiap respons menunjukkan jumlah token aktual per panggilan. Itulah cara paling akurat untuk mengetahui biaya gambar, bukan menebaknya dari ukuran file.

Menguji panggilan multimodal

Permintaan multimodal sulit diuji secara manual. URL data base64 sangat panjang, sedangkan respons berupa teks bebas sehingga regresi mudah terlewatkan.

Dua kebiasaan berikut membantu:

  1. Simpan kumpulan kecil gambar referensi beserta jawaban yang diharapkan.
  2. Validasi hasil ekstraksi terstruktur terhadap skema, bukan hanya dengan inspeksi visual.

Apidog dapat digunakan untuk menyimpan payload gambar dalam request tersimpan, menjaga API key sebagai variabel lingkungan, dan menambahkan assertion pada JSON yang dikembalikan prompt ekstraksi.

Saat model berganti atau penyedia melakukan perubahan, jalankan kembali suite tersebut untuk memastikan jalur visi tetap berfungsi.

FAQ

Apakah GLM-5.3 juga mendukung gambar?

Tidak secara asli. GLM-5.3 mengarahkan visi melalui adaptor terpisah. Flash adalah model multimodal asli, seperti dijelaskan dalam perbandingan kami.

Berapa banyak gambar yang dapat dikirim per permintaan?

Beberapa gambar, masing-masing sebagai blok image_url. Batas praktisnya adalah anggaran konteks Anda.

Sebaiknya menggunakan URL atau base64?

Keduanya berfungsi. Gunakan URL publik untuk gambar yang sudah di-hosting dan dapat dijangkau. Gunakan base64 untuk gambar lokal atau privat.

Apakah model menerima video?

Z.ai mendokumentasikan input video, tetapi fiturnya masih baru dan belum banyak digunakan. Verifikasi menggunakan media serta penyedia Anda sendiri.

Apakah gambar ditagih secara berbeda?

Tidak ada biaya tambahan. Gambar menggunakan token input, sehingga resolusinya memengaruhi biaya.

Top comments (0)