CLI-Form
Standard-Tarif:
node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..." [--aspect-ratio 16:9] [--image-size 2K] [--label "..."] [--subtype <character|location|edit|reference|split|storyboard>] [--name "..."] [--role "..."] [--description "..."] [--source-node-id <id>] [--ref-source-id <id> ...]
Pro-Tarif für Storyboard-Mosaike und video-gebundene Charakterblätter:
node "$PAI_REPO_ROOT/server/cli/generate_image_pro.js" --prompt "..." --size 2560x1440 [--label "..."] [--subtype <character|location|edit|reference|split|storyboard>] [--name "..."] [--role "..."] [--description "..."] [--source-node-id <id>] [--ref-source-id <id> ...]
Pro akzeptiert nur --size; kein --aspect-ratio / --image-size. Übliche Größen: 1024x1024, 1280x720, 720x1280, 1920x1920, 2560x1440, 1440x2560, 3840x2160, 2160x3840.
--label standardmäßig auf den gekürzten Prompt (≤30 Zeichen) wenn ausgelassen; geben Sie einen expliziten Wert an, wenn Sie eine bessere Bildunterschrift haben.
Verwenden Sie @Image1, @Image2, … in der --ref-source-id-Reihenfolge. Die CLI erzeugt eine derived-Kante pro Referenz.
Spiegeln Sie externe URLs zuerst mit mirror_url.js --url <URL>, dann übergeben Sie die zurückgegebene node_id über --ref-source-id.
Wenn eine Notiz das Bild erstellt hat, übergeben Sie --source-node-id <note_id>.
Versuchen Sie nicht, Bilder durch ASCII-Kunst oder Markdown-Einbettung zu erfinden – rufen Sie die CLI auf.
Erstnutzungs-Bildmodus
Für den Einmal-Abfrage-Fluss und die Preise pro Modus siehe die Projektdatei PROJECT_AGENT.md § „Erstnutzungs-Generierungsoptionen“.
Moduszuordnung: Standard 2K -> generate_image.js --image-size 2K; Pro 2K -> Pro exakt 2K; Maximale Qualität -> Pro exakt 4K.
Muster
Wählen Sie das passende. Für die Quellsuche folgen Sie der Projektdatei PROJECT_AGENT.md § „Kontextwahl“; dieses Skill besitzt nur den bildspezifischen Prompt und die CLI-Form.
Charakter-Vorabprüfung. Fragen Sie zuerst: Wird dieser Charakter in nachgelagerten Videos erscheinen (Video, Clip, Promo, 宣传片, 短片, 连续剧, Film, Szene, 拍片, Shot, Kurzfilm)?
- Lesen Sie
workflow.jsonnach hochgeladenen Referenzen (subtype:"reference",metadata.source:"user_upload", nicht archiviert). - Video-gebunden -> Muster 7, nicht Muster 1. Verwenden Sie ≥3 Schauspieler-Referenzen falls verfügbar; bei 0-2 Referenzen generieren Sie ein reines Text-4-Panel-Blatt.
- Geben Sie vor dem Auslösen eine Zeile zur Bestätigung aus; erlauben Sie Umleitung zu Muster 1.
- Einmalige statische Kunst/Poster/Porträt -> Muster 1.
Diese Vorabprüfung ist nicht verhandelbar. Das einzelne Frontporträt von Muster 1 gibt dem Videomodell einen zu engen Anker; die Identität driftet von Einstellung zu Einstellung. Direkt zu Muster 1 für Videearbeiten zu springen, ist der mit Abstand häufigste Fehler.
Standardwerte für Geschichts-/Skriptanker. Wenn script-compose oder story-to-video-workflow eine Aufschlüsselung hierher leitet:
- Ein Basis-4-Panel-Blatt pro materialem Charakter.
- Zusätzliche Blätter für materiale Charaktervarianten: Alter, Garderobe/Uniform/Verkleidung, Verletzung/schmutzig/nass/blutiger Zustand, Verwandlung oder kontinuitätsrelevante Looks.
- Detaillierte Ortsanker für Schauplätze, die Einstellungen beeinflussen.
- Gleicher-Ort-Varianten für Änderungen in Bildausschnitt/Skala/Zeit/Wetter/Licht/Dekoration/Geschichtszustand/Nahdetail-Abdeckung.
- Bevorzugen Sie Referenz-zu-Clip nach Ankern. Storyboard nur auf Anfrage, wenn schwer kontrollierbar oder zur Diagnose benötigt.
- Lassen Sie keine materialen Varianten aus Budget-/Geschwindigkeitsgründen fallen; der Aufrufer sollte zuerst Videoauflösung/Laufzeit anpassen.
1. Charakterporträt (nur einmalige statische Standbilder)
Auslöser: Charakterporträt/Kopfschuss/Protagonist/Schurke/Hauptfigur nur für einmalige statische Standbilder. Video-gebunden -> Muster 7.
node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..." --aspect-ratio 9:16 --image-size 2K --subtype character --name "Detective Morris" --role "..." --description "..."— keine Referenzen. Ein Charakter ist ein Identitätsanker, keine Ableitung.- Prompt-Vorlage:
[Stil] Charakterporträt von [NAME], [Rolle]. [Alter, Statur, Garderobe, Unterscheidungsmerkmale]. Frontale mittlere Nahaufnahme, Augenhöhe, direkt in die Kamera blickend, neutraler Gesichtsausdruck. Schlichter neutraler Hintergrund, weiche gleichmäßige Beleuchtung. Keine dramatischen Schatten, keine stilisierte Beleuchtung, kein Seitenprofil, keine Mehrfachansichten. - Projektstil übernehmen oder standardmäßig realistisch. Unbenannte Charaktere benennen.
- Keine Kanten — Charaktere sind Wurzeln, also kein
--ref-source-id.
2. Orts-Etablierungs-Standbild
Auslöser: Ort etablieren/entwerfen/visualisieren oder Genehmigung eines script-compose-Ortsvorschlags.
node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..." --aspect-ratio 16:9 --image-size 2K --subtype location --name "Damm" --description "..." [--source-node-id <script_or_shot_note_id>]— keine Referenzen. Ein Ort ist ein Schauplatzanker, keine Ableitung.- Prompt-Vorlage:
[Stil] Etablierungs-Standbild von [ORTSNAME]. [Visuelle Kurzbeschreibung — Architektur, Beleuchtung, Atmosphäre]. Weite Einstellung, Augenhöhe, keine Charaktere anwesend. - Rahmen frei von Charakteren halten. Architektur/Layout, Oberflächen, Dekoration, Epoche, Wetter, Tageszeit, Licht und Geschichtszustand einbeziehen, wenn relevant.
- Gleicher-Ort-Varianten bewahren die Ortsidentität, während sie Weit/Nah-Skala, Tag/Nacht, Wetter, Dekoration, Beschädigung oder Detailabdeckung ändern.
- Standardmäßig keine Referenzkanten. Wenn der Ort von einer Skript- oder Shot-Notiz abgeleitet wurde,
--source-node-idverwenden, damit die Autorenkante landet. - Nachfolgend: Nach dem letzten skriptierten Ort die nächste Referenz-zu-Clip-Wiedergabe empfehlen. Storyboard nur erwähnen, wenn angefragt/benötigt.
3. Bearbeitung / Variation / Umsetzung eines bestehenden Bildes
Auslöser: Ändern/bearbeiten/ersetzen/hinzufügen/entfernen/anpassen/was-wäre-wenn/Variation eines bestehenden Bildes.
-
Quellknoten identifizieren (normalerweise das aktuellste
image_resultoder eines, das der Benutzer genannt hat).source.idundsource.metadata.aspect_ratioabrufen. -
node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..." --aspect-ratio <Quellenverhältnis> --image-size <Quellgröße oder 2K> --subtype edit --source-node-id <source.id> --ref-source-id <source.id>. -
Prompt als Transformation, nicht als vollständige Neubeschreibung:
<konkrete Änderung>. Alles andere beibehalten.✅ „Ändere den Regen zu fallendem Schnee. Behalte den Detektiv, die Garderobe und den Kamerarahmen unverändert.“ ✅ „Rendere als vollständiges 3D-Umsetzungsblatt desselben Charakters. Behalte Gesicht, Garderobe und Proportionen bei.“ ❌ „Ein Detektiv in einer verschneiten Gasse bei Nacht, der einen Trenchcoat trägt…“ — überspezifiziert, Identität driftet.
-
Die CLI erzeugt die abgeleitete Kante von
<source.id>basierend auf--ref-source-id. -
Mehrstufige Ketten verwenden eine Kante/einen Aufruf pro Schritt; nicht A -> C abflachen.
4. Szene mit bestehenden Charakteren
Auslöser: Charakter in Umgebung setzen / Einstellung von X und Y / Charakteraktion am Ort.
- Jeden beteiligten Charakter identifizieren – jedes
image_resultdieser Person (bis zu 16). Dieidjedes einzelnen sammeln. node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..." --aspect-ratio <zur Einstellung passend> --image-size 2K --ref-source-id <char1.id> --ref-source-id <char2.id> ....- Prompt: die vollständige Szenenbeschreibung. Benennen Sie jeden Charakter mit seiner Rolle, damit der Generator Identität an Rolle bindet. Beziehen Sie sich im Prompt auf sie als
@Image1,@Image2, … in der--ref-source-id-Reihenfolge. - Kein
--subtype– eine Szene ist weder ein Charakter noch eine Bearbeitung. Die CLI erzeugt eine abgeleitete Kante pro--ref-source-id.
5. Eigenständiges Standbild
Auslöser: Ein frisches Bild ohne Bezug zu vorhandenem Leinwandinhalt („generiere einen Berg in der Dämmerung“, „eine Noir-Gasse – nur die Umgebung“).
- Einfach
node "$PAI_REPO_ROOT/server/cli/generate_image.js" --prompt "..."mit sinnvollen Standardwerten (16:9, 2K, sofern der Benutzer nichts anderes wünscht). Kein Subtyp, keine Referenzen.
6. Storyboard-Mosaik – ein Composite pro Clip / Shot-Notiz
Auslöser: Storyboard, Mosaik, Raster, Shotliste, Abdeckung, Keyframe-Blatt, Shotplanung, Bildvorvisualisierung. Ausgabe ist EIN Composite pro Clip/≤15s Shot-Notiz, nicht ein Bild pro Panel.
- Werkzeug/Aufruf: ein
generate_image_pro.js --size 2560x1440 --subtype storyboard --label "Storyboard — Shot <N>" --source-node-id <shot_note_id>pro Mosaik. - Größe: Standard
2560x1440; Rasterform ist Zellenlayout, nicht Leinwandform. Überschreiben nur bei explizitem Porträt/Quadrat/Hochformat/Verhältnis:- „2x2 Storyboard“ →
2560x1440(Standard) - „2x2 quadratisches Storyboard“ →
1920x1920 - „2x2 Porträt-Storyboard“ →
1440x2560 - „vertikales 2x4 Mosaik“ →
1440x2560
- „2x2 Storyboard“ →
- Raster/Referenzen: Standard 2×2. Relevante Charakter-/Ortsreferenzen übergeben (≤32). Vor 3×3+ warnen; kleinere Blätter empfehlen.
Für die Leinwand-Vorabprüfung, die Iterationslogik pro Shot-Notiz, den Hinweis auf fehlende Anker, die wörtliche Prompt-Vorlage und die Standard-Panel-Abdeckung, wenn kein Skript-Abschnitt existiert: siehe references/storyboard-mosaic.md.
Von der CLI gesetzte Knotenfelder
- EIN
image_result-Knoten PRO Mosaik. - Setzen Sie
data.subtype = "storyboard"durch Übergabe von--subtype storyboard.
7. Charakterreferenzblatt (Standard für JEGLICHE video-gebundene Charakterarbeit – mit oder ohne Schauspieler-Referenzen)
Proaktiv für jeden Charakter verwenden, der in nachgelagerten Videos erscheint, unabhängig von Schauspieler-Referenzen.
Modus A – ≥3 hochgeladene Schauspieler-Referenzen. Fotos als --ref-source-id übergeben; --source-node-id <note_id> hinzufügen, wenn ein Skript/Shot das Design erstellt hat.
Modus B – 0-2 Referenzen / von Grund auf. Schauspieler-Referenzen weglassen; Alter/Statur/Garderobe/Unterscheidungsmerkmale explizit beschreiben. --source-node-id <note_id> hinzufügen, wenn von einer Notiz erstellt.
Wird auch bei expliziten Anfragen ausgelöst: „Entwerfe ein Charakterblatt / eine Umsetzung / ein Referenzblatt / ein Charakterdesign für [Charakter]“, „Erstelle ein 4-Panel-Charakterdesign“, „Generiere ein Produktionsreferenzblatt für nachgelagerte Videearbeit“.
Ausgabe: Ein Front-ganz / Profil-ganz / Rücken-ganz / Nah-Brust-Blatt, das direkt als --ref-source-id an das Video übergeben wird.
- Vorabprüfung: Hochgeladene Referenzknoten identifizieren (
subtype:"reference", idealerweise ≥3 Fotos). Referenzanzahl in einer Zeile bestätigen. node "$PAI_REPO_ROOT/server/cli/generate_image_pro.js" --prompt "..." --size 2560x1440 --subtype character --name "<character_name>" --role "..." --ref-source-id <ref1> --ref-source-id <ref2> --ref-source-id <ref3> [--source-node-id <script_or_shot_note_id>]— Pro-Tarif ist der Standard für Charakterblätter, da Panel-Layout, Textunterdrückung und Identitätskonsistenz tragend sind. Übergeben Sie weder--aspect-rationoch--image-size. Lösen Sie Modus A niemals mit weniger als 3 Referenzen aus (das Modell passt sich zu sehr an den einen Winkel an, den es hat).- Mit 0-2 Schauspieler-Referenzen den textbasierten Befehl aus Modus B aus
references/character-sheet.mdverwenden: derselbe Pro-Befehl, aber jede Schauspieler-Foto---ref-source-idweglassen;--source-node-idnur einfügen, wenn ein Skript oder eine Shot-Notiz das Design erstellt hat. - Ein Aufruf/Blatt pro Basischarakter oder materialer Variante. Basis vor Varianten generieren. Für identitätsbewahrende Varianten das Basisblatt als Referenz übergeben und nur dauerhafte Garderoben-/Zustandsänderung beschreiben.
- Das Blatt als
--ref-source-id <sheet_id>für nachgelagerte Einstellungen verwenden; kein normales Zuschneiden erforderlich.
Für die wörtliche 4-Panel-Prompt-Vorlage, optionale winkelspezifische Ausschnitte und Fallstricke (Kein-Text-Regel, Foto-Priorität, exakte Panel-Anzahl): siehe references/character-sheet.md.
Von der CLI gesetzte Knotenfelder
- EIN
image_result-Knoten mitdata.subtype = "character". data.name,data.role,data.descriptionaus den CLI-Flags.- Eine
derived-Kante pro--ref-source-id(damit das Blatt herkunftsverknüpft mit jedem Schauspielerfoto ist, von dem es trianguliert wurde).
Nach Rückkehr der CLI
Für Entwurfsstadium-JSON einen Satz mit Preis/Status – siehe die Projektdatei PROJECT_AGENT.md § „Entwurfsschleuse“. Für endgültige Ergebnisse folgen Sie der Nächster-Schritt-Empfehlungsregel des Projekthandbuchs.