GPT-6 Sol ve Claude Opus 5.5 yayındaGPT-6 Sol fiyatı 5.6 Sol'un yarısı

Codex ile görsel oluşturma: imagegen ve özel sağlayıcı

config.toml'deki iki satır, Codex'in yerleşik görsel aracını relay arkasında da açıyor. 29 Ekim 2026'da çalıştırdığımız yapılandırma, görsellerin kaydedildiği yer ve relay'in döndürmesi gerekenler burada.

Kiki, OmniaKey COO8 dk okuma
Bu sayfada

Codex ile görsel oluşturmayı özel bir sağlayıcı (relay) üzerinden kullanmak için config.toml'de iki satır yeter: http_headers içine x-openai-actor-authorization adında, boş olmayan bir değer ve requires_openai_auth = false, yani varsayılan değeri. Bununla Codex 0.165.0 görsel isteklerini relay'in /images/generations adresine gpt-image-2 modeliyle gönderir ve PNG'yi ~/.codex/generated_images/ altına kaydeder. 29 Ekim 2026'da bu, 29.0 saniyede 1024×1024 bir PNG verdi; aynı yapılandırmayı başlık olmadan kullandığımızda görsel aracı hiç görünmedi.

Testleri macOS üzerinde Codex CLI 0.165.0 ile yaptık ve özel sağlayıcı olarak kendi API ağ geçidimiz OmniaKey'i kullandık.

Özel sağlayıcıda imagegen neden kayboluyor

Codex 0.165.0, modele görsel aracı verilip verilmeyeceğine tek bir fonksiyonda karar verir: image_generation_available. Baktığı şey sağlayıcı bloğunuz ve sakladığı oturum açma bilgisidir.

  • requires_openai_auth = false, actor başlığı yok: görsel aracı yok. Bu yapılandırmayla çalıştırdığımızda Codex şöyle yanıtladı: "I don’t have a built-in image generation tool available in this session." (Bu oturumda yerleşik bir görsel oluşturma aracım yok.)
  • requires_openai_auth = false artı x-openai-actor-authorization başlığı: araç görünür. Başlıkla yaptığımız üç çalıştırmanın üçü de (yeni görsel, düzenleme ve saydam çıkartma) aracı çağırdı.
  • requires_openai_auth = true ve API anahtarıyla oturum açma: görsel aracı yok. Codex 0.165.0 kodunda bu kontrol ChatGPT oturumu istiyor; API anahtarıyla açılan oturum sayılmıyor.

Bu kapının arkasında iki küçük koşul var, ikisi de Codex 0.165.0 kodunda: kayıtlı ücretsiz bir ChatGPT planı oturumu, özel sağlayıcıda bile aracı gizliyor; sohbet modelinin de görselleri kabul etmesi gerekiyor, ki Codex kendi listesinde olmayan model adlarında bunu varsayıyor.

Araç yokken Codex ya yerleşik görsel aracı olmadığını söyler (başlıksız çalıştırmamızdaki gibi) ya da imagegen becerisi OPENAI_API_KEY gerektiren CLI yedeğini önerir.

imagegen'i açan config.toml

~/.codex/config.toml dosyasını açın. Relay'inizin sağlayıcı bloğuna http_headers satırını ekleyin ve requires_openai_auth değerinin false (varsayılan) olduğunu doğrulayın.

toml
model = "gpt-6.1-sol"            # relay'inizin sunduğu bir sohbet modeli
model_provider = "relay"

[model_providers.relay]
name = "My relay"
base_url = "https://api.omniakey.com/v1"
env_key = "RELAY_API_KEY"
wire_api = "responses"
requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "local-relay" }

[features]
image_generation = true          # Codex 0.165.0'da zaten varsayılan olarak açık

