Dukungan visi DeepSeek tidak lagi menjadi proyek sampingan pada 10 September 2026. Dengan rilis GA (General Availability) DeepSeek-V4.1-Flash, input gambar berada di model utama di balik satu ID, deepseek-flash. Tidak ada lagi build visi terpisah dan tidak ada sufiks "Exp". Catatan rilis menghentikan `deepseek-v4-flash` dan `deepseek-v4-flash-vision-exp`; permintaan ke salah satu nama tersebut sekarang diarahkan ke V4.1-Flash.
Hal ini penting jika Anda membangun di atas endpoint eksperimental tiga minggu yang lalu. Format permintaan yang Anda tulis untuk V4-Flash-Vision-Exp masih berfungsi, tetapi model yang membaca gambar Anda adalah yang baru: 763B parameter, dengan encoder visi yang dilatih dari awal bersamaan dengan tulang punggung teks. Panduan ini mencakup apa arti "multimodal asli" dalam praktik, tiga cara untuk mengirimkan gambar, parameter detail, biaya gambar, dan cara membuat uji visi yang dapat diulang di Apidog yang membuktikan nama lama dan nama baru berperilaku dengan cara yang sama.
Intinya
- ID model:
deepseek-flash. Nama lamadeepseek-v4-flash-vision-expmasih dapat diresolusi tetapi dilayani oleh V4.1-Flash. - Gambar masuk ke dalam array
contentpesan pengguna: URL data base64 (hingga 32 MiB), URL eksternal (hingga 8.192 karakter), atau ID file. - Kolom
detailopsional:low,high(aliasoriginal), atauauto. - Benchmark visi, seperti yang dilaporkan oleh DeepSeek: MMMU-Pro 56.5, CVBench 77.9, DocVQA 95.6, RefCOCO 86.0.
- Penetapan harga adalah tarif Flash standar: $0.15 per 1 juta token input cache-miss di luar jam sibuk, $0.30 di jam sibuk.
- Konteks adalah 1 juta token, output maksimum 384 ribu, sama seperti panggilan khusus teks.
Apa Arti "Multimodal Asli" di Sini
Vision-Exp melampirkan encoder gambar ke model teks yang sudah jadi. V4.1-Flash melakukannya dengan cara yang sebaliknya. Menurut kartu model, gambar adalah bagian dari korpus pra-pelatihan 45T-token sejak awal, dan encoder adalah DeepSeek-ViT baru yang dilatih dari awal alih-alih meminjam dari model visi yang sudah ada. Tulang punggungnya adalah campuran ahli dengan 552B parameter; dengan encoder terpasang, totalnya mencapai 763B. Hanya 8B parameter yang aktif selama prefill dan 16B selama decode, itulah mengapa model sebesar ini masih berjalan dengan kecepatan Flash dan harga Flash. V4-Flash, model khusus teks dalam panduan API V4-Flash, adalah dasar yang diperluas oleh Vision-Exp.
DeepSeek melaporkan empat skor visi ini di kartu model. Ini adalah pengukuran vendor sendiri, jadi perlakukan sebagai klaim sampai Anda menguji dokumen Anda sendiri melalui API.
| Benchmark | Yang diukur | V4.1-Flash |
|---|---|---|
| MMMU-Pro | Pertanyaan tingkat perguruan tinggi yang membutuhkan gambar dan teks untuk dijawab | 56.5 |
| CVBench | Penghitungan, pengurutan kedalaman, dan hubungan spasial dalam foto alami | 77.9 |
| DocVQA | Menjawab pertanyaan pada dokumen dan formulir yang dipindai | 95.6 |
| RefCOCO | Menemukan objek yang dirujuk oleh frasa di dalam gambar | 86.0 |
Untuk pengguna API, DocVQA dan RefCOCO adalah baris yang perlu diperhatikan. QA Dokumen adalah skor di balik ekstraksi faktur dan formulir. RefCOCO adalah grounding: diberikan "tombol Submit di bawah kolom email", dapatkah model menemukannya? Keterampilan itu mengubah tangkapan layar menjadi tindakan agen. Ikhtisar arsitektur mencakup sisi teks dan laporan teknis secara lebih mendalam.
Format Permintaan: Tiga Cara untuk Mengirim Gambar
Tidak ada yang berubah pada format wire. Panggil endpoint Chat Completions di https://api.deepseek.com dengan OpenAI SDK, masukkan bagian teks dan gambar ke dalam array content yang sama, dan atur model ke deepseek-flash. Berikut adalah panggilan lengkap yang mengubah faktur menjadi JSON:
import base64, json
from openai import OpenAI
client = OpenAI(api_key="YOUR_DEEPSEEK_KEY", base_url="https://api.deepseek.com")
with open("invoice-2026-0912.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
schema_hint = (
"Return only JSON with keys: invoice_number (string), issue_date (YYYY-MM-DD), "
"vendor (string), currency (string), line_items (array of {description, quantity, "
"unit_price, amount}), subtotal, tax, total (numbers)."
)
response = client.chat.completions.create(
model="deepseek-flash",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": schema_hint},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_b64}",
"detail": "high",
},
},
],
}],
temperature=1.0,
max_tokens=2048,
)
invoice = json.loads(response.choices[0].message.content)
print(invoice["invoice_number"], invoice["total"])
print(response.usage.prompt_tokens, "prompt tokens")
Itu opsi pertama, base64 sebaris: mandiri, dibatasi 32 MiB per gambar, dan tepat untuk panggilan sekali jalan atau file yang tidak pernah meninggalkan jaringan Anda.
Opsi kedua adalah URL eksternal. Jika gambar sudah memiliki tautan publik di CDN atau penyimpanan objek, lewati pengodean dan teruskan tautan (hingga 8.192 karakter). Permintaan curl ini membaca grafik harga yang dihosting:
curl https://api.deepseek.com/chat/completions \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-flash",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "List every plan name and its monthly price from this chart as a JSON array."},
{"type": "image_url", "image_url": {"url": "https://assets.example-saas.com/pricing/plans-q3.png", "detail": "auto"}}
]
}]
}'
Opsi ketiga adalah ID file. Unggah gambar sekali melalui DeepSeek’s Files API, lalu referensikan dengan bagian file alih-alih mengirim ulang byte:
{"type": "file", "file": {"file_id": "file-api-xxxxxxxxxxxxxxxx"}}
Pilih ID file kapan pun gambar yang sama muncul di lebih dari satu permintaan, seperti tangkapan layar referensi yang dibandingkan setiap pengujian dalam suatu suite. Penjelasan parameter lengkap ada di panduan API V4.1-Flash.
Parameter Detail dan Batasan Permintaan
detail bersifat opsional dan berada di dalam objek image_url. Tiga nilai yang diwarisi dari Vision-Exp:
"low"menurunkan skala menjadi 512x512. Termurah dan tercepat; cocok untuk pertanyaan seperti "apakah ini dashboard atau struk"."high"(alias"original") mempertahankan resolusi sumber. Gunakan untuk dokumen padat, cetakan kecil, dan tangkapan layar UI di mana label 12px itu penting."auto"membiarkan API memilih.
Batas tertinggi yang akan Anda temui pertama kali:
| Batasan | Nilai |
|---|---|
| Gambar base64 sebaris | hingga 32 MiB |
| Panjang URL eksternal | hingga 8.192 karakter |
| Referensi ID file | didukung melalui Files API |
| Jendela konteks | 1 juta token |
| Output maks | 384 ribu token |
Nilai detail |
low, high/original, auto |
Panduan Vision-Exp mencantumkan batasan lebih lanjut pada jumlah gambar, ukuran badan, dan dimensi piksel. Batasan tersebut diterbitkan untuk model eksperimental; periksa catatan perubahan API sebelum Anda bergantung padanya untuk V4.1-Flash. Satu aturan tidak berubah: gambar harus ada di pesan pengguna. Letakkan satu di pesan sistem atau asisten dan Anda akan mendapatkan 400.
Berapa Biaya Gambar di DeepSeek-Flash
Tidak ada harga visi terpisah. Gambar ditagih sebagai token input dengan tarif Flash dari halaman harga, berlaku mulai 10 September 2026 pukul 04:00 UTC:
| deepseek-flash, per 1 juta token | Di luar jam sibuk | Jam sibuk |
|---|---|---|
| Input, cache hit | $0.003 | $0.006 |
| Input, cache miss | $0.15 | $0.30 |
| Output | $0.60 | $1.20 |
Jam sibuk adalah Senin hingga Jumat, 01:00 hingga 04:00 dan 06:00 hingga 10:00 UTC; di luar jam sibuk harganya setengah. Pada Vision-Exp, setiap gambar ditagih tidak lebih dari 384 token input. Apakah batasan tersebut tetap tidak berubah di V4.1-Flash adalah [VERIFIKASI] terhadap dokumen. usage.prompt_tokens setiap respons melaporkan jumlah sebenarnya, itulah sebabnya contoh Python menampilkannya.
Jika batasan 384 token berlaku, satu gambar berharga sekitar $0.000115 pada tarif cache-miss puncak dan setengahnya di luar jam sibuk, sehingga seribu faktur membutuhkan sekitar $0.12 untuk input gambar. Output mendominasi setiap pipeline nyata: 400 token JSON per faktur berharga sekitar empat kali lipat dari gambar itu sendiri pada jam sibuk. Pengungkitnya adalah skema respons yang ketat, bukan penurunan skala gambar. Perhitungan puncak, di luar jam sibuk, dan cache-hit dijelaskan secara rinci dalam DeepSeek-V4.1-Flash pricing explained; singkatnya adalah bahwa input cache-miss 32% lebih murah daripada yang ditagihkan Vision-Exp pada bulan Agustus.
Tiga Kasus Penggunaan yang Layak Diuji Coba
Ekstraksi dokumen. Faktur, struk, surat jalan, formulir asuransi. Minta skema JSON tetap, kirim dengan detail: "high", dan periksa apakah item baris menjumlahkan subtotal sebelum Anda memercayai catatan.
Tangkapan layar UI untuk menguji asersi. Tangkap halaman setelah deploy, tanyakan apakah elemen yang diharapkan ada dan di mana, lalu ubah jawabannya menjadi lulus/gagal. RefCOCO adalah benchmark yang relevan: tugasnya adalah menemukan elemen bernama.
Membaca grafik. Ekstrak nama seri, label sumbu, dan nilai yang diplot dari gambar grafik ke dalam tabel. Garis yang tumpang tindih atau sumbu yang tidak berlabel memerlukan pemeriksaan manual.
Menguji Endpoint Visi di Apidog
Permintaan visi sulit untuk diulang secara manual: gumpalan base64 membuat badan JSON tidak dapat dibaca, dan membandingkan pengaturan detail berarti mengelola payload yang hampir identik. Berikut adalah lingkaran yang tetap dapat dibaca dan dijalankan ulang dalam satu klik.

