Geliştirici
Krixy API ve MCP
Görsel, video ve ses üretimini kendi uygulamandan ya da yapay zekâ asistanından çağır. Yanıtlarda sağlayıcı adı ya da USD tutarı yer almaz; maliyet yalnız kredi olarak bildirilir.
Başlarken
- Hesabım → API bölümünde bir API anahtarı oluştur. Anahtar (wc_live_…) ve webhook imza sırrı (whsec_…) yalnız bir kez gösterilir; güvenli bir yerde sakla.
- Temel adres aşağıdaki gibidir. Tüm uçlar HTTPS ve JSON kullanır.
- İlk isteğin: modelleri listele.
Temel adres
https://krixy.ai/api/v1| Yöntem | Yol | Kapsam | Ne yapar |
|---|---|---|---|
| GET | /modeller | oku | Araçları ve kullanabildiğin modelleri, ayarlarıyla ve kredi fiyatıyla listeler. |
| POST | /tahmin | oku | İş oluşturmadan kredi tahmini ve yönlendirme kararı verir. |
| POST | /dosyalar | uret | Referans dosyası yükler (multipart alan dosya, en çok 10 MB) ya da JSON {url} ile adresten alır. |
| POST | /isler | uret | Üretim işi oluşturur. Idempotency-Key başlığı zorunlu (8–128 karakter). |
| GET | /isler/{id} | oku | İşin durumunu, ilerlemesini ve bitince çıktı bağlantılarını döndürür. |
| GET | /bakiye | oku | Kredi bakiyesi, günlük sınır ve anahtarın aylık sınırı. |
| GET | /kisiler | oku | Videodaki kişileri numaraları ve göründükleri saniyelerle listeler (?video=dosya kimliği); hazırlanıyorsa yeniden çağır. |
| POST | /kisi-degistir | uret | Kişi değiştirme isteği açar: video + kişi + fotoğraf eşleşmesi; örnek kareleri ve krediyi döndürür. Bu adım ücret almaz. |
| GET | /kisi-degistir/{id} | oku | Kişi değiştirme isteğinin durumunu, örnek karelerini ve sıradaki adımını döndürür. |
| POST | /kisi-degistir/{id}/onay | uret | Sıradaki ücretli adımı onaylar (kare düzenleme, kare onayı, video). Kredi yalnız bu uçta harcanır. |
| GET | /medya/{id} | — | Çıktıların imzalı bağlantısı (15 dakika geçerli; kimlik gerektirmez). Elle üretilmez, iş yanıtından gelir. |
Aynı Idempotency-Key ve aynı gövde 24 saat içinde aynı işi 200 ile döndürür (kredi ikinci kez düşmez). Aynı anahtar farklı gövdeyle 409 verir. Yeni iş 201 döner.
Kimlik doğrulama
Her istekte Authorization başlığı ile Bearer anahtarı gönder. Anahtarı asla URL'ye ya da tarayıcıda çalışan (istemci tarafı) koda koyma; yalnız kendi sunucunda sakla.
Anahtarı Hesabım → API anahtarları bölümünde oluştur; gizli anahtar yalnız bir kez gösterilir. API anahtarı oluştur
Authorization: Bearer wc_live_...Kapsamlar
oku— GET /modeller, POST /tahmin, GET /isler/{id}, GET /bakiyeuret— POST /isler, POST /dosyalar (oku kapsamını içerir)
Hızlı başlangıç
Örneklerde ANAHTAR yerine kendi anahtarını koy; anahtarı ortam değişkeninden oku. model değerleri için önce modelleri listele.
1. Modelleri listele
# Anahtarı ortam değişkeninden oku
export KRIXY_API_KEY="wc_live_..."
curl https://krixy.ai/api/v1/modeller \
-H "Authorization: Bearer $KRIXY_API_KEY"2. Kredi tahmini
curl -X POST https://krixy.ai/api/v1/tahmin \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"otomatik","kategori":"gorsel","prompt":"A lighthouse on a cliff at sunset, cinematic","ayarlar":{"oran":"16:9","adet":1}}'3. Adresten referans yükle
curl -X POST https://krixy.ai/api/v1/dosyalar \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/referans.jpg"}'4. İş oluştur
curl -X POST https://krixy.ai/api/v1/isler \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"model":"otomatik","kategori":"gorsel","prompt":"Same scene, watercolor style","referanslar":[{"dosya":"DOSYA_ID","rol":"referans"}]}'5. İş bitene kadar sorgula
curl https://krixy.ai/api/v1/isler/IS_ID \
-H "Authorization: Bearer $KRIXY_API_KEY"Modeller
Kullanabildiğin araçlar ve modeller; her modelin ayarları (anahtar, tür, değerler, varsayılan) ve tipik kredisi. İş gövdesinde model alanına slug ya da id verilir.
/api/v1/modellerokuİstek
curl https://krixy.ai/api/v1/modeller \
-H "Authorization: Bearer $KRIXY_API_KEY"Yanıt · 200
{
"araclar": [
{
"arac": "gorsel/olustur",
"kategori": "gorsel",
"gorevler": [
"t2i",
"i2i"
],
"modeller": [
"flux-schnell",
"flux-dev",
"flux-2-dev",
"seedream-4",
"nano-banana",
"flux-dev-i2i",
"nano-banana-edit",
"seedream-4-edit",
"flux-kontext-pro",
"qwen-image-edit",
"z-image-turbo",
"flux-kontext-dev",
"seedream-4-5",
"seedream-5-lite",
"flux-2-pro",
"flux-2-flex",
"flux-kontext-max",
"nano-banana-pro",
"nano-banana-2",
"nano-banana-2-lite",
"nano-banana-2-1",
"gpt-image-2",
"gpt-image-1-mini",
"gpt-image-2-5-sunburst",
"gpt-image-2-5-flare",
"grok-imagine-image-2-0",
"seedream-5-0-flash",
"seedream-5-0-pro",
"imagen-4-0",
"wan-2-7-image",
"wan-2-7-image-pro",
"grok-imagine",
"qwen-image-2",
"qwen-image-2-1",
"qwen-image-3-0",
"qwen-image-3-0-pro",
"z-image-pro",
"flux-2-max",
"flux-3-image",
"midjourney-v7",
"midjourney-v8"
]
}
],
"modeller": [
{
"id": "01M53CYS5HDH5DV3ZT8Y1F4P9J",
"slug": "flux-schnell",
"ad": "FLUX.1 [schnell]",
"kategori": "image",
"gorevler": [
"t2i"
],
"aciklama": "En hızlı ve en ucuz FLUX; taslak ve hızlı deneme için.",
"kredi": 1,
"ayarlar": [
{
"anahtar": "oran",
"ad": "En-boy oranı",
"tur": "enum",
"secenekler": [
"1:1",
"16:9",
"9:16",
"4:3",
"3:4",
"3:2",
"2:3",
"21:9"
],
"varsayilan": "1:1",
"rol": "oran"
},
{
"anahtar": "cozunurluk",
"ad": "Çözünürlük",
"tur": "enum",
"secenekler": [
"standart",
"yuksek"
],
"varsayilan": "standart",
"rol": "cozunurluk"
},
{
"anahtar": "num_inference_steps",
"ad": "Adım sayısı",
"tur": "int",
"min": 1,
"max": 12,
"varsayilan": 4,
"rol": "adimlar"
},
{
"anahtar": "guidance_scale",
"ad": "Guidance (CFG)",
"tur": "number",
"min": 1,
"max": 20,
"adim": 0.1,
"varsayilan": 3.5,
"rol": "guidance"
},
{
"anahtar": "output_format",
"ad": "Çıktı biçimi",
"tur": "enum",
"secenekler": [
"jpeg",
"png"
],
"varsayilan": "jpeg",
"rol": "format"
},
{
"anahtar": "acceleration",
"ad": "Hızlandırma",
"tur": "enum",
"secenekler": [
"none",
"regular",
"high"
],
"varsayilan": "none",
"rol": "diger"
}
],
"girdi": {
"gorsel": 0,
"video": 0,
"ses": 0,
"roller": [],
"baslangicZorunlu": false,
"kareRefAyri": false
},
"azami_adet": 4,
"prompt_gerekli": true
}
]
}FLUX.1 [schnell]flux-schnellGörsel1
En hızlı ve en ucuz FLUX; taslak ve hızlı deneme için.
Görevler: t2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
| num_inference_steps | Adım sayısı | int | 1 – 12 | 4 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 3.5 |
| output_format | Çıktı biçimi | enum | jpeg, png | jpeg |
| acceleration | Hızlandırma | enum | none, regular, high | none |
FLUX.1 [dev]flux-devGörsel1
FLUX.1 [dev]: dengeli kalite, ayrıntılı kontrol.
Görevler: t2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
| num_inference_steps | Adım sayısı | int | 1 – 50 | 28 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 3.5 |
| output_format | Çıktı biçimi | enum | jpeg, png | jpeg |
| acceleration | Hızlandırma | enum | none, regular, high | none |
FLUX.2 [dev]flux-2-devGörsel1
FLUX.2 [dev]: yeni nesil FLUX, iyi prompt uyumu.
Görevler: t2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
| num_inference_steps | Adım sayısı | int | 4 – 50 | 28 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 2.5 |
| output_format | Çıktı biçimi | enum | jpeg, png | png |
| acceleration | Hızlandırma | enum | none, regular, high | regular |
| enable_prompt_expansion | Prompt'u genişlet | boolean | — | false |
Seedream 4.0seedream-4Görsel3
ByteDance Seedream 4: yüksek çözünürlüklü, sinematik.
Görevler: t2i · Tipik kredi: 3
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek, cokyuksek | standart |
| enhance_prompt_mode | Prompt iyileştirme modu | enum | standard, fast | standard |
Nano Banananano-bananaGörsel2
Google Nano Banana: güçlü prompt uyumu ve metin.
Görevler: t2i · Tipik kredi: 2
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | 1:1 |
| output_format | Çıktı biçimi | enum | jpeg, png | png |
| safety_tolerance | Güvenlik toleransı | enum | 1, 2, 3, 4, 5, 6 | 4 |
FLUX.1 [dev]flux-dev-i2iGörsel4
FLUX.1 [dev] görselden görsele: referansı dönüştürür.
Görevler: i2i · Tipik kredi: 4
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| strength | Dönüşüm gücü | number | 0.01 – 1 | 0.95 |
| num_inference_steps | Adım sayısı | int | 10 – 50 | 40 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 3.5 |
| output_format | Çıktı biçimi | enum | jpeg, png | jpeg |
| acceleration | Hızlandırma | enum | none, regular, high | none |
Nano Banana Editnano-banana-editGörsel2
Nano Banana düzenleme: çoklu referansla düzenle.
Görevler: i2i · Tipik kredi: 2
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | auto, 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | auto |
| output_format | Çıktı biçimi | enum | jpeg, png | png |
| safety_tolerance | Güvenlik toleransı | enum | 1, 2, 3, 4, 5, 6 | 4 |
Seedream 4.0 Editseedream-4-editGörsel3
Seedream 4 düzenleme: en fazla 10 referans.
Görevler: i2i · Tipik kredi: 3
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek, cokyuksek | standart |
| enhance_prompt_mode | Prompt iyileştirme modu | enum | standard, fast | standard |
FLUX.1 Kontext [pro]flux-kontext-proGörsel4
FLUX Kontext Pro: tek görselde yönergeyle düzenleme.
Görevler: i2i · Tipik kredi: 4
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21 | 1:1 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 3.5 |
| output_format | Çıktı biçimi | enum | jpeg, png | jpeg |
| safety_tolerance | Güvenlik toleransı | enum | 1, 2, 3, 4, 5, 6 | 2 |
| enhance_prompt | Prompt'u iyileştir | boolean | — | false |
Qwen Image Editqwen-image-editGörsel4
Qwen Image Edit: tek görsel düzenleme, negatif prompt destekli.
Görevler: i2i · Tipik kredi: 4
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
| negative_prompt | Negatif prompt | text | — | — |
| num_inference_steps | Adım sayısı | int | 2 – 50 | 30 |
| guidance_scale | Guidance (CFG) | number | 1 – 20 | 4 |
| output_format | Çıktı biçimi | enum | jpeg, png | png |
| acceleration | Hızlandırma | enum | none, regular, high | regular |
Z-Image Turboz-image-turboGörsel1
Çok hızlı ve ucuz metinden görsel.
Görevler: t2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 | 1:1 |
| num_inference_steps | Adım sayısı | int | 1 – 50 | 8 |
FLUX Kontext devflux-kontext-devGörsel1
Referans görselle yönergeli düzenleme.
Görevler: i2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| num_inference_steps | Adım sayısı | int | 1 – 100 | 28 |
Seedream 4.5seedream-4-5Görsel4
ByteDance Seedream 4.5: 2K/4K metinden görsel ve çoklu referansla düzenleme (en fazla 14 referans).
Görevler: t2i, i2i · Tipik kredi: 4
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 | 1:1 |
| cozunurluk | Çözünürlük | enum | 2K, 4K | 2K |
Seedream 5.0 Liteseedream-5-liteGörsel4
ByteDance Seedream 5.0 Lite: 2K/3K metinden görsel ve referansla düzenleme.
Görevler: t2i, i2i · Tipik kredi: 4
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 2:1, 1:2 | 1:1 |
| cozunurluk | Çözünürlük | enum | 2K, 3K, 4K | 2K |
FLUX.2 [pro]flux-2-proGörsel3
Black Forest Labs FLUX.2 [pro]: yüksek kaliteli metinden görsel ve 9 referansa kadar düzenleme.
Görevler: t2i, i2i · Tipik kredi: 3
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
FLUX.2 [flex]flux-2-flexGörsel7
Görevler: t2i, i2i · Tipik kredi: 7
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 | 1:1 |
| cozunurluk | Çözünürlük | enum | standart, yuksek | standart |
FLUX.1 Kontext [max]flux-kontext-maxGörsel8
Kontext'in en yüksek kaliteli varyantı (ayrı model): yönergeli düzenleme, 2 referansa kadar.
Görevler: i2i · Tipik kredi: 8
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21 | 1:1 |
Nano Banana Pronano-banana-proGörsel3
Google Gemini 3 Pro Image (Nano Banana Pro): 1K/2K/4K, 14 referansa kadar çoklu görselle düzenleme.
Görevler: t2i, i2i · Tipik kredi: 3
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9, 1:4, 4:1, 1:8, 8:1 | 1:1 |
| cozunurluk | Çözünürlük | enum | 1K, 2K, 4K | 1K |
| batch | Hız | boolean | — | true |
Nano Banana 2nano-banana-2Görsel2
Google Gemini 3.1 Flash Image (Nano Banana 2): hızlı, 1K/2K/4K, çoklu referans.
Görevler: t2i, i2i · Tipik kredi: 2
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9, 1:4, 4:1, 1:8, 8:1 | 1:1 |
| cozunurluk | Çözünürlük | enum | 1K, 2K, 4K, 0.5K | 1K |
| batch | Hız | boolean | — | true |
Nano Banana 2 Litenano-banana-2-liteGörsel1
Google Gemini 3.1 Flash-Lite Image: çok hızlı ve ucuz 1K görsel; çoklu referans için optimize değil. Yavaş modda toplu işlem.
Görevler: t2i, i2i · Tipik kredi: 1
| Alan | Ad | Tür | Değerler | Varsayılan |
|---|---|---|---|---|
| oran | En-boy oranı | enum | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9, 1:4, 4:1, 1:8, 8:1 | 1:1 |
| cozunurluk | Çözünürlük | enum | 1K | 1K |
| batch | Hız | boolean | — | true |
Görsel üretim
Metinden görsel. model: "otomatik" verirsen kategori: "gorsel" gerekir; ayarlar modelin ayarlarına göre (oran, adet, cozunurluk, parametreler).
/api/v1/isleruretİstek
curl -X POST https://krixy.ai/api/v1/isler \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"model":"flux-schnell","prompt":"A lighthouse on a cliff at sunset, cinematic","ayarlar":{"oran":"1:1","adet":1}}'Yanıt · 201
{
"id": "01JZ8Q4W6E5T3R2Y1U0I9O8P7A",
"durum": "sirada",
"ilerleme": null,
"asama": null,
"gorev": "t2i",
"model": {
"id": "01M53CYS5HDH5DV3ZT8Y1F4P9J",
"slug": "flux-schnell",
"ad": "FLUX.1 [schnell]"
},
"prompt": "A lighthouse on a cliff at sunset, cinematic",
"kredi": 1,
"olusturma": "2026-11-08T10:00:00.000Z",
"bitis": null,
"hata": null,
"ciktilar": []
}Video üretim
Metinden ya da görselden video. Görselden video için referanslar[] içinde rol "baslangic" ile görsel ver; süre ve oran modelin değerlerinden.
/api/v1/isleruretİstek
curl -X POST https://krixy.ai/api/v1/isler \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"model":"seedance-1-lite-t2v-480p","prompt":"Slow drone shot over a misty forest at dawn","ayarlar":{"sure":5,"oran":"16:9"}}'Yanıt · 201
{
"id": "01JZ8Q4W6E5T3R2Y1U0I9O8P7A",
"durum": "sirada",
"ilerleme": null,
"asama": null,
"gorev": "t2v",
"model": {
"id": "01M53CYS6BDKD3Z8DANR04S9Z6",
"slug": "seedance-1-lite-t2v-480p",
"ad": "Seedance 1.0 Lite 480p"
},
"prompt": "Slow drone shot over a misty forest at dawn",
"kredi": 8,
"olusturma": "2026-11-08T10:00:00.000Z",
"bitis": null,
"hata": null,
"ciktilar": []
}Ses
Seslendirme, müzik ve ses efekti: arac "ses/seslendirme", "ses/muzik" ya da "ses/efekt" ve o aracın modeli.
/api/v1/isleruretİstek
curl -X POST https://krixy.ai/api/v1/isler \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"model":"minimax-speech-02-hd","arac":"ses/seslendirme","prompt":"Hoş geldiniz! Bugün size yeni koleksiyonumuzu tanıtacağız."}'Yanıt · 201
{
"id": "01JZ8Q4W6E5T3R2Y1U0I9O8P7A",
"durum": "sirada",
"ilerleme": null,
"asama": null,
"gorev": "tts",
"model": {
"id": "01M53CYS7346JVEJ04NXK50GZR",
"slug": "minimax-speech-02-hd",
"ad": "MiniMax Speech-02 HD"
},
"prompt": "Hoş geldiniz! Bugün size yeni koleksiyonumuzu tanıtacağız.",
"kredi": 5,
"olusturma": "2026-11-08T10:00:00.000Z",
"bitis": null,
"hata": null,
"ciktilar": []
}Düzenleme araçları
Büyütme, arka plan kaldırma, yüz değiştirme, video düzenleme gibi araçlar: arac + (gerekiyorsa) gorev + referanslar[]. Araç listesi ve her aracın modelleri GET /modeller yanıtındaki araclar[] alanında.
/api/v1/isleruretİstek
curl -X POST https://krixy.ai/api/v1/isler \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"model":"clarity-upscaler","arac":"gorsel/iyilestir","gorev":"upscale","referanslar":[{"dosya":"DOSYA_ID","rol":"kaynak"}]}'Yanıt · 201
{
"id": "01JZ8Q4W6E5T3R2Y1U0I9O8P7A",
"durum": "sirada",
"ilerleme": null,
"asama": null,
"gorev": "upscale",
"model": {
"id": "01M53CYS7FPFGXB3QCBMPQQ4PV",
"slug": "clarity-upscaler",
"ad": "Clarity Upscaler"
},
"prompt": "",
"kredi": 2,
"olusturma": "2026-11-08T10:00:00.000Z",
"bitis": null,
"hata": null,
"ciktilar": []
}İş durumu ve webhook
İşin durumu, ilerlemesi ve çıktıları. Çıktı adresleri 15 dakika geçerli imzalı bağlantılardır; süre dolunca işi yeniden sorgula.
/api/v1/isler/IS_IDokuİstek
curl "https://krixy.ai/api/v1/isler/$IS_ID" \
-H "Authorization: Bearer $KRIXY_API_KEY"Yanıt · 200
{
"id": "01JZ8Q4W6E5T3R2Y1U0I9O8P7A",
"durum": "tamamlandi",
"ilerleme": 100,
"asama": null,
"gorev": "t2i",
"model": {
"id": "01M53CYS5HDH5DV3ZT8Y1F4P9J",
"slug": "flux-schnell",
"ad": "FLUX.1 [schnell]"
},
"prompt": "A lighthouse on a cliff at sunset, cinematic",
"kredi": 1,
"olusturma": "2026-11-08T10:00:00.000Z",
"bitis": "2026-11-08T10:00:21.000Z",
"hata": null,
"ciktilar": [
{
"id": "01JZ8Q5B4N3M2L1K0J9H8G7F6D",
"tur": "image",
"mime": "image/png",
"genislik": 1344,
"yukseklik": 768,
"sure": null,
"url": "https://krixy.ai/api/v1/medya/01JZ8Q5B4N3M2L1K0J9H8G7F6D?v=…",
"onizleme_url": "https://krixy.ai/api/v1/medya/01JZ8Q5B4N3M2L1K0J9H8G7F6D?v=preview&…",
"kucuk_url": "https://krixy.ai/api/v1/medya/01JZ8Q5B4N3M2L1K0J9H8G7F6D?v=thumb&…",
"url_bitis": "2026-11-08T10:15:21.000Z"
}
]
}Webhook
İş isteğinde webhook_url (https) verirsen iş bitince adresine imzalı bir POST gönderilir. Gövde: { olay, teslim, zaman, is }. olay değerleri: is.tamamlandi, is.basarisiz, is.iptal.
Başlıklar
Webcolik-Imza: t=<unix saniye>,v1=<hex>. v1, "<t>.<ham gövde>" metninin anahtar sırrı (whsec_…) ile HMAC-SHA256 değeridir. Ham gövdeyi ayrıştırmadan önce doğrula; zaman damgası 5 dakikadan eskiyse reddet ve karşılaştırmayı sabit zamanlı yap.
Webcolik-Olay olay adını, Webcolik-Teslim teslim kimliğini taşır (aynı teslimi iki kez işleme).
2xx dışı yanıt ya da 10 saniyelik zaman aşımında yeniden denenir: 1 dk, 5 dk, 30 dk, 2 sa ve 6 sa sonra (toplam 6 deneme).
Doğrulama: JavaScript (Node)
import { createHmac, timingSafeEqual } from "node:crypto"
// Ham gövde: JSON.parse'tan önce
export function imzaDogru(sir, baslik, hamGovde) {
const m = /^t=(\d+),v1=([a-f0-9]{64})$/.exec(baslik ?? "")
if (!m) return false
if (Math.abs(Date.now() / 1000 - Number(m[1])) > 300) return false // 5 dakikadan eski istekleri reddet
const beklenen = createHmac("sha256", sir).update(`${m[1]}.${hamGovde}`).digest("hex")
const a = Buffer.from(beklenen)
const b = Buffer.from(m[2])
return a.length === b.length && timingSafeEqual(a, b) // Sabit zamanlı karşılaştırma
}Doğrulama: Python
import hashlib, hmac, re, time
# Ham gövde: JSON.parse'tan önce
def imza_dogru(sir: str, baslik: str, ham_govde: bytes) -> bool:
m = re.fullmatch(r"t=(\d+),v1=([a-f0-9]{64})", baslik or "")
if not m:
return False
if abs(time.time() - int(m.group(1))) > 300: # 5 dakikadan eski istekleri reddet
return False
beklenen = hmac.new(sir.encode(), m.group(1).encode() + b"." + ham_govde, hashlib.sha256).hexdigest()
return hmac.compare_digest(beklenen, m.group(2)) # Sabit zamanlı karşılaştırmaDosya yükleme
Referans dosyası: multipart/form-data (alan dosya, en çok 10 MB) ya da büyük dosyalar için JSON { url }. Dönen id iş gövdesinde referanslar[].dosya olur.
/api/v1/dosyalaruretİstek
curl -X POST https://krixy.ai/api/v1/dosyalar \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-F "dosya=@referans.png"Yanıt · 201
{
"id": "01JZ8Q3K2M1N0B9V8C7X6Z5L4K",
"tur": "image",
"mime": "image/png",
"boyut": 48213,
"genislik": 1024,
"yukseklik": 1024,
"sure": null
}/api/v1/dosyalaruretİstek
curl -X POST https://krixy.ai/api/v1/dosyalar \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/referans.jpg"}'Yanıt · 201
{
"id": "01JZ8Q3K2M1N0B9V8C7X6Z5L4K",
"tur": "image",
"mime": "image/jpeg",
"boyut": 182644,
"genislik": 1600,
"yukseklik": 1200,
"sure": null
}Kredi tahmini
İş açmadan kredi tahmini (iş gövdesiyle aynı alanlar) ve bakiye. Tahmin kredi düşmez.
/api/v1/tahminokuİstek
curl -X POST https://krixy.ai/api/v1/tahmin \
-H "Authorization: Bearer $KRIXY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"flux-schnell","prompt":"A lighthouse on a cliff at sunset, cinematic","ayarlar":{"oran":"1:1","adet":1}}'Yanıt · 200
{
"kredi": 1,
"kesinlesir": false,
"yaklasik": false,
"bakiye": 1200,
"uretilebilir": true,
"engel": null,
"karar": {
"gorev": "t2i",
"video_modu": null,
"model": {
"id": "01M53CYS5HDH5DV3ZT8Y1F4P9J",
"ad": "FLUX.1 [schnell]",
"otomatik": false
}
},
"uyarilar": []
}/api/v1/bakiyeokuİstek
curl https://krixy.ai/api/v1/bakiye \
-H "Authorization: Bearer $KRIXY_API_KEY"Yanıt · 200
{
"kredi": 1200,
"sinirsiz": false,
"gunluk": {
"harcanan": 0,
"sinir": null
},
"anahtar": null
}Hatalar
Hata gövdesi her zaman aynı biçimdedir: { hata: { kod, mesaj, mesaj_en, ayrinti? } }. Kod listesi değişmez, yalnız eklenir; mesaj metinlerine değil kod değerine göre dallan.
{
"hata": {
"kod": "idempotency_gerekli",
"mesaj": "Idempotency-Key başlığı zorunlu (8–128 karakter).",
"mesaj_en": "The Idempotency-Key header is required (8–128 characters)."
}
}| Kod | HTTP | Anlamı |
|---|---|---|
| kimlik_gerekli | 401 | Kimlik doğrulama gerekli: Authorization: Bearer <anahtar> başlığı gönder. |
| kimlik_gecersiz | 401 | Anahtar ya da erişim jetonu geçersiz, süresi dolmuş ya da iptal edilmiş. |
| kapsam_yetersiz | 403 | Bu işlem için anahtarın kapsamı yetmiyor (gerekli: uret). |
| api_kapali | 503 | API şu an kapalı. |
| hesap_kapali | 403 | Hesap aktif değil, onay bekliyor ya da e-posta doğrulanmadı. |
| hiz_siniri | 429 | Dakikalık istek sınırı aşıldı. Retry-After başlığındaki süre kadar bekle. |
| eszamanli_sinir | 429 | Bu anahtarla aynı anda süren iş sınırına ulaşıldı. Biri bitince tekrar dene. |
| aylik_sinir | 402 | Bu anahtarın aylık kredi sınırı doldu. |
| kredi_yetersiz | 402 | Kredi bakiyesi yetersiz. |
| gunluk_sinir | 402 | Günlük kredi sınırına ulaşıldı. |
| istek_gecersiz | 400 | İstek gövdesi geçersiz. |
| idempotency_gerekli | 400 | Idempotency-Key başlığı zorunlu (8–128 karakter). |
| idempotency_cakisma | 409 | Bu Idempotency-Key farklı bir istek gövdesiyle zaten kullanıldı. |
| model_yok | 404 | Model bulunamadı ya da hesabında kullanıma açık değil. |
| dosya_yok | 404 | Dosya bulunamadı. |
| is_yok | 404 | İş bulunamadı. |
| dosya_turu | 415 | Desteklenmeyen dosya türü ya da bozuk dosya (görsel, video ya da ses). |
| dosya_boyutu | 413 | Dosya boyut sınırını aşıyor. |
| url_gecersiz | 400 | Adres indirilemedi: herkese açık bir https adresi olmalı (iç ağ adresleri engelli). |
| baglanti_onay | 400 | Sosyal medya bağlantısı için hak_onayi: true gerekli ("Bu videoyu kullanma hakkım var."). |
| baglanti_erisim | 403 | Bağlantıdan video ekleme hesabında açık değil. |
| baglanti_limit | 429 | Bugünkü bağlantıdan ekleme hakkın doldu, yarın tekrar dene. |
| baglanti_hata | 422 | Video bağlantıdan eklenemedi. |
| baglanti_suruyor | 202 | Video hâlâ işleniyor; biraz sonra aynı bağlantıyla tekrar dene. |
| uyumsuz | 400 | Seçilen model bu istekle (görev, girdi ya da ayar) kullanılamıyor. |
| icerik_onayi_gerekli | 403 | Gerçek kişi içeren istek için İçerik Hakları Onayı gerekir: kişilerin iznini kullanıcıya doğrulat ve isteği gövdeye icerik_onayi: { onay: true, surum } ekleyerek tekrar gönder (hata.icerik_onayi). |
| fiyat_bilinmiyor | 402 | Bu isteğin fiyatı şu an hesaplanamıyor; başka bir model ya da ayar seç. |
| uretilemiyor | 422 | İş oluşturulamadı. |
| akis_yok | 404 | Akış bulunamadı. |
| dugum_yok | 404 | Düğüm bulunamadı. |
| baglanti_yok | 404 | Bağlantı bulunamadı. |
| baglanti_kurulamadi | 400 | Bağlantı kurulamadı. |
| etiket_yok | 400 | Prompttaki etiket kullanılamıyor. |
| akis_sorunu | 400 | Akışta düzeltilecek sorun var. |
| akis_calisiyor | 409 | Bu akış zaten çalışıyor. |
| akis_cakisma | 409 | Akış başka bir yerde değişti; yeniden dene. |
| sunucu_hatasi | 500 | Beklenmeyen bir hata oluştu. |
Başarısız işlerde hata.kod şunlardan biridir: icerik_reddi (içerik kuralları nedeniyle reddedildi), zaman_asimi (zaman aşımı), iptal (iptal edildi), uretim_basarisiz (üretim başarısız oldu)
Limitler
- Dakikalık istek sınırı: anahtar başına (varsayılan 60; yönetici değiştirebilir). Aşılırsa 429
hiz_siniriveRetry-Afterbaşlığı. - Eşzamanlı iş: anahtar başına (varsayılan 3). Aşılırsa 429
eszamanli_sinir; bir iş bitince tekrar dene. - Aylık kredi sınırı: anahtara isteğe bağlı konur. Dolunca 402
aylik_sinir. - Dosya yükleme: en çok 10 MB; daha büyük video / ses için JSON
{url}kullan. Dosya başına ayrıca dakikada 30 istek. - Bakiye ya da günlük sınır yetmezse 402
kredi_yetersiz/gunluk_sinir. Tahmin ucu önceden söyler.
MCP bağlantısı
Krixy, Model Context Protocol (MCP) sunucusu olarak da çalışır; Claude ve ChatGPT gibi asistanlar araçlarını doğrudan kullanır.
Sunucu adresi
https://krixy.ai/mcpStreamable HTTP; MCP spesifikasyonu 2026-07-28, 2025 sürümü istemcilerle geriye uyumlu.
Giriş: krixy.ai hesabınla OAuth 2.1. Geliştiriciler isterse aynı adrese API anahtarını Bearer olarak da verebilir.
Araçlar
modelleri_listele— Kullanabildiğin modelleri ve ayarlarını listeler.kredi_tahmini— Bir istek için kredi tahminini ve model kararını verir, iş oluşturmaz.gorsel_uret— Görsel üretir.video_uret— Video üretir.video_duzenle— Var olan bir videoyu düzenler.is_durumu— Bir işin durumunu ve çıktılarını döndürür.bakiye— Kredi bakiyeni ve sınırlarını gösterir.referans_ekle— Referans dosyası ekler: sohbet eki (ChatGPT), herkese açık adres ya da base64.yukleme_baglantisi— Telefondan yükleme için 15 dakika geçerli, tek kullanımlık bağlantı verir (dosya aktaramayan istemciler).yukleme_durumu— Yükleme bağlantısının durumunu ve yüklenen dosya kimliklerini döndürür.videodaki_kisiler— Videodaki kişileri numaralarıyla listeler.kisi_degistir— Videodaki kişileri fotoğraftaki kişiyle değiştirme isteği açar; örnek kareleri ve krediyi gösterir.kisi_degistir_onay— Kişi değiştirmenin sıradaki ücretli adımını onaylar (kare düzenleme, kare onayı, video).akis_listele— Kendi akışlarını listeler (Akışlar açık hesaplarda).akis_oku— Akışın düğümlerini döndürür: etiket, küçük resim, prompt, mod, model, ayarlar, bağlantılar, son çıktı.akis_olustur— Boş akış açar.dugum_ekle— Görsel, video, ses, metin ya da üretim düğümü ekler; yeri kendiliğinden seçilir.dugum_guncelle— Düğümün promptunu, modunu, modelini ve ayarlarını değiştirir.baglan— İki düğümü bağlar; giriş türe göre seçilir.baglanti_sil— Bağlantıyı kaldırır.dugum_sil— Düğümü ve bağlantılarını kaldırır.calistir— Düğümü ya da tüm akışı çalıştırır, kredi tahminini döndürür; kuru: true yalnız tahmin verir.akis_durumu— Çalışan düğümleri, çıktıları ve küçük resimleri döndürür.
Araçlara göre kurulum
Her aracın adımları, sunucu adresi ve kopyalanabilir parçaları; hesabına bağlı uygulamaları da gösteren sayfa: Entegrasyonlar sayfası
Claude
Bu bağlantı Claude'un bağlayıcı ekleme penceresini açar. Açılmazsa aşağıdaki adımları izle.
Elle ekleme
- 1Claude'da Customize → Connectors bölümünü aç, + Add → Add custom connector'a tıkla.
- 2Ad olarak Krixy yaz, MCP server URL alanına aşağıdaki adresi yapıştır ve Add'e tıkla.
- 3Bağlayıcının yanındaki Connect'e tıkla.
- 4Açılan Krixy sayfasında giriş yap ve İzin ver'e tıkla.
MCP sunucu adresi
https://krixy.ai/mcpClaude Code
- 1
Claude Code'a şunu yazın:
Krixy MCP sunucusunu ekle: https://krixy.ai/mcp - 2Sonra /mcp yazın, krixy'yi seçin, Authenticate deyin; açılan Krixy sayfasında giriş yapın.
Sorun giderme: “Server not found” görürseniz /mcp listesinde claude.ai altındaki eski Krixy bağlayıcısını kapatın ve yukarıdaki adımı uygulayın.
Terminalden eklemek isterseniz
- 1Terminalde aşağıdaki komutu çalıştır (--scope user tüm projelerinde kullanılabilir yapar).
- 2Claude Code'da /mcp yaz, krixy'yi seç ve Authenticate'e tıkla (ya da terminalde giriş komutunu çalıştır).
- 3Tarayıcıda açılan Krixy sayfasında giriş yap ve İzin ver'e tıkla.
Komut
claude mcp add --transport http --scope user krixy https://krixy.ai/mcpGiriş komutu
claude mcp login krixyAPI anahtarıyla bağlan (isteğe bağlı)
OAuth girişi yapamayan ortamlar (sunucu, CI) için. Yer tutucuyu kendi anahtarınla değiştir; anahtar bu sayfaya yazılmaz.
Komut
claude mcp add --transport http --scope user krixy https://krixy.ai/mcp --header "Authorization: Bearer <API_ANAHTARIN>"ChatGPT
Adımlar
- 1ChatGPT'de (web) Ayarlar → Apps / Connectors → Advanced bölümünden Developer mode'u aç.
- 2chatgpt.com/plugins sayfasını aç, + düğmesine ve Add custom MCP server'a tıkla.
- 3Ad olarak Krixy yaz; Connection altında Server URL alanına aşağıdaki adresi yapıştır.
- 4Kimlik doğrulamada OAuth'u seç, I understand and want to continue'yu onayla ve Create as a plugin'e tıkla.
- 5Eklentiyi kur; Krixy sayfasında giriş yap ve İzin ver'e tıkla.
MCP sunucu adresi
https://krixy.ai/mcpCursor
Elle ekleme
- 1Cursor'a ekle düğmesine tıkla; Cursor açılır ve kurulumu onaylamanı ister.
- 2Düğme çalışmazsa aşağıdaki parçayı ~/.cursor/mcp.json dosyasına (yalnız bu proje için .cursor/mcp.json) ekle.
- 3Cursor ayarlarındaki MCP listesinde krixy için giriş istenince bağlan; Krixy sayfasında giriş yap ve İzin ver'e tıkla.
MCP sunucu adresi
https://krixy.ai/mcpYapılandırma (~/.cursor/mcp.json)
{
"mcpServers": {
"krixy": {
"url": "https://krixy.ai/mcp"
}
}
}API anahtarıyla bağlan (isteğe bağlı)
OAuth girişi yapamayan ortamlar (sunucu, CI) için. Yer tutucuyu kendi anahtarınla değiştir; anahtar bu sayfaya yazılmaz. Anahtarı KRIXY_API_KEY ortam değişkenine koy.
Yapılandırma (~/.cursor/mcp.json)
{
"mcpServers": {
"krixy": {
"url": "https://krixy.ai/mcp",
"headers": {
"Authorization": "Bearer ${env:KRIXY_API_KEY}"
}
}
}
}VS Code
Elle ekleme
- 1VS Code'a ekle düğmesine tıkla; VS Code açılır, Install ile onayla.
- 2Ya da Command Palette'te (Ctrl+Shift+P) MCP: Add Server → HTTP'yi seç, aşağıdaki adresi yapıştır ve ad olarak krixy yaz.
- 3Sunucu ilk kez başladığında giriş isteğine izin ver; Krixy sayfasında giriş yap ve İzin ver'e tıkla.
MCP sunucu adresi
https://krixy.ai/mcpYapılandırma (.vscode/mcp.json)
{
"servers": {
"krixy": {
"type": "http",
"url": "https://krixy.ai/mcp"
}
}
}API anahtarıyla bağlan (isteğe bağlı)
OAuth girişi yapamayan ortamlar (sunucu, CI) için. Yer tutucuyu kendi anahtarınla değiştir; anahtar bu sayfaya yazılmaz.
Yapılandırma (.vscode/mcp.json)
{
"inputs": [
{
"type": "promptString",
"id": "krixy-key",
"description": "Krixy API key",
"password": true
}
],
"servers": {
"krixy": {
"type": "http",
"url": "https://krixy.ai/mcp",
"headers": {
"Authorization": "Bearer ${input:krixy-key}"
}
}
}
}Codex
Adımlar
- 1Terminalde ekleme komutunu çalıştır (ya da parçayı ~/.codex/config.toml dosyasına ekle).
- 2Giriş komutunu çalıştır; tarayıcıda açılan Krixy sayfasında giriş yap ve İzin ver'e tıkla.
- 3codex mcp list ile krixy'nin listede olduğunu doğrula.
MCP sunucu adresi
https://krixy.ai/mcpKomut
codex mcp add krixy --url https://krixy.ai/mcpGiriş komutu
codex mcp login krixyYapılandırma (~/.codex/config.toml)
[mcp_servers.krixy]
url = "https://krixy.ai/mcp"API anahtarıyla bağlan (isteğe bağlı)
OAuth girişi yapamayan ortamlar (sunucu, CI) için. Yer tutucuyu kendi anahtarınla değiştir; anahtar bu sayfaya yazılmaz. Anahtarı KRIXY_API_KEY ortam değişkenine koy.
Yapılandırma (~/.codex/config.toml)
[mcp_servers.krixy]
url = "https://krixy.ai/mcp"
bearer_token_env_var = "KRIXY_API_KEY"Gemini CLI
Adımlar
- 1Terminalde ekleme komutunu çalıştır (ya da parçayı ~/.gemini/settings.json dosyasına ekle).
- 2Gemini CLI'yi aç ve giriş komutunu yaz.
- 3Tarayıcıda açılan Krixy sayfasında giriş yap ve İzin ver'e tıkla.
MCP sunucu adresi
https://krixy.ai/mcpKomut
gemini mcp add --transport http --scope user krixy https://krixy.ai/mcpGiriş komutu
/mcp auth krixyYapılandırma (~/.gemini/settings.json)
{
"mcpServers": {
"krixy": {
"httpUrl": "https://krixy.ai/mcp"
}
}
}API anahtarıyla bağlan (isteğe bağlı)
OAuth girişi yapamayan ortamlar (sunucu, CI) için. Yer tutucuyu kendi anahtarınla değiştir; anahtar bu sayfaya yazılmaz.
Komut
gemini mcp add --transport http --scope user --header "Authorization: Bearer <API_ANAHTARIN>" krixy https://krixy.ai/mcpSürüm notları
- 2026-11-08Belge yenilendi: uç başına istek / yanıt örnekleri, katalogdan otomatik model ayar tabloları.
- 2026-11-05MCP: akis_yeniden_adlandir, akis_durdur, akis_sil ve akis_geri_al araçları.
- 2026-11-02MCP: Akışlar araçları (akis_olustur, dugum_ekle, baglan, calistir, akis_durumu …).
- 2026-10-31MCP: sohbetten dosya (yukleme_baglantisi, yukleme_durumu, referans_ekle veri alanı).
- 2026-10-29İçerik Hakları Onayı: icerik_onayi alanı (POST /isler, /tahmin, /kisi-degistir).
- 2026-10-28Kişi değiştir uçları: GET /kisiler, POST /kisi-degistir, POST /kisi-degistir/{id}/onay.
- 2026-10-27POST /dosyalar: sosyal medya bağlantısından video (hak_onayi, baslangic_sn).
- 2026-10-26API v1 ve MCP sunucusu: modeller, tahmin, işler, dosyalar, bakiye, webhook, imzalı medya; OAuth 2.1.