model ve model_provider üst düzey anahtarlardır, bu yüzden ilk [section] satırının üstünde durmaları gerekir: TOML, bir [section] başlığından sonraki her satırı o bölümün parçası olarak okur.

  • requires_openai_auth = false, Codex'in ortamınızdaki anahtarı, yani env_key içinde adı geçen değişkeni kullanmasını sağlar. OpenAI'nin kimlik doğrulama sayfası (29 Ekim 2026'da kontrol edildi) şöyle diyor: "When requires_openai_auth = true, Codex ignores env_key." (requires_openai_auth = true olduğunda Codex env_key değerini yok sayar.)
  • http_headers içindeki değer actor başlığıdır. OpenAI'nin yapılandırma referansı bunu "Static HTTP headers added to provider requests" (sağlayıcı isteklerine eklenen sabit HTTP başlıkları) diye adlandırıyor; Codex yalnızca değerin boş olmadığını kontrol ediyor (Codex kaynağındaki kontrol), yani "local-relay" bir yer tutucu, parola değil.
  • [features] image_generation = true 0.165.0'da isteğe bağlı: özellik kararlı ve varsayılan olarak açık (codex features list çıktısı image_generation stable true). Çalıştırmalarımızda bu satırı yazmadık.
  • wire_api = "responses", OpenAI'nin yapılandırma referansının desteklediği tek değer.

Anahtarı ayarlayıp Codex'i başlatın:

bash
export RELAY_API_KEY="your-relay-key"
codex

Codex zaten çalışıyorsa kapatın ve yeni bir oturum açın; yeni yapılandırmayı ancak o zaman okur.

Bir görsel üretin ve dosyayı bulun

29 Ekim 2026'daki çalıştırmalarımız özel bir sağlayıcıdan geçti. Başlık olmadan yapılan 2. çalıştırma hiç görsel üretmedi. Diğer üçü birer 1024×1024 PNG kaydetti. Süreler yalnızca görsel çağrısını kapsıyor, turun tamamını değil.

ÇalıştırmaNe istedikGörsel çağrısı
1Yeni bir uygulama simgesi29.0 s
31. çalıştırmanın görselini düzenle37.6 s
4Saydam bir çıkartma19.8 s
  1. çalıştırma tek bir istemdi:

Create an app icon for a note-taking app called Inkwell: a fountain pen nib over a deep blue gradient, flat vector style, no text. Generate it with your image tool, then tell me where the file was saved.

Codex, istemde $imagegen olmadığı halde imagegen becerisini kendi başına açtı, sonra aracı çağırdı. Çağrı 29.0 saniye sürdü ve tur tek bir 1024×1024 PNG ile bitti.

Dosya ~/.codex/generated_images/<session id>/<call id>.png yoluna düşer; ~/.codex, CODEX_HOME için varsayılan değerdir. Codex yolu, istem sorduğu için yazdırdı. Görsel projenizde kullanılacaksa istemde hedefi belirtin; beceri Codex'e dosyayı oraya taşımasını ya da kopyalamasını söyler.

Var olan bir görseli düzenlemek

  1. çalıştırmanın PNG'si çalışma klasörüne inkwell.png olarak geldi ve şöyle istedik:

Edit the image ./inkwell.png: change the background to a warm orange gradient and keep the pen nib as it is. Use your built-in image tool, then tell me where the edited file was saved.

Codex dosyayı referenced_image_paths içine koydu, böylece istek /images/edits adresine gitti. Çağrı 37.6 saniye sürdü ve özgün inkwell.png olduğu gibi kaldı. OpenAI'nin görsel oluşturma sayfası (29 Ekim 2026'da kontrol edildi) şöyle diyor: "When editing an existing image, say exactly what should change and what must stay the same." (Var olan bir görseli düzenlerken neyin değişmesi, neyin aynı kalması gerektiğini tam olarak söyleyin.) Gerisini GPT-Image 2 istem rehberi anlatıyor.

Koyu mavi degrade üzerinde fildişi renkli dolma kalem ucu, Codex'in yerleşik görsel aracıyla üretildi
Yeni görsel
Aynı kalem ucu bir düzenlemeden sonra, bu kez sıcak turuncu bir degrade üzerinde
Bir düzenlemeden sonra
İki görsel de 29 Ekim 2026'da Codex CLI 0.165.0'ın yerleşik görsel aracından, özel bir sağlayıcı üzerinden geldi. Düzenleme yalnızca yeni bir arka plan istedi; kalem ucunun biçimi, boyutu ve konumu değişmedi.

