APIMaster.ai
Back to Blog
APIMaster Blog

OpenCode "Model Görüntü Girişini Desteklemiyor" Hatasını Düzeltin — GPT & Claude Vision Çalışmıyor

OpenCode görüntünüzü GPT veya Claude ile okumuyor mu? Model vision destekler, ama OpenCode yalnızca dosya adını gönderir. opencode.jsonc içinde gpt-5.5 ve Claude modelleri için attachment ve modalities tanımlayarak düzeltin.

OpenCodeimage inputVisionGPTClaudeopencode.jsonc

Published 2026-07-14

Quick Answer

OpenCode içinde bir PNG/JPG eklediniz, GPT veya Claude'dan onu tarif etmesini istediniz ve "the current model does not support image input" gibi bir yanıt aldınız — ya da model yalnızca dosya adından bahsediyor, resimden değil. Neredeyse her durumda model vision destekler; sorun, OpenCode'un görüntüyü hiç göndermemiş olmasıdır (çok modlu girdi olarak).

Kök neden: OpenCode bir görüntüyü yalnızca model opencode.jsonc içinde görüntü yeteneğine sahip olarak tanımlandığında iletir. Bu tanım olmadan, eki düz bir dosya referansı olarak görür ve pikselleri atar.

Hızlı çözüm: opencode.jsonc içinde modele iki alan ekleyin, ardından OpenCode'u yeniden başlatın:

"attachment": true,
"modalities": {
  "input": ["text", "image"],
  "output": ["text"]
}

Bu yapılandırmayla bugün çalışan, vision destekli OpenAI uyumlu bir uç noktaya ihtiyacınız varsa, APIMaster gpt-5.5 ve Claude vision modellerini https://apimaster.ai/v1 üzerinden sunar. Tam kurulum: OpenCode yapılandırma kılavuzu.

Bu Sorun Nasıl Görünür

  • OpenCode'da bir GPT veya Claude modeline geçersiniz, bir ekran görüntüsü sürükleyip bırakırsınız ve "bu görüntüyü tarif et" dersiniz.
  • Yanıt, "görüntüleri okuyamıyorum", "bu model için görüntü girişi desteklenmiyor" varyasyonlarından biridir ya da model gerçek içerik yerine bir dosya adı (screenshot.png) hakkında yanıt verir.
  • Aynı görüntü, doğrudan ChatGPT veya Claude'a yapıştırdığınızda sorunsuz çalışır.

Bu bir model sınırlaması değildir ve bozuk bir API anahtarı değildir. gpt-5.5, claude-sonnet-4-6, claude-opus-4-7, claude-opus-4-8 ve claude-haiku-4-5, OpenAI uyumlu Chat Completions API üzerinden görüntü girişini kabul eder. Görüntü sadece hiç OpenCode'dan çıkmadı.

Neden Olur

OpenCode bir ekin gönderilip gönderilemeyeceğine ve o ekin bir görüntü olup olamayacağına model bazında karar verir. Bunu opencode.jsonc içindeki sağlayıcı yapılandırmanızdan okur. Model kaydınız şöyle görünüyorsa:

"gpt-5.5": {
  "name": "gpt-5.5"
}

…o zaman OpenCode'un modelin görüntü aldığına dair hiçbir sinyali yoktur. Sürüme bağlı olarak ya dosyayı eklemeyi reddeder ya da yalnızca ek adını prompt metnine geçirir. Model "[attachment: diagram.png]" alır — bir resim değil, bir metin dizisi — ve ona bir görüntü verilmediğini doğru şekilde yanıtlar.

Çözüm, OpenCode'a iki şeyi açıkça söylemektir:

Alan Anlamı
"attachment": true Bu modelin ek almasına izin verilir.
"modalities": { "input": ["text", "image"] } Bu model görüntü girişini kabul eder, bu yüzden OpenCode dosyayı çok modlu bir image_url içerik bloğuna dönüştürür.

İkisi de ayarlandığında, OpenCode görüntüyü base64 olarak kodlar ve düzgün vision girişi olarak gönderir — ve model onu okur.

Nasıl Düzeltilir

1. opencode.jsonc dosyanızı bulun

OS Yol
macOS / Linux ~/.config/opencode/opencode.jsonc
Windows C:\Users\<username>\.config\opencode\opencode.jsonc

2. Her vision modeline attachment + modalities ekleyin

OpenAI uyumlu bir uç noktada GPT ve Claude için çalışan bir sağlayıcı bloğu:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apimaster": {
      "name": "APIMaster.ai",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://apimaster.ai/v1"
      },
      "models": {
        "gpt-5.5": {
          "name": "gpt-5.5",
          "attachment": true,
          "modalities": {
            "input": ["text", "image"],
            "output": ["text"]
          }
        },
        "claude-sonnet-4-6": {
          "name": "claude-sonnet-4-6",
          "attachment": true,
          "modalities": {
            "input": ["text", "image"],
            "output": ["text"]
          }
        }
      }
    }
  }
}

claude-opus-4-7, claude-opus-4-8, claude-haiku-4-5 ve reasoning varyantlarını kapsayan tam örnek OpenCode kurulum kılavuzunda yer alır. Görüntü girişini yalnızca bir model için etkinleştirebilirsiniz — yalnızca o modelin iki alana ihtiyacı vardır.

3. Doğru base URL'yi kullanın

OpenAI uyumlu host:

https://apimaster.ai/v1

https://api.apimaster.ai/v1 kullanmayın — api. önekli host TLS / bağlantı hatalarına neden olabilir.

4. OpenCode'u yeniden başlatın

Yapılandırma değişiklikleri başlangıçta yüklenir. OpenCode'dan tamamen çıkıp yeniden açın veya en azından yeni bir oturum başlatın, aksi halde eski (görüntüye kör) yapılandırma etkin kalır.

