Aufgabenübermittlung und Polling
Die Übermittlungs-Endpunkte sind allesamt asynchrone Aufgaben: Nach dem Absenden wird einetask_id zurückgegeben; danach wird über GET /v1/midjourney/{task_id} periodisch der Status abgefragt, bis SUCCESS / FAILURE erreicht ist.
- Polling-Takt: Empfohlen alle 3–5 s; höhere Frequenz ist sinnlos und verschwendet Kontingent.
- Nicht synchron im Web-Request blockieren, bis die Aufgabe fertig ist – nach dem Absenden sofort die
task_idzurückgeben und das Frontend asynchron pollen lassen.
Prompt-Design
Guter Prompt:- Motiv zuerst: erst das Motiv, dann die Szene beschreiben, zuletzt die Modifikatoren.
- Strukturierte Parameter explizit angeben:
--ar/--v/--s(oder die entsprechenden Body-Felder) zu verwenden ist kontrollierbarer als auf Standardwerte zu vertrauen. - Mehrdeutige Wörter vermeiden:
photorealisticist eindeutiger alsrealistic.
niji: true + version: "7" übergeben; die Plattform normalisiert dies zu --niji 7, die Abrechnung läuft über midjourney@imagine-niji7.
Best Practices für bildgesteuerte Generierung
- Auf < 5 MiB komprimieren: Das Plattform-Limit liegt bei 12 MiB, aber kleinere Bilder werden schneller übertragen und verarbeitet.
- Die Formate PNG / JPG / WebP sind alle möglich, empfohlen wird hochwertiges JPG.
- Eine Auflösung von 1024–2048 px reicht aus; höher ist Verschwendung.
- Bildgewicht
iw(0–3, Standard 1): >1 näher am Original, <1 freier.
Fehlerbehandlung und Retry-Strategie
Ablauf von Folgeoperationen
⚠️ Nachdem inpaint in MODAL übergegangen ist, muss /modal innerhalb von 30 Minuten aufgerufen werden, sonst wird im Hintergrund automatisch CANCEL + Erstattung ausgelöst.
Abrechnungssteuerung bei video
- Einzelclip:
batch_size: 1→ Abzug 1 ×midjourney@video - Stapel von 4 Clips:
batch_size: 4→ Abzug 4 ×midjourney@video - HD-Einzelclip:
video_type: "vid_1.1_i2v_720"+batch_size: 1→ Abzug 1 ×midjourney@video-720p
batch_size=1 verwenden; 4 nur für Stapel-Entwürfe nutzen und nicht standardmäßig auf 4 stellen (vervielfacht die Kosten um das N-fache).
Nebenläufigkeit und Durchsatz
- Die Plattform hat eine Obergrenze für die Anzahl der Übermittlungen pro Minute; bei Überschreitung wird
429zurückgegeben und ein Retry mit Backoff ist nötig. - Die tatsächliche Generierungs-Nebenläufigkeit wird durch die Systemkapazität bestimmt; bei Überschreitung wird die Aufgabe in eine Warteschlange gestellt; bleibt eine Aufgabe lange bei
SUBMITTED, liegt das meist an der Warteschlange. - Beim Polling unbedingt
sleepeinbauen; keine Endlosschleife ohne sleep.