Ana sayfa/Creovox API
Geliştirici API · v1
Creovox API
Creovox stüdyosunu çalıştıran modelleri kendi kodunuzdan çağırın. Sürüm 1, metinden görsel üretme ve görsel düzenleme için GPT Image 2.6'yı destekler. Her istek eşzamansız bir görevdir: önce oluşturun, sonra görsel hazır olana kadar sorgulayın.
Hızlı başlangıç
- 01
API anahtarı oluşturun
Giriş yapın ve paneldeki API Keys bölümünü açın. Her uygulama için ayrı bir anahtar oluşturun; böylece birini devre dışı bırakırken diğerleri çalışmaya devam eder.
- 02
Kredi satın alın
API yalnızca satın alınan kredileri harcar. Ücretsiz ve bonus krediler web sitesinde çalışmaya devam eder, ancak API üzerinden kullanılamaz.
- 03
Görev oluşturup sorgulayın
Promptunuzu POST ile /api/v1/tasks adresine gönderin, task_id değerini saklayın, ardından durum succeeded veya failed olana kadar birkaç saniyede bir GET /api/v1/tasks/ çağırın.
Kimlik doğrulama
Anahtarınızı her istekte Authorization başlığında gönderin. Anahtarlar Creovox hesabınıza bağlıdır; başka sitelerde oluşturulan anahtarlar reddedilir. Anahtarı asla tarayıcı koduna veya herkese açık bir depoya koymayın.
Authorization: Bearer YOUR_API_KEYUç noktalar
| Yöntem | Yol | Açıklama |
|---|---|---|
| POST | /api/v1/tasks | Bir üretim görevi oluşturur |
| GET | /api/v1/tasks/{task_id} | Bir görevin durumunu ve çıktısını alır |
| GET | /api/v1/tasks | Bu anahtarla oluşturulan görevleri en yeniden eskiye listeler |
| GET | /api/v1/models | Modelleri giriş şeması ve fiyatlarla listeler (anahtar gerekmez) |
| GET | /api/v1/account/credits | Anahtar sahibinin kredi bakiyesini kontrol eder |
| GET | /api/v1/openapi.json | OpenAPI 3.1 belgesi (anahtar gerekmez) |
Görev oluşturma
Modelin id değerini model alanına, parametrelerini input alanına koyun. Bilinmeyen parametre adları reddedilir, böylece yazım hataları hemen hata verir. Her isteğe bir Idempotency-Key başlığı ekleyin; böylece yeniden denenen bir istek ikinci bir görev oluşturmaz ve ikinci kez ücretlendirmez.
curl -X POST https://creovox.ai/api/v1/tasks \
-H "Authorization: Bearer $CREOVOX_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1234-fox" \
-d '{
"model": "gpt-image-2.6",
"input": {
"prompt": "A red fox in fresh snow, cinematic light",
"variant": "flare",
"aspect_ratio": "16:9",
"resolution": "2k"
}
}'{
"code": 200,
"message": "success",
"data": {
"task_id": "n42…gptimg",
"model": "gpt-image-2.6",
"status": "processing",
"output": null,
"credits_charged": 20,
"refund_pending": false,
"error": null,
"created_at": "2026-11-07T08:00:00.000Z"
}
}GPT Image 2.6 parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
prompt | string | — | Neyin çizileceği veya referans görsellerin nasıl değiştirileceği. En fazla 20.000 karakter. Zorunlu. |
variant | flare | sunburst | economy | flare | flare hız ile detay arasındaki varsayılan dengedir, sunburst detayı öne çıkarır, economy en ucuzudur ve yalnızca 1K olarak oluşturur. |
aspect_ratio | string | auto | 1:1, 16:9 veya 9:16 gibi kare biçimi. auto modelin seçmesine izin verir. Economy daha az seçenek destekler. |
resolution | 1k | 2k | 4k | 1k | 1k, 2k veya 4k. Economy her zaman 1k olarak oluşturur. |
output_format | png | jpeg | webp | png | png, jpeg veya webp. Economy her zaman png döndürür. |
images | string[] | [] | En fazla 16 herkese açık HTTP(S) görsel URL'si. Verilirse görev sıfırdan çizmek yerine bu görselleri düzenler. |
Sonucu sorgulama
Her 3 ila 5 saniyede bir sorgulayın ve durum succeeded veya failed olduğunda durun. Görseller genellikle birkaç saniyeden birkaç dakikaya kadar sürer; bir görev 10 dakika sonra hâlâ processing ise sorgulamayı bırakın ve task_id değeriyle destek ekibine ulaşın. Görev başarılı olduğunda output.images görsel URL'lerini içerir; uzun süre saklayacaksanız indirin.
curl https://creovox.ai/api/v1/tasks/TASK_ID \
-H "Authorization: Bearer $CREOVOX_API_KEY"{
"code": 200,
"message": "success",
"data": {
"task_id": "n42…gptimg",
"model": "gpt-image-2.6",
"status": "succeeded",
"output": { "images": [{ "url": "https://…/image.png" }] },
"credits_charged": 20,
"refund_pending": false,
"error": null,
"created_at": "2026-11-07T08:00:00.000Z"
}
}Görev durumu
processing- Görev işleniyor veya ücret kesintisinin ya da sağlayıcının görevi kabul ettiğinin onaylanmasını bekliyor.
succeeded- Bitti. output.images sonuçları içerir ve credits_charged kesin değerdir.
failed- Üretim başarısız oldu ve error.message nedenini açıklar. Tahsil edilen krediler otomatik olarak iade edilir: iade tamamlanana kadar refund_pending true olur, ardından credits_charged 0 gösterir. Sorgulamayı durdurabilirsiniz.
// Node.js 18+
const API = 'https://creovox.ai/api/v1'
const headers = {
Authorization: `Bearer ${process.env.CREOVOX_API_KEY}`,
'Content-Type': 'application/json',
}
async function call(path, init = {}) {
const res = await fetch(API + path, { ...init, headers: { ...headers, ...init.headers }, signal: AbortSignal.timeout(30_000) })
const body = await res.json().catch(() => ({ code: res.status, message: res.statusText }))
if (body.code !== 200) {
const error = new Error(body.message)
Object.assign(error, { status: res.status, type: body.error_type, data: body.data, retryAfter: res.headers.get('retry-after') })
throw error
}
return body.data
}
// Reuse the same key when you retry this request: you get the same task and pay once.
const idempotencyKey = crypto.randomUUID()
let task
try {
task = await call('/tasks', {
method: 'POST',
headers: { 'Idempotency-Key': idempotencyKey },
body: JSON.stringify({ model: 'gpt-image-2.6', input: { prompt: 'A red fox in fresh snow' } }),
})
} catch (error) {
if (!error.data?.task_id || !['billing_unconfirmed', 'submission_unconfirmed'].includes(error.type)) throw error
task = { task_id: error.data.task_id, status: 'processing' }
}
const deadline = Date.now() + 10 * 60_000
while (task.status === 'processing') {
if (Date.now() > deadline) throw new Error(`Task ${task.task_id} is still processing; contact support.`)
await new Promise(resolve => setTimeout(resolve, 4000))
try {
task = await call(`/tasks/${task.task_id}`)
} catch (error) {
// 429 and 5xx are temporary: wait and poll again. Anything else is final.
if (error.status !== 429 && error.status < 500) throw error
await new Promise(resolve => setTimeout(resolve, (Number(error.retryAfter) || 5) * 1000))
}
}
console.log(task.status, task.output?.images, task.error, task.refund_pending)Fiyatlandırma
Fiyatlar kredi cinsindendir ve web sitesiyle birebir aynıdır. 1 kredi = US$0.01. Her referans görsel küçük bir tutar ekler. GET /api/v1/models her zaman güncel fiyat listesini döndürür.
| Varyant | Çözünürlük | Görsel başına kredi | Referans görsel başına |
|---|---|---|---|
flare | 1k | 10 | +2 |
flare | 2k | 20 | +2 |
flare | 4k | 36 | +2 |
sunburst | 1k | 10 | +2 |
sunburst | 2k | 20 | +2 |
sunburst | 4k | 36 | +2 |
economy | 1k | 5 | — |
Hatalar
Hatalar HTTP durum kodunu ve aynı JSON yapısını kullanır: code, message, error_type ve data.
| HTTP | error_type | Anlamı |
|---|---|---|
| 400 | invalid_request | Bir parametre eksik veya geçersiz. message hangisi olduğunu belirtir. |
| 401 | invalid_api_key | Anahtar eksik, yanlış, devre dışı veya silinmiş. |
| 402 | insufficient_credits | Bu görev için yeterli satın alınmış kredi yok. |
| 403 | key_not_allowed, account_suspended | Anahtar başka bir siteye ait veya hesap askıya alınmış. |
| 404 | not_found | Görev yok veya başka bir anahtarla oluşturulmuş. |
| 409 | idempotency_conflict | Bu Idempotency-Key zaten başka bir istek için kullanılmış. |
| 429 | rate_limited | Bu anahtar için çok fazla istek, çalışan görev veya durum kontrolü var. Retry-After saniyesi kadar bekleyin. |
| 5xx | provider_error, billing_unconfirmed, upstream_unavailable | provider_error durumunda onaylanmış ücret kesintileri iade edilir. billing_unconfirmed veya submission_unconfirmed durumunda data.task_id değerini saklayın ve sonuç doğrulanırken aynı görevi sorgulamaya devam edin. Geçici hatalarda aynı Idempotency-Key ile yeniden deneyin. |
Sınırlar ve iyi uygulamalar
- Her anahtarın dakika başına ve çalışan görev sınırı vardır. Ücretli planlarda sınırlar daha yüksektir.
- Her oluşturma isteğinde bir Idempotency-Key başlığı gönderin. Bir istek zaman aşımına uğrarsa aynı Idempotency-Key ile yeniden deneyin: aynı görevi alırsınız ve iki kez ücretlendirilmezsiniz.
- Referans görseller herkese açık internetten erişilebilir olmalıdır. İmzalı URL'ler birkaç dakika geçerli kaldığı sürece çalışır.
- Görevler özeldir. Bir anahtar yalnızca kendi oluşturduğu görevleri okuyabilir.
SSS
Ücretsiz kredilerimi API ile kullanabilir miyim?
Hayır. API yalnızca satın alınan kredileri harcar. Ücretsiz ve bonus krediler web sitesinde kullanılmaya devam eder.
Görev başarısız olursa ücretlendirilir miyim?
Hayır. Başarısız görevler otomatik olarak iade edilir. İade uygulanırken refund_pending true olur; işlem tamamlandığında credits_charged 0 olur.
Hangi modeller mevcut?
Sürüm 1, GPT Image 2.6 sunar. Daha fazla görsel ve video modeli eklenecek; GET /api/v1/models şu anda mevcut olanları listeler.
API'yi tarayıcıdan çağırabilir miyim?
API çıkış noktalar arası isteklere izin verir, ancak sayfanızı görebilen herkes anahtarı okuyabilir. Bunun yerine sunucunuzdan çağırın.
Bu resmi bir OpenAI API'si mi?
Hayır. Creovox AI, GPT Image 2.6'ya kendi API'si ve kendi kredileri üzerinden erişim sağlayan bağımsız bir hizmettir.