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.
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)
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}"},
}
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"),
]
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 %}
```"},
]
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"),
]
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"),
]
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_effortsecara sengaja. Ekstraksi langsung jarang membutuhkan nilaimax.
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:
- Simpan kumpulan kecil gambar referensi beserta jawaban yang diharapkan.
- 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)