Saydam arka plan

  1. çalıştırma bir çıkartma istedi:

Create a PNG sticker of a single fountain pen nib on a fully transparent background (no backdrop at all), flat vector style, no text. Generate it with your built-in image tool, then tell me where the file was saved.

Codex transparent_background: true ayarını yaptı, çağrı 19.8 saniye sürdü ve kaydedilen PNG'nin piksellerinin 85.0% kadarı tamamen saydam. OpenAI'nin Images API referansı, gpt-image-2 için saydam arka planları "in preview" (önizlemede) olarak listeliyor: bizim çalıştırmamızda işe yaradı, ama özellik hâlâ önizleme aşamasında.

Satranç tahtası üzerinde saydam arka planı görünen altın renkli dolma kalem ucu çıkartması
29 Ekim 2026'daki 4. çalıştırma: saydam arka planlı bir PNG, saydam alan görünsün diye satranç tahtası üzerinde. Piksellerinin 85.0% kadarı tamamen saydam.

Relay'iniz ne döndürmeli (gpt-image-2, b64_json)

Codex yeni görsel için POST <base_url>/images/generations, düzenleme için POST <base_url>/images/edits gönderir; ikisi de JSON'dur ve model gpt-image-2, yani relay'inizin sunması gereken GPT-Image 2 kimliğidir. Kalite ve boyut "auto", background "opaque" ya da "transparent" olur; istekte response_format ve n bulunmaz. Hepsi sohbet isteklerinizle aynı temel URL'ye ve aynı anahtarla gider. Düzenleme, kaynak görseli dosya yüklemek yerine JSON içinde data URL olarak taşır.

Codex, created ve ilk öğesinde b64_json bulunan bir data listesi içeren JSON yanıtı okur; diğer alanlar yok sayılır, images.rs bunu gösteriyor. Ayrıştırma başarısız olursa mesaj "failed to decode image generation response:" ile başlar.

Relay'i Codex olmadan da kontrol edebilirsiniz. Şunu relay-check.sh olarak kaydedin:

bash
curl -s https://api.omniakey.com/v1/images/generations \
  -H "Authorization: Bearer $RELAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-image-2", "prompt": "a red apple on a white table", "background": "opaque", "quality": "auto", "size": "auto"}' \
  | python3 -c 'import json,sys; r=json.load(sys.stdin); print(r.get("error") or sorted(r["data"][0]))'

Temel URL'yi relay'inize çevirin ve anahtarınızı RELAY_API_KEY olarak dışa aktarın. 29 Ekim 2026'da kendi ağ geçidimize karşı kontrol 25.0 saniyede HTTP 200 döndü ve şunu yazdırdı:

text
['asset_id', 'b64_json', 'expires_at', 'revised_prompt', 'url']

Bu listede b64_json yoksa Codex aynı yanıtta başarısız olur. Relay bir hata döndürürse kontrol o hatayı yazdırır.

Bazı relay'ler burada kırılır çünkü görseli dosya olarak saklarlar. Aynı Images API referansı (29 Ekim 2026'da kontrol edildi) response_format için "Legacy response format parameter for retired image models. Unsupported for GPT image models, which always return base64-encoded images" (kullanımdan kalkmış görsel modeller için eski yanıt biçimi parametresi; GPT görsel modellerinde desteklenmez, onlar her zaman base64 kodlu görsel döndürür) diyor; b64_json ise "Returned by default for GPT image models" (GPT görsel modellerinde varsayılan olarak döner). OpenAI yanıtını olduğu gibi ileten relay sorun çıkarmaz; yalnızca bağlantı döndüren relay Codex'i bozar.

OmniaKey ağ geçidi 29 Ekim 2026'daki bir düzeltmeye kadar bu sorunu yaşadı. Düzeltme notunda Codex'in "missing field b64_json" ile başarısız olduğu yazıyor; artık çağıran URL istemedikçe ağ geçidi b64_json değerini koruyor.

