Görsel API
Text-to-Image, Image-to-Image ve Images-to-Image için OpenAI uyumlu görsel uçları.
https://api.codex4less.com/v1Authorization: Bearer sk-...Metinden Görsel
POST /v1/images/generations — JSON gövde.
/v1/images/generationsOpenAI Python/Node SDK'larında base_url değerini https://api.codex4less.com/v1 yapın.
Örnekler
curl https://api.codex4less.com/v1/images/generations \
-H "Authorization: Bearer $CODEX4LESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst",
"prompt": "A minimal product photo of a matte black camera on a warm background",
"n": 1,
"size": "1024x1024"
}'from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://api.codex4less.com/v1",
)
result = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="A minimal product photo of a matte black camera on a warm background",
n=1,
size="1024x1024",
)
item = result.data[0]
print(item.url or item.b64_json)Görsel Düzenleme
POST /v1/images/edits — bir veya daha fazla kaynak görselle multipart/form-data.
/v1/images/editsÇoklu görsel
curl https://api.codex4less.com/v1/images/edits \
-H "Authorization: Bearer $CODEX4LESS_API_KEY" \
-F model="gpt-image-2.5-sunburst" \
-F prompt="Change the background to a clean studio backdrop" \
-F [email protected]curl https://api.codex4less.com/v1/images/edits \
-H "Authorization: Bearer $CODEX4LESS_API_KEY" \
-F model="gpt-image-2.5-sunburst" \
-F prompt="Combine these references into one cohesive product scene" \
-F "image[][email protected]" \
-F "image[][email protected]"from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://api.codex4less.com/v1")
result = client.images.edit(
model="gpt-image-2.5-sunburst",
image=[open("front.png", "rb"), open("side.png", "rb")],
prompt="Combine these references into one cohesive product scene",
)İstek alanları
Model desteği modele göre değişir; güncel yetenekler GET /v1/models içindeki image nesnesinde görünür.
| Alan | Tip | Zorunlu | Notlar |
|---|---|---|---|
| model | string | Zorunlu | Image model ID from GET /v1/models |
| prompt | string | Zorunlu | Editing / generation instruction |
| n | integer | İsteğe bağlı | 1..model.image.max_n |
| size | string | İsteğe bağlı | One of model.image.sizes |
| quality | string | İsteğe bağlı | One of model.image.qualities |
| style | string | İsteğe bağlı | One of model.image.styles |
| output_format | string | İsteğe bağlı | One of model.image.output_formats |
| background | string | İsteğe bağlı | One of model.image.backgrounds |
| moderation | string | İsteğe bağlı | One of model.image.moderations |
| image / image[] | file | Zorunlu | Source image(s) for /images/edits (multipart) |
| mask | file | İsteğe bağlı | Optional edit mask (multipart) |
| response_format | string | İsteğe bağlı | Provider-supported response format |
Yanıt
Sağlayıcı b64_json veya url döndürebilir. URL'ler geçici olabilir; kalıcı saklama için b64_json kullanın.
{
"created": 1710000000,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUg..."
}
]
}URL yanıtları sağlayıcı tarafından süreli olabilir.
Fiyatlandırma
Görsel modellerde fiyat görsel/çağrı başına USD'dir; n görsel için n × fiyat uygulanır. Güncel fiyat /pricing ve model detayındadır.
Görsel API'de opsiyonel Idempotency-Key desteklenir (1 saat). Aynı anahtar ile tekrar gönderim ücretlendirilmez; önceki yanıt replay edilir. Anahtar yoksa otomatik retry yapmayın; görsel hatalarında x-should-retry=false döner. Streaming ile kullanılamaz.
Eksik veya kaydedilemeyen görseller için kalan tutar kullanıcı bakiyesine otomatik credit olarak yazılır; BillingAdjustment kaydı ile izlenir.
Studio'da 'Beklemeyi bırak' bağlantıyı keser; üretim arka planda tamamlanır ve sonuç galeriye eklenir.
Idempotency
Görsel API'de opsiyonel Idempotency-Key desteklenir (1 saat). Aynı anahtar ile tekrar gönderim ücretlendirilmez; önceki yanıt replay edilir. Anahtar yoksa otomatik retry yapmayın; görsel hatalarında x-should-retry=false döner. Streaming ile kullanılamaz.
curl https://api.codex4less.com/v1/images/generations \
-H "Authorization: Bearer $CODEX4LESS_API_KEY" \
-H "Idempotency-Key: 8f14e45f-3b1a-4f2e-9d6a-123456789abc" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2.5-sunburst","prompt":"A minimal studio product shot","n":1}'Limitler
Değerler modelin imageOptions kaydından ve gateway ayarlarından gelir.
| Alan | Notlar |
|---|---|
| n | n: model max_n (varsayılan 4; imageOptions ile artırılabilir) |
| image[] | Kaynak görsel: model max_input_images (varsayılan 4) |
| file | Dosya başına 8 MB |
| total | Toplam 32 MB |
| rate | Anahtar başına 10 görsel istek/dk (ayarlanabilir); global limit ayrıca uygulanır |
| timeout | Görsel yanıtı için 600 sn proxy timeout |
Hatalar
Hata gövdesi OpenAI formatındadır; 400/413/415/504 görsel isteklere özgüdür.
| Alan | Notlar |
|---|---|
| 400 | Geçersiz model, n, boyut veya seçenek |
| 413 | İstek veya kaynak görsel çok büyük |
| 415 | Desteklenmeyen içerik türü |
| 504 | Görsel üretimi zaman aşımına uğradı |
| 401/402/403/404/423/429/503 | Hatalar → |
Model keşfi
GET /v1/models görsel modeller için category, capabilities ve image (sizes, max_n, edit, max_input_images) döndürür.