Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Temel kavramı anlayın

MidJourney API, Discord düğme etkileşimlerini simüle eder. Tipik REST API’lerinden farklı olarak, her işlemin bir sonraki adım için yeni düğmeler döndürdüğü bir durum makinesi gibi çalışır.

4 temel API

APIAmaçNe zaman kullanılır
POST /mj/submit/imagineMetinden görsel üretimiTüm iş akışları için başlangıç noktası
GET /mj/task/\{id\}/fetchGörev durumunu sorgula ve düğmeleri alHer submit işleminden sonra (tamamlanana kadar sorgula)
POST /mj/submit/actionBir düğmeye tıkla (upscale, vary, zoom vb.)Bir görsel üzerinde işlem yapmak istediğinizde
POST /mj/submit/modalEk giriş gönderYalnızca durum MODAL olduğunda

Tam iş akışı diyagramı

┌─────────────────────────────────────────────────────────────────────────────┐
│                         MIDJOURNEY API WORKFLOW                             │
└─────────────────────────────────────────────────────────────────────────────┘

  ┌──────────────────┐
  │  POST /submit/   │  ← Step 1: Submit prompt, get task_id
  │     imagine      │
  └────────┬─────────┘
           │ Returns: { "result": "task_id_1" }

  ┌──────────────────┐
  │ GET /task/{id}/  │  ← Step 2: Poll until status = "SUCCESS"
  │      fetch       │
  └────────┬─────────┘
           │ Returns: imageUrl + buttons[] (U1,U2,U3,U4,V1,V2,V3,V4,🔄)

  ┌──────────────────┐
  │  POST /submit/   │  ← Step 3: Click a button using customId
  │     action       │
  └────────┬─────────┘
           │ Returns: { "result": "task_id_2" }

  ┌──────────────────┐
  │ GET /task/{id}/  │  ← Step 4: Poll the new task
  │      fetch       │
  └────────┬─────────┘

           ├─── status = "SUCCESS" → Done! Get imageUrl

           └─── status = "MODAL" → Need additional input (see Step 5)


           ┌──────────────────┐
           │  POST /submit/   │  ← Step 5: Submit mask/prompt for special operations
           │      modal       │
           └────────┬─────────┘
                    │ Returns: { "result": "task_id_3" }

           ┌──────────────────┐
           │ GET /task/{id}/  │  ← Step 6: Poll until SUCCESS
           │      fetch       │
           └──────────────────┘

Temel kavram: Düğmeler ve customId

Başarılı her görev bir buttons dizisi döndürür. Her düğmenin, bir sonraki işlemi tetiklemek için kullandığınız bir customId değeri vardır. /mj/task/\{id\}/fetch için örnek yanıt:
{
  "status": "SUCCESS",
  "imageUrl": "https://api.cometapi.com/mj/image/xxx",
  "buttons": [
    { "customId": "MJ::JOB::upsample::1::abc123", "label": "U1" },
    { "customId": "MJ::JOB::upsample::2::abc123", "label": "U2" },
    { "customId": "MJ::JOB::variation::1::abc123", "label": "V1" },
    { "customId": "MJ::JOB::reroll::0::abc123", "emoji": "🔄" }
  ]
}
customId sabit bir değer değildir. Her görev için değişir. Onu her zaman buttons dizisinden alın.

Aşamaya göre düğme referansı

IMAGINE sonrasında (4’lü görsel ızgarası)

İlk görsel oluşturma işleminiz tamamlandığında şu düğmeler döner:
ButtoncustomId PatternActionResult
U1-U4MJ::JOB::upsample::1::xxxTek görseli upscale etYüksek çözünürlüklü tek görsel
V1-V4MJ::JOB::variation::1::xxxVaryasyonlar oluşturYeni 4’lü ızgara
🔄MJ::JOB::reroll::0::xxx::SOLOTümünü yeniden oluşturYeni 4’lü ızgara

UPSCALE sonrasında (tek görsel)

Upscale işleminden sonra düzenleme araçlarına erişirsiniz:
LabelNeeds Modal?
Upscale (Subtle) / Upscale (2x)❌ Hayır
Upscale (Creative) / Upscale (4x)❌ Hayır
Vary (Subtle) 🪄❌ Hayır
Vary (Strong) 🪄❌ Hayır
Vary (Region) 🖌️✅ Evet (mask)
Zoom Out 2x / 1.5x 🔍❌ Hayır
Custom Zoom 🔍✅ Evet (prompt)
⬅️➡️⬆️⬇️ Pan❌ Hayır
Animate 🎞️❌ Hayır
🔄 Reroll❌ Hayır
Not: Düğme etiketleri ve customId biçimleri, Prompt içinde belirtilen MJ sürümüne göre değişebilir (ör. --v 6.1 ile --v 5.2). Düğmeleri her zaman API yanıtından okuyun.
Inpaint (Vary Region) düğmesi yalnızca Upscale sonrasında görünür.