- Siapkan lingkungan. Buat variabel untuk
base_url,api_key,model(deepseek-flash), dandetail(high). Mengubah tingkat detail nanti adalah perubahan dropdown, bukan pengeditan payload. - Encode gambar dalam skrip pra-permintaan. Alih-alih menempel base64 ke dalam badan, biarkan skrip pra-permintaan meng-encode file sampel dan menulis hasilnya ke variabel
image_b64. Badan yang terlihat tetap pendek, dan menukar gambar pengujian berarti mengubah satu jalur. - Simpan badan permintaan dengan variabel. Gunakan
"model": "{{model}}","detail": "{{detail}}", dan"url": "data:image/png;base64,{{image_b64}}". Simpan sebagai kasus uji agar dapat digunakan kembali. - Lakukan asersi pada bentuk JSON. Pastikan respons diurai sebagai JSON,
invoice_numberadalah string non-kosong,line_itemsadalah array non-kosong,totaladalah angka, danusage.prompt_tokensberada di bawah ambang batas yang Anda pilih. Ini mengubah "terlihat baik" menjadi lulus/gagal. - Konfirmasi bahwa nama lama mengarah ke model yang sama. Duplikasi permintaan yang disimpan, atur
modelkedeepseek-v4-flash-vision-exp, dan jalankan keduanya dalam satu skenario pengujian terhadap gambar yang sama. Bandingkan kolom yang diekstraksi dan jumlahusage.prompt_tokens. Hasil yang cocok mengonfirmasi apa yang dinyatakan dalam catatan rilis: kedua nama tersebut menggunakan V4.1-Flash, sehingga Anda dapat mengganti nama dalam konfigurasi Anda dengan percaya diri. - Jalankan di CI. Jalankan skenario dengan
apidog-clisetiap perubahan prompt, sehingga regresi skema terdeteksi sebelum produksi.
Unduh Apidog dan penyiapannya membutuhkan waktu sekitar lima belas menit. Apidog menguji lapisan API, bukan host model, sehingga skenario yang sama berfungsi untuk endpoint yang kompatibel dengan OpenAI yang Anda gunakan nanti.
Kesimpulan
Endpoint eksperimental membuktikan format permintaan dan titik harga. V4.1-Flash mempertahankan keduanya dan menggantinya dengan model yang melihat gambar sejak token pelatihan pertamanya. Arahkan klien Anda ke deepseek-flash, simpan detail dalam variabel, lakukan asersi pada JSON yang Anda terima, dan jalankan nama lama melalui skenario Apidog yang sama sekali untuk mengonfirmasi pengalihan. Setelah itu, satu-satunya pertanyaan yang tersisa adalah akurasi pada dokumen Anda sendiri, dan Anda sekarang memiliki pengujian yang menjawabnya.
