
GPT Image 2 API: Eksiksiz Rehber (Python, Node.js, Curl)
Eksiksiz GPT Image 2 API entegrasyon rehberi. Kimlik doğrulama, parametreler, Python/Node.js örnekleri, görsel düzenleme, toplu üretim, hata yönetimi ve maliyet ipuçları.
GPT Image 2'yi kendi ürününüze, otomasyon hattınıza veya toplu üretim iş akışınıza entegre etmek istiyorsanız, API tek yoldur. Bu rehber ihtiyacınız olan her şeyi kapsıyor: kimlik doğrulama, parametreler, Python ve Node.js için kod örnekleri, görsel düzenleme, hata yönetimi ve maliyet optimizasyonu.
Sonunda gerçek üretim trafiğini kaldıran çalışır bir GPT Image 2 entegrasyonuna sahip olacaksınız.
Ön koşullar
Başlamadan önce:
- Bir OpenAI geliştirici hesabı (platform.openai.com)
- Finanse edilmiş bir faturalandırma hesabı (görsel üretimi ücretlidir; yeni hesaplar deneme kredisi alabilir)
- Bir API anahtarı — platform.openai.com/api-keys adresinden oluşturun
- Kullanmak istediğiniz SDK'ya bağlı olarak Python 3.8+ veya Node.js 18+
Üretim ekipleri için stabil API erişimi
Ekibiniz doğrudan OpenAI erişiminin kararsız olduğu bir bölgedeyse veya yük devretme, faturalandırma birleştirme ve SLA garantilerini yöneten tek bir geçiş noktasına ihtiyaç duyuyorsanız, support@gpt-image2.art adresine e-posta atarak yönetilen bir GPT Image 2 API anahtarı edinebilirsiniz. Geçiş; aynı gpt-image-2 model adını, aşağıda açıklanan aynı parametreleri ve aynı yanıt biçimini destekler — bu nedenle kodunuzun değişmesi gerekmez.
Adım 1: SDK'yı yükleyin
Python
pip install openai pillowpillow isteğe bağlıdır, yalnızca döndürülen görsel üzerinde son işlem yapmayı planlıyorsanız gereklidir.
Node.js
npm install openai
# veya
pnpm add openaiAdım 2: API anahtarınızı yapılandırın
API anahtarınızı asla kodun içine sabit olarak yazmayın. Bir ortam değişkeni kullanın.
Bir .env dosyası oluşturun:
OPENAI_API_KEY=sk-proj-your-key-hereArdından kodunuzda yükleyin (Python python-dotenv kullanır, Node.js .env'yi yerel olarak veya dotenv ile yükler).
Adım 3: İlk görselinizi oluşturun
Python — minimal çalışma örneği
import os
from openai import OpenAI
import base64
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
result = client.images.generate(
model="gpt-image-2",
prompt="A white stainless steel water bottle on a beige linen tablecloth, premium product photography, 1:1 aspect ratio.",
size="1024x1024",
quality="medium",
n=1,
)
# Image is returned as base64
image_b64 = result.data[0].b64_json
with open("output.png", "wb") as f:
f.write(base64.b64decode(image_b64))
print("Saved to output.png")Node.js — minimal çalışma örneği
import OpenAI from 'openai';
import fs from 'fs';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const result = await client.images.generate({
model: 'gpt-image-2',
prompt:
'A white stainless steel water bottle on a beige linen tablecloth, premium product photography, 1:1 aspect ratio.',
size: '1024x1024',
quality: 'medium',
n: 1,
});
const imageB64 = result.data[0].b64_json;
fs.writeFileSync('output.png', Buffer.from(imageB64, 'base64'));
console.log('Saved to output.png');Curl — kabuk betikleri ve hızlı testler için
curl https://api.openai.com/v1/images/generations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A white stainless steel water bottle on a beige linen tablecloth.",
"size": "1024x1024",
"quality": "medium",
"n": 1
}'Tüm parametreler açıklandı
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
model | string | evet | Her zaman gpt-image-2 |
prompt | string | evet | Görsel açıklaması; 32.000 karaktere kadar |
size | string | hayır | En-boy oranı (1:1, 16:9, 9:16, vb.) veya açık piksel (1024x1024, 1536x1024, 1024x1536) |
resolution | string | hayır | 1K (~1 MP) / 2K (~4 MP) / 4K (~8 MP) — açık çözünürlük kontrolü için bazı geçiş noktaları tarafından kullanılır |
quality | string | hayır | low, medium, high — çıktı token sayısını ve maliyeti etkiler |
n | integer | hayır | İstek başına görsel sayısı, 1-10 |
image_urls | array | hayır | Görsel düzenleme / görsel-to-görsel için 1-16 referans görsel (her biri ≤50MB, JPEG / PNG / WEBP) |
output_format | string | hayır | png (varsayılan), jpeg, webp |
output_compression | integer | hayır | 0-100, yalnızca jpeg/webp için |
background | string | hayır | Alfa kanallı PNG için transparent |
moderation | string | hayır | auto (varsayılan) veya daha hızlı ancak daha katı filtreleme için low |
callback_url | string | hayır | Tamamlanma geri çağrılarını almak için HTTPS uç noktası (asenkron geçiş noktaları tarafından kullanılır) |
user | string | hayır | OpenAI'nın kötüye kullanım izlemesi için stabil kullanıcı kimliği |
Görsel düzenleme — öldürücü özellik
GPT Image 2'nin yönlendirilmiş düzenlemesi, difüzyon modellere karşı en büyük API avantajıdır. Mevcut bir görsel ve ne değiştirileceğini açıklayan bir prompt yüklüyorsunuz.
Python
result = client.images.edit(
model="gpt-image-2",
image=open("original.png", "rb"),
prompt="Change the bottle's color from white to navy blue. Keep everything else identical.",
size="1024x1024",
quality="medium",
)
with open("edited.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))Node.js
import { toFile } from 'openai';
const result = await client.images.edit({
model: 'gpt-image-2',
image: await toFile(fs.createReadStream('original.png'), 'original.png'),
prompt:
"Change the bottle's color from white to navy blue. Keep everything else identical.",
size: '1024x1024',
quality: 'medium',
});Prompttaki "Keep everything else identical" ifadesi kritiktir — olmadan model ilgisiz bölgeleri yeniden oluşturabilir.
Hız sınırı açısından güvenli eş zamanlılıkla toplu üretim
100 isteği naif biçimde Promise.all() ile göndermeyin — hız sınırına çarparsınız. Sınırlandırılmış eş zamanlılık kullanın.
Python — semaphore ile asyncio kullanarak
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(api_key=os.environ["OPENAI_API_KEY"])
async def generate_one(prompt: str, semaphore: asyncio.Semaphore):
async with semaphore:
result = await client.images.generate(
model="gpt-image-2",
prompt=prompt,
size="1024x1024",
quality="medium",
)
return result.data[0].b64_json
async def batch_generate(prompts: list[str], concurrency: int = 5):
semaphore = asyncio.Semaphore(concurrency)
tasks = [generate_one(p, semaphore) for p in prompts]
return await asyncio.gather(*tasks)
results = asyncio.run(batch_generate(["prompt 1", "prompt 2", ...]))Node.js — p-limit kullanarak
import pLimit from 'p-limit';
const limit = pLimit(5); // 5 eş zamanlı istek
const tasks = prompts.map((prompt) =>
limit(async () => {
const result = await client.images.generate({
model: 'gpt-image-2',
prompt,
size: '1024x1024',
quality: 'medium',
});
return result.data[0].b64_json;
})
);
const results = await Promise.all(tasks);Üretim için hata yönetimi
API birkaç farklı şekilde başarısız olabilir. Her birini yönetin:
from openai import OpenAI, APIError, RateLimitError, APIConnectionError, BadRequestError
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
def safe_generate(prompt: str, max_retries: int = 3):
for attempt in range(max_retries):
try:
result = client.images.generate(
model="gpt-image-2",
prompt=prompt,
size="1024x1024",
quality="medium",
)
return result.data[0].b64_json
except RateLimitError:
# 429 — bekle ve tekrar dene
wait = (2 ** attempt) * 5
print(f"Rate limited; waiting {wait}s")
time.sleep(wait)
except BadRequestError as e:
# 400 — genellikle içerik politikası ihlali, tekrar deneme
print(f"Bad request: {e}")
return None
except APIConnectionError:
# ağ sorunu — tekrar dene
time.sleep(2 ** attempt)
except APIError as e:
# 500 düzeyi — geri çekilmeyle tekrar dene
time.sleep(2 ** attempt)
return NoneMaliyet optimizasyonu — somut taktikler
1. Doğru kalite kademesini seçin
| Kademe | Görsel başına maliyet (1024×1024) | Ne zaman kullanılır |
|---|---|---|
low | ~$0.011 | Taslaklar, A/B testi, prompt yinelemesi |
medium | ~$0.042 | Çoğu üretim kullanım durumu |
high | ~$0.167 | Son hero görseller, baskı çözünürlüklü varlıklar |
Çoğu ekip varsayılan olarak high kullanarak fazla ödüyor. Çalışmanın ~%95'i için medium kullanın.
2. images.generate yerine images.edit ile yineleyin
Yönlendirilmiş bir düzenleme bir üretimle aynı maliyete gelir, ancak 5 deneme yerine 1 denemede doğru sonucu verir. Çok turlu iyileştirme için bu 5× maliyet tasarrufudur.
3. Promptlar tekrarlandığında deterministik olarak önbelleğe alın
Aynı promptu tekrar tekrar oluşturuyorsanız (örn. kullanıcıya yönelik ürün önizlemeleri), hash(prompt + size + quality) ile önbelleğe alın ve CDN'nizden sunun.
4. Prompt keşfi için low kullanın, ardından yükseltin
Yaygın iş akışı:
# Adım 1: 5 prompt varyantını düşük kalitede deneyin (toplam $0.05)
candidates = [generate(p, quality="low") for p in variants]
# Adım 2: en iyiyi seçin, yüksek kalitede yeniden oluşturun
best_prompt = pick_winner(candidates)
final = generate(best_prompt, quality="high") # $0.167Toplam maliyet: tüm 5 varyantı yüksek kalitede çalıştırsaydınız ~$0.84 yerine ~$0.22.
5. OpenAI kontrol panelinde sabit harcama limitleri belirleyin
Kodunuzun hiç hata yapmayacağına güvenmeyin — platform.openai.com/account/billing/limits adresinde bir kullanım sınırı belirleyin.
Akış üretim durumu (isteğe bağlı)
Uzun süren toplu işlemler için ilerlemeyi görüntülemek isteyebilirsiniz. Görsel üretim uç noktası akışlı değildir, ancak toplu işlemi asenkron ilerleme raporlamasıyla sarabilirsiniz:
let completed = 0;
const tasks = prompts.map((prompt) =>
limit(async () => {
const result = await client.images.generate({ /* ... */ });
completed++;
onProgress({ completed, total: prompts.length });
return result.data[0].b64_json;
})
);Yaygın entegrasyon hataları
| Hata | Ne olur | Çözüm |
|---|---|---|
| API anahtarını sabit kodlamak | Anahtar Git üzerinden sızar | Her zaman ortam değişkenleri kullanın |
result.data[0].url'e kayıt | Alan her zaman mevcut değil (response_format'a bağlı) | b64_json kullanın ve yerel olarak çözün |
| Düzenleme için büyük görseller göndermek | Yavaş + pahalı | Yüklemeden önce 1024×1024'e yeniden boyutlandırın |
| 400 hatalarını görmezden gelmek | Düzeltilemez başarısızlıklarda yeniden denemeleri yakar | 4xx (tekrar deneme) ile 5xx'i (tekrar dene) ayırt edin |
| Hız limiti yönetimi yok | Ani artışlar 429 çığına yol açar | Semaphore sınırlı eş zamanlılık kullanın |
| Tam promptları düz metin olarak kaydetmek | Kullanıcı tarafından sağlanmışsa gizlilik ihlali | Kaydetmeden önce hash'leyin veya gizleyin |
Üretime hazır kontrol listesi
Bir GPT Image 2 entegrasyonu göndermeden önce:
- API anahtarı ortam değişkeninde, asla kodda veya günlüklerde değil
- Kullanım durumuna uygun kalite kademesi (
mediumvarsayılan) - Toplu işler için sınırlı eş zamanlılık (
p-limit/Semaphore) - Hata yönetimi 4xx ile 5xx'i ayırt ediyor
- OpenAI kontrol panelinde sabit harcama sınırı belirlenmiş
- Kullanıcı girişi içerik politikası ihlalleri için temizlenmiş
- Çıktı kendi depolama alanınızda saklanıyor (OpenAI URL'lerine güvenilmiyor)
- Tekrar eden promptlar için önbellek katmanı
- Görsel başına maliyet ve hata oranında izleme
Görev yoklamayla asenkron üretim (yüksek eş zamanlılık kurulumları için)
Yüksek hacimli üretim iş yükleri için, bazı GPT Image 2 geçiş noktaları asenkron görev modeli sunar: isteği gönderirsiniz, hemen bir görev kimliği alırsınız ve tamamlanmayı yoklar ya da geri çağrı alırsınız. Bu, büyük toplu işlemlerde HTTP zaman aşımlarını önler.
Tipik asenkron akış:
# 1. İstek gönder → task_id al
response = client.images.generate(
model="gpt-image-2",
prompt="...",
size="1024x1024",
quality="high",
callback_url="https://your-app.com/api/image-callback", # isteğe bağlı
)
task_id = response.id
# 2. Birkaç saniyede bir görev durumunu yokla
while True:
status = client.images.retrieve(task_id)
if status.status == "completed":
image_url = status.data[0].url
break
elif status.status == "failed":
raise Exception(status.error)
time.sleep(3)Asenkron mod şunlar için idealdir:
- Gece yüzlerce ürün varyantı oluşturan e-ticaret mağazaları
- A/B prompt testleri yürüten pazarlama ekipleri
- Kullanıcıların görsel isteyip daha sonra kontrol ettiği uygulamalar (bildirimler)
GPT Image 2 API SSS
S: GPT Image 2 API model adı nedir?
gpt-image-2. Tüm istekler için tam olarak bu dizeyi kullanın.
S: GPT Image 2 API görsel-to-görsel / görsel düzenlemeyi destekliyor mu?
Evet. images.edit'i image parametresiyle kullanın veya bunu destekleyen geçiş noktalarına image_urls (1-16 referans görsel dizisi) geçirin. Referans görseller karakter tutarlılığı, IP tasarımı ve ürün fotoğrafçılığı için olmazsa olmazdır.
S: GPT Image 2 API ücretsiz mi? Hayır, token başına ücretlidir. Yeni OpenAI hesapları deneme kredisi alabilir. Bazı üçüncü taraf geçiş noktaları ücretsiz deneme kredisi sunar.
S: GPT Image 2 API görsel başına ne kadar maliyetlidir? Düşük / orta / yüksek kalitede 1024×1024 görsel başına yaklaşık $0.011 / $0.042 / $0.167. Daha büyük boyutlar ve referans görseller daha fazla maliyetlidir.
S: Maksimum prompt uzunluğu nedir? 32.000 karaktere kadar. Pratikte ~1.500 karakterin üzerindeki promptlar azalan getiri gösterir.
S: API ile şeffaf arka planlı PNG nasıl oluşturulur?
background: "transparent" ve output_format: "png" ayarlayın.
S: GPT Image 2 hangi çözünürlükleri destekliyor?
Yaygın ön ayarlar: 1024x1024, 1536x1024, 1024x1536. Bazı geçiş noktaları açık kontrol için 1K / 2K / 4K çözünürlük düzeyleri sunar.
S: Hız sınırı nedir?
OpenAI kademeniize bağlıdır. Ücretsiz kademe en katı sınırlara sahiptir; kullanım kademesi zamanla artış gösterir. Sınırın altında kalmak için sınırlı eş zamanlılık (p-limit / Semaphore) kullanın.
S: GPT Image 2 API hatalarını nasıl yönetirim? 4xx'i (tekrar deneme — genellikle içerik politikası ihlalleri) 5xx'ten (üstel geri çekilmeyle tekrar dene) ayırt edin. Yukarıdaki hata yönetimi bölümüne bakın.
S: Uçuştaki bir GPT Image 2 API isteğini iptal edebilir miyim?
Eş zamanlı istekler için yalnızca bağlantıyı kapatarak. Asenkron özellikli geçiş noktaları, görev hâlâ kuyruktayken çalışan bir cancel uç noktası sunar.
S: API akışı destekliyor mu? Görsel üretiminin kendisi akışlı değildir (tamamlanan görseli sonunda alırsınız). İlerleme arayüzü için toplu işlemi özel bir ilerleme raporlayıcıya sarın (yukarıdaki "Akış üretim durumu"na bakın).
Çalışan bir örnek uygulama ister misiniz?
Tam referans uygulaması için — Next.js + GPT Image 2 + Stripe + görsel depolama — gpt-image2.art ve gerçek çıktıları gösteren explore sayfasını inceleyin.
SLA'lı yönetilen API anahtarına mı ihtiyacınız var?
Hesap kurulumu, faturalandırma, bölge sorunları ve hız limiti ayarlamalarını atlamayı tercih ediyorsanız, support@gpt-image2.art adresine e-posta atarak yönetilen bir GPT Image 2 API anahtarı satın alabilirsiniz. Sağladıklarımız:
- Yerleşik yük devretmeyle tek stabil API uç noktası
- Yerel para biriminizde birleştirilmiş faturalandırma (USD havale gerekmiyor)
- Kutudan çıkar çıkmaz asenkron görev modu + geri çağrı desteği
- Aylık >10K görsel üreten ekipler için hacim fiyatlandırması
- Aynı
gpt-image-2model adı ve parametre spesi — doğrudan uyumlu
Daha fazla okuma
images.generate yerine images.edit ile yineleyin3. Promptlar tekrarlandığında deterministik olarak önbelleğe alın4. Prompt keşfi için low kullanın, ardından yükseltin5. OpenAI kontrol panelinde sabit harcama limitleri belirleyinAkış üretim durumu (isteğe bağlı)Yaygın entegrasyon hatalarıÜretime hazır kontrol listesiGörev yoklamayla asenkron üretim (yüksek eş zamanlılık kurulumları için)GPT Image 2 API SSSÇalışan bir örnek uygulama ister misiniz?SLA'lı yönetilen API anahtarına mı ihtiyacınız var?Daha fazla okumaDaha Fazla Gönderi

GPT Image 2 Bilgi Grafiği Bilgi İstemi Kılavuzu: Sınav Hazırlığı için 5 Üretim Şablonu, Xiaohongshu, Ders Notları, Slaytlar ve SOP'lar
GPT Image 2 ile herhangi bir konuyu tek seferlik bilgi grafiği infografiklerine dönüştürmek için kopyala-yapıştır bilgi istemi çerçevesi. Kamu hizmeti sınavı çalışma kartları, Xiaohongshu gönderileri, sınıf notları, slayt görselleri ve operasyonel SOP'lar için savaşta test edilmiş beş şablon.

GPT Image 2 Gerçekten Nano Banana'yi Tahttan İndirdi mi? Kararım
GPT Image 2 ile Nano Banana 2 arasındaki tüm sıcak değerlendirmeleri, değerlendirmeleri ve OpenAI belgelerini inceledim. Karar "Muzu ezdi"den daha incelikli.

GPT Image 2 Ters Prompt: Herhangi Bir Görseli Yeniden Üretin
Pratik bir GPT Image 2 ters prompt rehberi. Herhangi bir referans görsel yükleyin, saniyeler içinde yeniden üretilebilir bir prompt alın. 4 teknik + kopyala-yapıştır şablonlar.
Generate your first image with GPT Image 2 — right now
Reliable non-Latin text rendering, directed editing, and 50+ ready-to-use prompts. No downloads — just open in your browser.