5. Genel URL'ler yerine yerel yükleme / base64'ü tercih edin

OpenCode'da yerel bir PNG/JPG yükleyin — bu, base64 data URL'sine dönüştürülür ve güvenilir yoldur. Doğrudan bir genel görüntü URL'si geçirmek başarısız olabilir, çünkü upstream'in onu indirmesi gerekir ve format, boyut, MIME veya hotlink sınırlarına takılabilir:

Error while downloading file. Upstream status code: 400.

Bunu görürseniz, uzak bir URL yerine yerel bir dosya / base64 data URL'sine geçin.

Çalıştığını Test Edin

OpenCode İçinde

apimaster/gpt-5.5 veya apimaster/claude-sonnet-4-6 modeline geçin, bir görüntü yükleyin ve sorun:

Describe the main content of this image.

Doğru bir yapılandırma gerçek bir açıklama döndürür. Hâlâ yalnızca bir dosya adı görüyorsa, attachment / modalities alanları eksiktir ya da OpenCode yeniden başlatılmamıştır.

Doğrudan API Üzerinden (sorunu izole edin)

Uç noktanın kendisinin vision işlediğini doğrulamak için — bir OpenCode yapılandırma sorununu bir sağlayıcı sorunundan ayırarak — bir base64 görüntü gönderin. Gerçek bir anahtarı asla sabit kodlamayın; bir ortam değişkeni kullanın:

export APIMASTER_API_KEY="your APIMaster API key"

curl https://apimaster.ai/v1/chat/completions \
  -H "Authorization: Bearer $APIMASTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "Describe this image." },
          {
            "type": "image_url",
            "image_url": { "url": "data:image/png;base64,YOUR_IMAGE_BASE64" }
          }
        ]
      }
    ],
    "max_tokens": 1000
  }'

Claude'u aynı şekilde test etmek için model değerini claude-sonnet-4-6 ile değiştirin. Görüntüyü tarif eden bir 200 yanıtı, vision'ın API katmanında çalıştığı anlamına gelir — dolayısıyla kalan herhangi bir hata OpenCode yapılandırma tarafındadır.

API Anahtarınızı Güvende Tutun

  • API anahtarını asla opencode.jsonc içine koymayın. O dosya yalnızca sağlayıcıyı, modelleri ve yetenekleri tutar.
  • Anahtarı OpenCode'un /connect akışı, Connect Provider arayüzü veya bir ortam değişkeni aracılığıyla yapılandırın.
  • Anahtarı sohbetlere, ekran görüntülerine, issue'lara veya genel depolara yapıştırmayın. Sızarsa, sağlayıcı konsolunuzda hemen iptal edip yeniden oluşturun.

APIMaster Nasıl Yardımcı Olur

GPT ve Claude vision'ın yukarıdaki yapılandırmayla "sadece çalıştığı" tek bir OpenAI uyumlu uç nokta istiyorsanız, APIMaster tam olarak bunun için tasarlanmıştır:

Avantaj Ne elde edersiniz
Tek uç nokta, birçok vision modeli gpt-5.5, claude-sonnet-4-6, claude-opus-4-7, claude-opus-4-8, claude-haiku-4-5 — hepsi görüntü yeteneğine sahip, hepsi https://apimaster.ai/v1 üzerinde tek anahtarla.
İndirim Marketplace fiyatlandırması OpenAI liste fiyatlarına göre ~%90'a ve Claude liste fiyatlarına göre ~%85'e varan indirim (canlı fiyatlar sitede).
Model doğruluğu Ucuz bir relay sessizce modelleri değiştirebilir — gerçeğini aldığınızı parmak izi tespiti ile doğrulayın.

1 $'lık yüklemeden itibaren, kullandıkça öde, abonelik yok. Görüntü girişi dahil tam adım adım OpenCode kurulumu OpenCode yapılandırma kılavuzunda yer alır.

APIMaster'a Kaydolun →

İlgili Kılavuzlar

SSS

OpenCode görüntü girişini hiç destekliyor mu? Evet. OpenCode görüntüleri vision yeteneğine sahip herhangi bir modele gönderebilir, ancak o model için opencode.jsonc içinde attachment: true ve modalities.input: ["text", "image"] tanımlamanız gerekir. Tanım olmadan yalnızca dosya adını gönderir.

OpenCode'da hangi APIMaster modelleri görüntü okuyabilir? gpt-5.5, claude-sonnet-4-6, claude-opus-4-7, claude-opus-4-8 ve claude-haiku-4-5, hepsi görüntü girişini kabul eder. Görüntülerle kullanmak istediğiniz her birine iki yetenek alanını ekleyin.

Model neden yalnızca dosya adını görüyor? OpenCode eki görüntü girişine dönüştürmedi — bunun yerine ek adını prompt metnine koydu. Bu, attachment / modalities alanlarının eksik olduğunun belirgin işaretidir.

Alanları ekledim ve hâlâ başarısız oluyor. Şimdi ne olacak? OpenCode'u tamamen yeniden başlatın, yeni bir oturum başlatın ve etkin modelin yapılandırdığınız model olduğunu doğrulayın. Ardından sorunun OpenCode'da mı yoksa sağlayıcıda mı olduğunu kontrol etmek için uç noktayı yukarıdaki base64 curl ile doğrudan test edin.

Genel bir görüntü URL'si neden hata verdi? Upstream'in uzak URL'leri indirmesi gerekir ve boyut, format, MIME veya hotlink korumasıyla engellenebilir (Error while downloading file. Upstream status code: 400.). Bunun yerine yerel bir yükleme / base64 data URL'si kullanın.