DeepSeek'in vizyon desteği, 10 Eylül 2026'da bir yan proje olmaktan çıktı. DeepSeek-V4.1-Flash'ın GA sürümüyle birlikte, görüntü girişi ana modelde tek bir kimlik olan deepseek-flash altında yer alıyor. Ayrı bir vizyon yapısı ve "Exp" son eki bulunmamaktadır. Sürüm notu hem deepseek-v4-flash hem de deepseek-v4-flash-vision-exp'i kullanımdan kaldırıyor; bu adlardan herhangi birine yapılan istekler artık V4.1-Flash'a yönlendiriliyor.
Bu, üç hafta önce deneysel uç noktayı temel alarak bir şeyler geliştirdiyseniz önemlidir. V4-Flash-Vision-Exp'e karşı yazdığınız istek formatı hala çalışıyor, ancak görüntülerinizi okuyan model yeni: metin omurgasının yanı sıra sıfırdan eğitilmiş bir vizyon kodlayıcısı ile 763B parametreye sahip. Bu kılavuz, pratikte "yerel çok modlu" olmanın ne anlama geldiğini, görüntü teslim etmenin üç yolunu, detail parametresini, görüntülerin maliyetini ve eski ad ile yenisinin aynı şekilde davrandığını kanıtlayan tekrarlanabilir bir vizyon testini Apidog'da nasıl oluşturacağınızı kapsar.
Kısaca
- Model kimliği:
deepseek-flash. Eskideepseek-v4-flash-vision-expadı hala çözümleniyor ancak V4.1-Flash tarafından sunuluyor. - Görüntüler, kullanıcı mesajı
contentdizisine yerleştirilir: bir base64 veri URL'si (32 MiB'ye kadar), harici bir URL (8.192 karaktere kadar) veya bir dosya kimliği. - İsteğe bağlı
detailalanı:low,high(diğer adıylaoriginal) veyaauto. - DeepSeek tarafından bildirilen vizyon kıyaslamaları: MMMU-Pro 56.5, CVBench 77.9, DocVQA 95.6, RefCOCO 86.0.
- Fiyatlandırma standart Flash oranıdır: yoğun olmayan saatlerde 1M önbellek-kaçırma giriş jetonu başına 0,15 ABD Doları, yoğun saatlerde 0,30 ABD Doları.
- Bağlam 1M jeton, maksimum çıktı 384K'dir, yalnızca metin çağrıları ile aynıdır.
Burada "yerel çok modlu" ne anlama geliyor
Vision-Exp, tamamlanmış bir metin modeline bir görüntü kodlayıcı eklemişti. V4.1-Flash ise bunun tam tersini yapıyor. Model kartına göre, görüntüler başlangıçtan itibaren 45T jetonluk ön eğitim korpusunun bir parçasıydı ve kodlayıcı, mevcut bir vizyon modelinden ödünç alınmak yerine sıfırdan eğitilmiş yeni bir DeepSeek-ViT'dir. Omurga, 552B parametreli bir uzman karışımıdır; kodlayıcı eklendiğinde toplam 763B'ye ulaşır. Öndoldurma sırasında yalnızca 8B parametre ve kod çözme sırasında 16B parametre aktiftir; bu da bu kadar büyük bir modelin hala Flash hızında ve Flash fiyatlarında çalışmasının nedenidir. V4-Flash API kılavuzundaki yalnızca metin modeli olan V4-Flash, Vision-Exp'in genişlettiği temeldi.
DeepSeek, bu dört vizyon skorunu model kartında rapor ediyor. Bunlar satıcının kendi ölçümleridir, bu yüzden kendi belgelerinizi API üzerinden geçirene kadar bunları iddia olarak kabul edin.
| Kıyaslama | Ne ölçer | V4.1-Flash |
|---|---|---|
| MMMU-Pro | Yanıtlamak için hem görsele hem de metne ihtiyaç duyan üniversite düzeyinde sorular | 56.5 |
| CVBench | Doğal fotoğraflardaki sayma, derinlik sıralaması ve uzamsal ilişkiler | 77.9 |
| DocVQA | Taranmış belgeler ve formlar üzerinde soru yanıtlama | 95.6 |
| RefCOCO | Bir cümlenin bahsettiği nesneyi bir görsel içinde konumlandırma | 86.0 |
API kullanıcıları için, DocVQA ve RefCOCO dikkat edilmesi gereken satırlardır. Belge Soru-Cevap (QA), fatura ve form çıkarmanın arkasındaki puandır. RefCOCO ise referanslamadır: "e-posta alanının altındaki Gönder düğmesi" verildiğinde, model bunu bulabilir mi? Bu beceri, ekran görüntülerini aracı eylemlerine dönüştürür. Mimari genel bakış, metin tarafını ve teknik raporu daha derinlemesine ele almaktadır.
İstek formatı: görüntü göndermenin üç yolu
Tel formatında hiçbir şey değişmedi. OpenAI SDK ile https://api.deepseek.com adresindeki Chat Completions uç noktasını çağırın, metin ve görsel parçalarını aynı content dizisine koyun ve modeli deepseek-flash olarak ayarlayın. İşte bir faturayı JSON'a dönüştüren tam bir çağrı:
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")
Bu birinci seçenek, base64 satır içi: bağımsız, görüntü başına 32 MiB ile sınırlı ve tek seferlik çağrılar veya ağınızdan hiç ayrılmayan dosyalar için doğru.
İkinci seçenek harici bir URL'dir. Görüntünün bir CDN'de veya nesne depolamada zaten herkese açık bir bağlantısı varsa, kodlamayı atlayın ve bağlantıyı (8.192 karaktere kadar) geçirin. Bu curl isteği, barındırılan bir fiyatlandırma tablosunu okur:
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"}}
]
}]
}'
Üçüncü seçenek bir dosya kimliğidir. Görüntüyü DeepSeek'in Dosyalar API'si aracılığıyla bir kez yükleyin, ardından baytları tekrar göndermek yerine bir file parçasıyla ona referans verin:
{"type": "file", "file": {"file_id": "file-api-xxxxxxxxxxxxxxxx"}}
Aynı görüntü birden fazla istekte göründüğünde dosya kimliklerini seçin, örneğin bir test paketindeki her testin karşılaştırdığı bir referans ekran görüntüsü gibi. Tüm parametrelerin ayrıntılı açıklaması V4.1-Flash API kılavuzunda bulunmaktadır.
Detay parametresi ve istek limitleri
detail isteğe bağlıdır ve image_url nesnesinin içinde yer alır. Vision-Exp'ten aktarılan üç değer:
"low"512x512'ye küçültür. En ucuz ve en hızlı; "bu bir gösterge tablosu mu yoksa bir makbuz mu" soruları için uygundur."high"(diğer adıyla"original") kaynak çözünürlüğünü korur. Yoğun belgeler, küçük baskılar ve 12 piksel etiketin önemli olduğu UI ekran görüntüleri için kullanın."auto"API'nin seçim yapmasına izin verir.
İlk karşılaşacağınız üst sınırlar:
| Kısıtlama | Değer |
|---|---|
| Satır içi base64 görüntü | 32 MiB'ye kadar |
| Harici URL uzunluğu | 8.192 karaktere kadar |
| Dosya kimliği referansı | Dosyalar API'si aracılığıyla desteklenir |
| Bağlam penceresi | 1M jeton |
| Maksimum çıktı | 384K jeton |
detail değerleri |
low, high/original, auto |
Vision-Exp kılavuzu, görüntü sayısı, gövde boyutu ve piksel boyutları üzerinde daha fazla üst sınır listelemişti. Bunlar deneysel model için yayınlanmıştı; V4.1-Flash için onlara güvenmeden önce API değişiklik günlüğünü kontrol edin. Bir kural değişmedi: görüntüler kullanıcı mesajlarında yer almalıdır. Bir sistem veya asistan mesajına bir tane koyarsanız 400 hatası alırsınız.
deepseek-flash'ta görüntülerin maliyeti nedir
Ayrı bir vizyon fiyatı yoktur. Görüntüler, fiyatlandırma sayfasındaki Flash oranına göre giriş jetonları olarak faturalandırılır, 10 Eylül 2026, 04:00 UTC'den itibaren geçerlidir:
| deepseek-flash, 1M jeton başına | Yoğun olmayan saatler | Yoğun saatler |
|---|---|---|
| Giriş, önbellek isabeti | $0.003 | $0.006 |
| Giriş, önbellek kaçırma | $0.15 | $0.30 |
| Çıktı | $0.60 | $1.20 |
Yoğun saatler Pazartesi'den Cuma'ya, 01:00 ile 04:00 ve 06:00 ile 10:00 UTC arasıdır; yoğun olmayan saatler yarı fiyatınadır. Vision-Exp'te, her görüntü en fazla 384 giriş jetonu olarak faturalandırılıyordu. Bu üst sınırın V4.1-Flash'a değişmeden aktarılıp aktarılmadığı belgelerle [DOĞRULANMALI]dır. Her yanıtın usage.prompt_tokens değeri gerçek sayıyı bildirir, bu yüzden Python örneği bunu yazdırır.
Eğer 384 jetonluk üst sınır geçerliyse, bir görüntü yoğun saatlerde önbellek kaçırma oranlarında yaklaşık 0,000115 ABD Doları ve yoğun olmayan saatlerde bunun yarısı kadar mal olur, bu da bin faturanın yaklaşık 0,12 ABD Doları görüntü girişi anlamına gelir. Çıktı, herhangi bir gerçek işlem hattına hakimdir: fatura başına 400 jetonluk JSON, yoğun saatlerde görüntünün kendisinden yaklaşık dört kat daha pahalıya mal olur. Kaldıraç, görüntü küçültme değil, sıkı bir yanıt şemasıdır. Yoğun, yoğun olmayan ve önbellek isabeti hesaplamaları DeepSeek-V4.1-Flash fiyatlandırması açıklandı bölümünde detaylandırılmıştır; kısa versiyonu, önbellek kaçırma girişinin Ağustos ayında Vision-Exp'in talep ettiğinden %32 daha ucuz olmasıdır.
Pilot uygulamaya değer üç kullanım durumu
- Belge çıkarımı. Faturalar, makbuzlar, teslimat notları, sigorta formları. Sabit bir JSON şeması için komut verin,
detail: "high"ile gönderin ve bir kayda güvenmeden önce satır öğelerinin ara toplama eşit olup olmadığını kontrol edin. - İddiaları test etmek için UI ekran görüntüleri. Bir dağıtımdan sonra bir sayfanın görüntüsünü alın, beklenen öğelerin mevcut olup olmadığını ve nerede olduğunu sorun ve cevabı bir geçme/kalma durumuna dönüştürün. RefCOCO ilgili kıyaslamadır: iş, adlandırılmış öğeleri bulmaktır.
- Grafik okuma. Bir grafik görüntüsünden seri adlarını, eksen etiketlerini ve çizilen değerleri bir tabloya çıkarın. Üst üste binen çizgiler veya etiketsiz eksenler, insan tarafından kontrol edilmesini gerektirir.
Apidog'da vizyon uç noktasını test etme
Vizyon isteklerini elle yinelemek zordur: bir base64 bloğu JSON gövdesini okunaksız hale getirir ve detail ayarlarını karşılaştırmak, neredeyse aynı yükleri dengelemek anlamına gelir. İşte okunabilir kalan ve tek tıklamayla yeniden çalışan bir döngü.

