🎯 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
| API | Amaç | Ne Zaman Kullanılır |
|---|---|---|
POST /mj/submit/imagine | Metinden görsel oluşturma | Tüm iş akışları için başlangıç noktası |
GET /mj/task/\{id\}/fetch | Görev durumunu sorgulama ve düğmeleri alma | Her submit işleminden sonra (tamamlanana kadar sorgulayın) |
POST /mj/submit/action | Bir düğmeye tıklama (upscale, vary, zoom vb.) | Bir görsel üzerinde işlem yapmak istediğinizde |
POST /mj/submit/modal | Ek girdi gönderme | Yalnızca durum MODAL olduğunda |
📊 Tam İş Akışı Diyagramı
🔑 Temel Kavram: Düğmeler ve customId
Başarılı olan her görev birbuttons 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 yanıt örneği:
customId sabit bir değer DEĞİLDİR. Her görev için değişir. Onu her zaman buttons dizisinden alın.
📋 Aşamaya Göre Button Referansı
IMAGINE sonrası (4’lü görsel ızgarası)
İlk görsel oluşturma işleminiz tamamlandığında şu button’lar döner:| Button | customId Pattern | Action | Result |
|---|---|---|---|
| U1-U4 | MJ::JOB::upsample::1::xxx | Tek bir görseli upscale et | Yüksek çözünürlüklü tek görsel |
| V1-V4 | MJ::JOB::variation::1::xxx | Varyasyonlar oluştur | Yeni 4’lü ızgara |
| 🔄 | MJ::JOB::reroll::0::xxx::SOLO | Tümünü yeniden oluştur | Yeni 4’lü ızgara |
UPSCALE sonrası (tek görsel)
Upscale işleminden sonra düzenleme araçlarına erişebilirsiniz:| Label | Needs 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: Button etiketleri ve⚠️ Inpaint (Vary Region) button’ı yalnızca Upscale işleminden sonra görünür!customIdformatları, prompt içinde belirtilen MJ sürümüne göre değişebilir (ör.--v 6.1ve--v 5.2). Button’ları her zaman API yanıtından okuyun.
⚡ Tam Örnek: Oluşturma ve Upscale
Adım 1: Imagine İsteğini Gönderin
Adım 2: Görev Durumunu Sorgulayın
Adım 3: Upscale için U1’e Tıklayın
Adım 4: Yeni Görevi Sorgulayın ve Sonucu Alın
⚠️ Modal Ne Zaman Gereklidir?
/mj/submit/action çağrısını yaptığınızda görev durumu SUCCESS yerine MODAL olursa, ek girdi sağlamak için /mj/submit/modal çağrısını yapmalısınız.
Doğrulanmış Modal İşlemleri
| Operation | Button | What to Submit |
|---|---|---|
| Inpaint | Vary (Region) | maskBase64 (PNG mask) + prompt |
| Custom Zoom | 🔍 Custom Zoom | prompt (örn. “your prompt —zoom 2”) |
🚀 Hız Modu Seçimi
Yola hız öneki ekleyin:| Mod | Yol Ö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ı takip etmeyen bağımsız giriş noktalarıdır:| API | Amaç |
|---|---|
POST /mj/submit/blend | 2-5 görseli tek bir görselde birleştirir |
POST /mj/submit/describe | Görselden prompt oluşturur |
POST /mj/submit/video | Görseli videoya dönüştürür |
POST /mj/submit/edits | Görseli maskeyle düzenler |
❓ Sorun Giderme İpuçları
API tasarımına ve iş akışına göre, karşılaşabileceğiniz yaygın sorunlar şunlardır:| Sorun | Olası Neden | Çözüm |
|---|---|---|
| Vary (Region) düğmesi bulunamıyor | 4’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 gerektiriyor | Gerekli verilerle /mj/submit/modal çağrısını yapın |
customId çalışmıyor | Eski veya sabit kodlanmış bir değer kullanılıyor | Her zaman /mj/task/\{id\}/fetch yanıtından güncel customId alın |
buttons dizisi boş | Görev hâlâ işleniyor | Düğmelere erişmeden önce status: "SUCCESS" olmasını bekleyin |