Tam örnek: Oluşturma ve upscale

Adım 1: Imagine isteğini gönderin

curl -X POST 'https://api.cometapi.com/mj/submit/imagine' \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "botType": "MID_JOURNEY",
    "prompt": "a cute cat --v 6.1",
    "accountFilter": { "modes": ["FAST"] }
  }'
Yanıt:
{ "code": 1, "result": "1768464763141701" }

Adım 2: Görev durumunu sorgulayın

curl -X GET 'https://api.cometapi.com/mj/task/1768464763141701/fetch' \
  -H "Authorization: Bearer $COMETAPI_KEY"
Yanıt (tamamlandığında):
{
  "status": "SUCCESS",
  "imageUrl": "https://api.cometapi.com/mj/image/1768464763141701",
  "buttons": [
    { "customId": "MJ::JOB::upsample::1::5f20922e-xxx", "label": "U1" },
    { "customId": "MJ::JOB::upsample::2::5f20922e-xxx", "label": "U2" },
    ...
  ]
}

Adım 3: Upscale için U1’e tıklayın

curl -X POST 'https://api.cometapi.com/mj/submit/action' \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "taskId": "1768464763141701",
    "customId": "MJ::JOB::upsample::1::5f20922e-xxx"
  }'
Yanıt:
{ "code": 1, "result": "1768464800000000" }

Adım 4: Yeni görevi sorgulayın ve sonucu alın

curl -X GET 'https://api.cometapi.com/mj/task/1768464800000000/fetch' \
  -H "Authorization: Bearer $COMETAPI_KEY"

/mj/submit/action çağrısı yaptığınızda görev durumu SUCCESS yerine MODAL olursa, ek girdi sağlamak için /mj/submit/modal çağrısı yapmanız gerekir.

Onaylanmış Modal işlemleri

OperationButtonWhat to Submit
InpaintVary (Region)maskBase64 (PNG mask) + prompt
Custom Zoom🔍 Custom Zoomprompt (ör. “your prompt —zoom 2”)
Örnek: Inpaint akışı
# 1. Click Vary (Region) button via Action API
curl -X POST 'https://api.cometapi.com/mj/submit/action' \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"taskId": "xxx", "customId": "MJ::Inpaint::xxx", "enableRemix": true}'

# 2. Poll and see status = "MODAL"
curl -X GET 'https://api.cometapi.com/mj/task/new_task_id/fetch'
# Response: { "status": "MODAL" }

# 3. Submit mask and prompt via Modal API
curl -X POST 'https://api.cometapi.com/mj/submit/modal' \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "taskId": "new_task_id",
    "prompt": "replace with golden crown",
    "maskBase64": "data:image/png;base64,..."
  }'

Hız modu seçimi

Yola hız öneki ekleyin:
ModYol önekiÖrnek
Fast/mj-fast/mj-fast/mj/submit/imagine
Turbo/mj-turbo/mj-turbo/mj/submit/imagine
Relax(varsayılan)/mj/submit/imagine

Diğer giriş noktaları

Bu API’ler, imagine → action akışını izlemeyen bağımsız giriş noktalarıdır:
APIAmaç
POST /mj/submit/blend2-5 görseli tek bir görselde birleştirin
POST /mj/submit/describeGörselden Prompt oluşturun
POST /mj/submit/videoGörseli videoya dönüştürün
POST /mj/submit/editsMaskeyle görsel düzenleyin

Sorun giderme ipuçları

API tasarımına ve iş akışına göre, karşılaşabileceğiniz yaygın sorunlar şunlardır:
SorunOlası nedenÇözüm
Vary (Region) düğmesi bulunamıyor4’lü grid görsele bakılıyorÖnce Upscale yapın (U1-U4’e tıklayın), ardından düğmeleri kontrol edin
Görev durumu MODAL durumunda takılı kalıyorİşlem ek girdi gerektiriyorGerekli verilerle /mj/submit/modal çağrısını yapın
customId çalışmıyorEski veya sabit kodlanmış değer kullanılıyorHer zaman /mj/task/\{id\}/fetch yanıtından yeni customId alın
buttons dizisi boşGörev hâlâ işleniyorDüğmelere erişmeden önce status: "SUCCESS" olmasını bekleyin