- Bir ortam kurun.
base_url,api_key,model(deepseek-flash) vedetail(high) için değişkenler oluşturun. Detay seviyesini daha sonra değiştirmek, bir yük düzenlemesi değil, bir açılır menü değişikliğidir. - Görseli bir ön-istek betiğinde kodlayın. Base64'ü gövdeye yapıştırmak yerine, bir ön-istek betiğinin örnek dosyayı kodlamasına ve sonucu bir
image_b64değişkenine yazmasına izin verin. Görünen gövde birkaç satır uzunluğunda kalır ve test görselini değiştirmek, tek bir yolu değiştirmek anlamına gelir. - İstek gövdesini değişkenlerle kaydedin.
"model": "{{model}}","detail": "{{detail}}"ve"url": "data:image/png;base64,{{image_b64}}"kullanın. Yeniden kullanılabilir olması için bir test durumu olarak kaydedin. - JSON yapısını doğrulayın. Yanıtın JSON olarak ayrıştırıldığını,
invoice_number'ın boş olmayan bir dize olduğunu,line_items'ın boş olmayan bir dizi olduğunu,total'ın bir sayı olduğunu veusage.prompt_tokens'ın seçtiğiniz bir eşiğin altında olduğunu doğrulayın. Bu, "iyi görünüyor"u bir geçme/kalma durumuna dönüştürür. - Eski adın aynı modele yönlendiğini onaylayın. Kaydedilmiş isteği çoğaltın,
model'ideepseek-v4-flash-vision-expolarak ayarlayın ve her ikisini de aynı görsel üzerinde tek bir test senaryosunda çalıştırın. Çıkarılan alanları veusage.prompt_tokenssayısını karşılaştırın. Eşleşen sonuçlar, sürüm notunun belirttiğini doğrular: her iki ad da V4.1-Flash'a yönelir, böylece yapılandırmanızda güvenle yeniden adlandırabilirsiniz. - CI'da çalıştırın. Her komut istemi değişikliğinde senaryoyu
apidog-cliile çalıştırın, böylece üretimden önce bir şema regresyonu ortaya çıksın.
Apidog'u indirin ve kurulumu yaklaşık on beş dakika sürer. Apidog, model ana bilgisayarını değil, API katmanını test eder, bu nedenle aynı senaryo, daha sonra yönlendireceğiniz herhangi bir OpenAI uyumlu uç noktaya karşı çalışır.
Bu durum sizi nerede bırakıyor
Deneysel uç nokta, istek formatını ve fiyat noktasını kanıtladı. V4.1-Flash ikisini de koruyor ve ilk eğitim jetonundan itibaren görselleri gören bir modelle değiştiriyor. İstemcinizi deepseek-flash'e yönlendirin, detail'ı bir değişkende tutun, geri aldığınız JSON'u doğrulayın ve yeniden yönlendirmeyi onaylamak için eski adı aynı Apidog senaryosunda bir kez çalıştırın. Bundan sonra kalan tek soru, kendi belgelerinizdeki doğruluktur ve artık bunu yanıtlayan bir testiniz var.