Relay'iniz bu kontrolü geçemiyorsa OmniaKey, gpt-image-2 ile gpt-6.1-sol gibi sohbet modellerini tek anahtarla sunuyor ve görsel yanıtlarında b64_json var, kontrolün gösterdiği gibi. Sağlayıcı bloğuna base_url = "https://api.omniakey.com/v1" yazın ve env_key ile adı verilen değişkene OmniaKey anahtarını koyun; dosyanın gerisini Codex CLI rehberi anlatıyor, güncel fiyatlar da fiyat sayfasında.

Hatalar ve çözümleri

Codex görsel aracı olmadığını söylüyor

İlk bölümdeki koşullardan biri karşılanmıyor. http_headers satırını ekleyin, requires_openai_auth = false ve env_key değerini olduğu gibi bırakın ve yeni bir oturum açın. Yine olmuyorsa codex login status çalıştırın; ücretsiz ChatGPT planında codex logout kayıtlı oturumu siler ve env_key içindeki anahtar yeter.

Codex OPENAI_API_KEY istiyor

Yerleşik araç kullanılamıyor, bu yüzden imagegen becerisi OPENAI_API_KEY gerektiren CLI yedeğini, scripts/image_gen.py dosyasını öneriyor. Bunun yerine yerleşik aracı yukarıdaki yapılandırmayla düzeltin; yerleşik modda anahtar env_key içinden gelir.

failed to decode image generation response: missing field b64_json

Relay b64_json olmadan yanıt verdi, çoğunlukla saklanan dosyaya bir bağlantı gönderdi. Relay bölümündeki kontrolü ona karşı çalıştırın ve sonucu işleten kişiye iletin; Codex data listesinin ilk öğesindeki base64 dizesini istiyor.

Görsel isteği model_not_found ile başarısız oluyor

Anahtarınızın bu relay'de gpt-image-2 yetkisi yok; Codex her zaman bu kimliği gönderir ve değiştirmek için bir ayar yok. Kendi ağ geçidimiz, sunmadığı bir görsel modeline HTTP 503 ve model_not_found koduyla yanıt verdi. gpt-image-2 modelini listeleyen bir anahtar ve relay kullanın.

Reconnecting... 1/5 (stream disconnected before completion)

Sohbet isteği koptu ve Codex yeniden denedi; sayaç beş denemenin kaçıncısı olduğunu gösteriyor. 1. çalıştırmada bir kez ("Concurrency limit exceeded for account, please retry later"), 3. çalıştırmada bir kez (bir aktarım hatası) göründü ve iki çalıştırma da yeniden denemeden sonra tamamlandı. Sürekli tekrarlanıyorsa relay'in sınırlarına bakın; sohbet sorunlarını Codex uyumluluk kiti anlatıyor.

Sık sorulan sorular

imagegen için OPENAI_API_KEY gerekli mi?

Hayır. Yerleşik modda anahtar env_key içinde adı geçen değişkenden gelir; OPENAI_API_KEY yalnızca becerinin CLI yedeği tarafından okunur.

Başka bir görsel modeli, boyut veya kalite seçebilir miyim?

Codex 0.165.0'da seçemezsiniz. Araç gpt-image-2 modelini "auto" kalite ve boyutla gönderir, config.toml'de bunlar için anahtar yok ve çalıştırmalarımızdaki tüm görseller 1024×1024 geldi. Başka boyut ya da model için relay'inizin görsel uç noktasını doğrudan çağırın.

$imagegen yazmam gerekiyor mu?

Hayır. Çalıştırmalarımızda Codex imagegen becerisini kendi başına açtı. OpenAI belgelerine göre istemde $imagegen yazmak beceriyi açıkça çağırır; Codex kendi seçmediğinde bu yardımcı olur.

Codex masaüstü uygulamasında çalışır mı?

Masaüstü uygulamasını test etmedik, yalnızca CLI'yi denedik. Topluluk düzeltme deposu, çalışan Codex Desktop'ın yeni ortam değişkenlerini almadığını söylüyor: macOS betiği bir LaunchAgent kuruyor, ardından Codex'i tamamen kapatıp yeni bir görev açıyorsunuz.

Kontrol edilen kaynaklar

Bu makaledeki modeller

Codexgörsel oluşturmagpt-image-2özel sağlayıcıconfig.toml

İlgili makaleler

Son makaleler