CommunityBildgithub.com

Bildgenerierung mit Microsoft Foundry MAI-Image

Erzeuge oder bearbeite Rasterbilder mit Microsoft Foundry MAI-Image-Modellen (Standard: MAI-Image-2.6-Flash), wenn KI-generierte Bitmap-Visuals wie Fotos, Illustrationen, Texturen, Sprites, Mockups, Poster oder Chroma-Key-Ausschnitte benötigt werden.

Was ist Bildgenerierung mit Microsoft Foundry MAI-Image?

Dieses Skill ermöglicht es KI-Agenten, hochwertige Rasterbilder (PNG) über Microsoft Foundry MAI-Image-Modelle zu erstellen oder zu bearbeiten. Es wird über ein gebündeltes CLI-Tool (`scripts/image_gen.js`) gesteuert, das die Subcommands `generate`, `edit` und `generate-batch` bereitstellt. Das Skill unterstützt die Erstellung neuer Bilder, die Bearbeitung bestehender Bilder (z. B. Inpainting, Objektentfernung, Textänderungen), die Kombination von bis zu fünf Referenzbildern sowie die Stapelverarbeitung für mehrere Assets. Besondere Merkmale sind ein Chroma-Key-Workflow für transparente Hintergründe, eine Entscheidungsmatrix zur Auswahl des richtigen Subcommands, eine Taxonomie für verschiedene Anwendungsfälle (z. B. fotorealistisch, UI-Mockup, Logo) sowie eine strukturierte Prompt-Schablone zur Optimierung der Bildqualität. Das Skill ist ideal für Entwickler, die schnell Bitmap-Assets für Projekte wie Websites, Spiele, Marketing oder Produkt-Mockups benötigen, ohne auf externe Tools oder APIs zurückgreifen zu müssen.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/doggy8088/imagegen-mai/tree/HEAD

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Skill zur Bildgenerierung mit Microsoft Foundry MAI-Image

Erzeugt oder bearbeitet Bilder für das aktuelle Projekt (z. B. Website-Assets, Spiel-Assets, UI-Mockups, Produkt-Mockups, Wireframes, Logo-Design, fotorealistische Bilder oder Infografiken) mit MAI-Image-Bereitstellungen in Microsoft Foundry.

In dieser Datei bezeichnet <skill-dir> das Verzeichnis, das diese SKILL.md enthält.

Ausführungsmodus und Regeln

Dieses Skill verwendet das gebündelte CLI unter <skill-dir>/scripts/image_gen.js. Der Agenten-Host stellt für diesen Workflow keine integrierten Bildgenerierungs- oder Bildbetrachtungswerkzeuge bereit. Daher sollten Sie nicht auf nicht vorhandene integrierte Werkzeuge verweisen oder versuchen, diese zu verwenden.

Das CLI bietet drei Unterbefehle:

  • generate
  • edit
  • generate-batch

Regeln:

  • Verwenden Sie scripts/image_gen.js für normale Bildgenerierungs- und Bearbeitungsanfragen.
  • Das CLI unterstützt nur Modelle der MAI-Image-Serie. Leiten Sie niemals GPT Image, DALL-E oder andere Modelle darüber.
  • Die Standardbereitstellung ist IMAGEGEN_MAI_IMAGE_DEPLOYMENT oder MAI-Image-2.6-Flash, wenn nicht gesetzt. Wechseln Sie niemals stillschweigend zu einer anderen Bereitstellung. Fragen Sie zuerst den Benutzer, es sei denn, der Benutzer hat dieses Modell bereits explizit angefordert.
  • MAI-Bildmodelle geben immer ein undurchsichtiges PNG zurück. Verwenden Sie für transparente Bilder den unten beschriebenen Chroma-Key-Workflow und teilen Sie dem Benutzer mit, dass der Ausschnitt lokal erstellt wird.
  • Das Wort batch allein erfordert nicht generate-batch. Verwenden Sie generate-batch, wenn eine Multi-Asset-Anfrage natürlich als JSONL-Batch dargestellt wird; andernfalls führen Sie einzelne CLI-Befehle aus.
  • Live-API-Aufrufe erfordern MAI-Anmeldeinformationen und Netzwerkzugriff.
  • Verwenden Sie den gebündelten Workflow scripts/image_gen.js. Erstellen Sie keine einmaligen SDK-Runner.
  • Ändern Sie niemals scripts/image_gen.js. Wenn etwas fehlt, fragen Sie den Benutzer, bevor Sie etwas anderes tun.

Ausgaberichtlinie:

  • Schreiben Sie generierte Assets direkt in den angeforderten Pfad oder in output/imagegen/, wenn der Benutzer keinen Pfad angibt.
  • Wenn das Bild für das aktuelle Projekt bestimmt ist, speichern Sie das endgültig ausgewählte Bild vor dem Abschluss im Arbeitsbereich.
  • Überschreiben Sie kein vorhandenes Asset, es sei denn, der Benutzer hat explizit nach einem Ersatz gefragt; erstellen Sie andernfalls eine versionierte Datei mit einem Schwesternamen wie hero-v2.png oder item-icon-edited.png.

Gemeinsame Prompt-Anleitung befindet sich in references/prompting.md und references/sample-prompts.md.

CLI-Dokumentation/Ressourcen:

  • references/cli.md
  • references/image-api.md
  • references/codex-network.md
  • scripts/image_gen.js

Lokaler Nachbearbeitungshelfer:

  • <skill-dir>/scripts/remove_chroma_key.js: Entfernt einen flachen Chroma-Key-Hintergrund aus einem generierten Bild und schreibt ein PNG mit Alpha. Bevorzugen Sie Auto-Key-Sampling, weiche Matte und Despill für kantengeglättete Ränder.

Wann verwenden

  • Ein neues Bild generieren (Konzeptkunst, Produktfoto, Cover, Website-Hero, Poster)
  • Ein neues Bild generieren, das von aktuellen realen Informationen abhängt (--web-grounding verwenden)
  • Ein vorhandenes Bild bearbeiten (Objektenfernung oder -austausch, Attributänderungen, Inpainting, Textaktualisierungen, Licht- oder Wetteränderungen, Artefaktbereinigung)
  • Bis zu fünf Referenzbilder zu einem Ergebnis kombinieren (Produkt-, Charakter- oder Markenkonsistenz)
  • Viele Assets oder Varianten für eine Aufgabe produzieren

Wann nicht verwenden

  • Erweitern oder Anpassen eines vorhandenen SVG/Vektor-Icon-Sets, Logosystems oder einer Illustrationsbibliothek innerhalb des Repos
  • Erstellen einfacher Formen, Diagramme, Wireframes oder Icons, die besser direkt in SVG, HTML/CSS oder Canvas erstellt werden
  • Durchführen einer kleinen projektspezifischen Asset-Bearbeitung, wenn die Quelldatei bereits in einem bearbeitbaren nativen Format vorliegt
  • Jede Aufgabe, bei der der Benutzer eindeutig eine deterministische code-native Ausgabe anstelle eines generierten Bitmaps wünscht
  • Ausgabe größer als etwa 1,5K (das Limit von MAI-Image-2.6 liegt bei 2.359.296 Pixeln, z. B. 1536x1536); teilen Sie dem Benutzer das Limit mit, anstatt stillschweigend hochzuskalieren

Entscheidungsbaum

Denken Sie über zwei separate Fragen nach:

  1. Absicht: Ist dies ein neues Bild oder eine Bearbeitung eines vorhandenen Bildes?
  2. Ausführungsstrategie: Ist dies ein Asset oder viele Assets/Varianten?

Absicht:

  • Wenn der Benutzer ein vorhandenes Bild ändern möchte, während Teile davon erhalten bleiben, behandeln Sie die Anfrage als edit.
  • Wenn der Benutzer Bilder als Referenzen für Stil, Komposition, Stimmung oder Motiv bereitstellt und möchte, dass diese im Ergebnis berücksichtigt werden, verwenden Sie edit mit diesen Bildern als Referenzen (die MAI-Generations-API akzeptiert keine Bilder).
  • Wenn der Benutzer keine Bilder bereitstellt, behandeln Sie die Anfrage als generate.

Edit-Semantik:

  • Der CLI-Edit-Modus akzeptiert ein bis fünf lokale PNG- oder JPEG-Dateien über wiederholte --image-Flags.
  • Wenn der Benutzer angehängte Bilder oder Referenzen aus der Konversation bereitstellt, speichern Sie diese lokal, wenn die Umgebung dies unterstützt; andernfalls fragen Sie den Benutzer nach lokalen Dateipfaden.
  • Die Bildreihenfolge ist wichtig, daher kennzeichnen Sie jedes Bild nach Index und Rolle im Prompt.
  • Bei Bearbeitungen bewahren Sie Invarianten aggressiv und speichern standardmäßig nicht-destruktiv.
  • Bearbeitungen sind für MAI-Image-2 und MAI-Image-2e nicht dokumentiert, und das CLI blockiert sie; verwenden Sie eine MAI-Image-2.5- oder MAI-Image-2.6-Bereitstellung für Bearbeitungen.

Ausführungsstrategie:

  • Verwenden Sie den CLI-Unterbefehl generate-batch für viele Prompts/Assets, wenn JSONL-Batching der klarste Workflow ist.
  • Die MAI-API gibt ein Bild pro Anfrage zurück und hat keinen n-Parameter. Für Varianten führen Sie separate Befehle oder separate Batch-Jobs mit eindeutigen out-Namen aus.
  • Die Ratenlimits sind niedrig (z. B. 6 Anfragen pro Minute für MAI-Image-2.6-Flash auf Stufe 1). Behalten Sie den Standardwert von --concurrency von 2 bei, es sei denn, der Benutzer kennt sein Kontingent.

Gehen Sie davon aus, dass der Benutzer ein neues Bild wünscht, es sei denn, er bittet eindeutig darum, ein vorhandenes zu ändern.

Workflow

  1. Entscheiden Sie den CLI-Unterbefehl: generate, edit oder generate-batch.
  2. Entscheiden Sie, ob die Ausgabe nur zur Vorschau dient oder vom aktuellen Projekt verwendet werden soll.
  3. Entscheiden Sie die Ausführungsstrategie: einzelnes Asset vs. wiederholte CLI-Befehle vs. CLI generate-batch.
  4. Sammeln Sie die Eingaben im Voraus: Prompt(s), exakten Text (wörtlich), Einschränkungen/Vermeidungsliste, Zielgröße oder Seitenverhältnis und alle Eingabebilder.
  5. Kennzeichnen Sie für jedes Eingabebild seine Rolle explizit:
    • Referenzbild
    • Bearbeitungsziel
    • unterstützende Eingabe für Einfügung/Stil/zusammengesetztes Bild
  6. Wenn der Benutzer nach einem Foto, einer Illustration, einem Sprite, einem Produktbild, einem Banner oder einem anderen explizit rasterbasierten Asset fragt, verwenden Sie dieses Skill anstelle von SVG/HTML/CSS-Platzhaltern. Wenn die Anfrage ein Icon, Logo oder UI-Grafik betrifft, das zu vorhandenen repo-eigenen SVG/Vektor/Code-Assets passen soll, bearbeiten Sie diese stattdessen direkt.
  7. Erweitern Sie den Prompt basierend auf der Spezifität:
    • Wenn der Prompt des Benutzers bereits spezifisch und detailliert ist, normalisieren Sie ihn in eine klare Spezifikation, ohne kreative Anforderungen hinzuzufügen.
    • Wenn der Prompt des Benutzers generisch ist, fügen Sie geschmackvolle Erweiterungen nur hinzu, wenn dies die Ausgabequalität wesentlich verbessert.
  8. Wählen Sie die Größe. Verwenden Sie --size BREITExHÖHE für ein bekanntes Ziel oder --auto-aspect-ratio (MAI-Image-2.6-Familie), wenn die Komposition entscheiden soll. Fügen Sie --web-grounding (MAI-Image-2.6-Familie) hinzu, wenn der Prompt von aktuellen realen Entitäten, Orten oder Ereignissen abhängt.
  9. Führen Sie scripts/image_gen.js mit der Standardbereitstellung aus.
  10. Folgen Sie für transparente Ausgabeanfragen dem unten stehenden Chroma-Key-Workflow.
  11. Überprüfen Sie die Ausgaben und validieren Sie: Motiv, Stil, Komposition, Textgenauigkeit und Invarianten/Vermeidungsliste.
  12. Iterieren Sie mit einer einzigen gezielten Änderung und überprüfen Sie erneut.
  13. Schreiben Sie für Vorschaubilder in output/imagegen/, es sei denn, der Benutzer hat einen anderen Ort angefordert.
  14. Schreiben Sie für projektspezifische Arbeiten das Artefakt in den Arbeitsbereich und aktualisieren Sie alle verbrauchenden Codes oder Referenzen.
  15. Für Batches oder Multi-Asset-Anfragen speichern Sie jedes angeforderte Lieferergebnis endgültig im Arbeitsbereich, es sei denn, der Benutzer hat explizit darum gebeten, die Ausgaben nur als Vorschau zu behalten. Verworfene Varianten müssen nicht aufbewahrt werden, es sei denn, sie wurden angefordert.
  16. Verwenden Sie die CLI-Dokumentation für Bereitstellung, Größe, auto_aspect_ratio, web_grounding, Ausgabepfade und Netzwerkeinrichtung.
  17. Melden Sie immer den/die endgültigen Speicherpfad(e) für alle Arbeitsbereichs-Assets sowie den endgültigen Prompt oder Promptsatz.

Transparente Bildanfragen

MAI-Bildmodelle geben immer ein undurchsichtiges PNG zurück und haben keine Option für transparenten Hintergrund. Erstellen Sie transparente Assets mit einem Chroma-Key-Quellbild und lokaler Entfernung.

Ablauf:

  1. Verwenden Sie scripts/image_gen.js generate (oder edit für ein vorhandenes Bild), um das angeforderte Motiv auf einen perfekt flachen, einfarbigen Chroma-Key-Hintergrund zu setzen.

  2. Wählen Sie eine Key-Farbe, die wahrscheinlich nicht im Motiv vorkommt: Standard #00ff00, verwenden Sie #ff00ff für grüne Motive und vermeiden Sie #0000ff für blaue Motive.

  3. Behalten Sie das Chroma-Key-Quellbild im Arbeitsbereich oder in tmp/imagegen/.

  4. Führen Sie den gebündelten Helfer aus:

    node "<skill-dir>/scripts/remove_chroma_key.js" \
      --input <quelle> \
      --out <endgueltig.png> \
      --auto-key border \
      --soft-matte \
      --transparent-threshold 12 \
      --opaque-threshold 220 \
      --despill
    
  5. Überprüfen Sie, ob die Ausgabe einen Alphakanal, transparente Ecken, plausible Motivabdeckung und keine offensichtlichen Key-Color-Ränder hat. Überlagern Sie es über einen hellen und einen dunklen Hintergrund, um auf Lichthöfe zu prüfen. Wenn ein dünner Rand übrig bleibt, wiederholen Sie einmal mit --edge-contract 1; verwenden Sie --edge-feather 0.25 nur, wenn die Kante sichtbar treppenförmig ist und das Motiv nicht glänzend oder reflektierend ist.

  6. Speichern Sie das endgültige Alpha-PNG im Projekt, wenn das Asset projektspezifisch ist.

Formulieren Sie Chroma-Key-Anfragen wie folgt:

Erstellen Sie das angeforderte Motiv auf einem perfekt flachen, einfarbigen #00ff00 Chroma-Key-Hintergrund zur Hintergrundentfernung.
Der Hintergrund muss eine einheitliche Farbe ohne Schatten, Verläufe, Textur, Reflexionen, Bodenebene oder Lichtvariation sein.
Halten Sie das Motiv vollständig vom Hintergrund getrennt mit sauberen Kanten und großzügigem Abstand.
Verwenden Sie #00ff00 nirgendwo im Motiv.
Kein Schlagschatten, kein Kontaktschatten, keine Reflexion, kein Wasserzeichen und kein Text, es sei denn, dies wird explizit angefordert.

Chroma-Keying ist für Haare, Fell, Federn, Rauch, Glas, Flüssigkeiten, transluzente Materialien, reflektierende Objekte und weiche Schatten schlecht geeignet. Informieren Sie den Benutzer über diese Einschränkung, bevor Sie einen sauberen Ausschnitt für solche Motive versprechen.

Prompt-Erweiterung

Formatieren Sie Benutzer-Prompts in eine strukturierte, produktionsorientierte Spezifikation um. Machen Sie das Ziel des Benutzers klarer und handlungsorientierter, aber fügen Sie nicht blind Details hinzu.

Behandeln Sie dies als Prompt-Formungsanleitung, nicht als geschlossenes Schema. Verwenden Sie nur die hilfreichen Zeilen und fügen Sie eine kurze zusätzlich beschriftete Zeile hinzu, wenn dies die Klarheit wesentlich verbessert.

Spezifitätsrichtlinie

Verwenden Sie die Spezifität des Benutzer-Prompts, um zu entscheiden, wie viel Erweiterung angemessen ist:

  • Wenn der Prompt bereits spezifisch und detailliert ist, bewahren Sie diese Spezifität und normalisieren/strukturieren Sie ihn nur.
  • Wenn der Prompt generisch ist, können Sie geschmackvolle Erweiterungen hinzufügen, wenn dies das Ergebnis wesentlich verbessert.

Zulässige Erweiterungen:

  • Kompositions- oder Bildausschnittshinweise
  • Hinweise zur Qualitätsstufe oder zum Verwendungszweck
  • Praktische Layout-Anleitung
  • Angemessene Szenenkonkretheit, die die genannte Anfrage unterstützt

Nicht zulässige Erweiterungen:

  • Zusätzliche Charaktere oder Objekte, die nicht durch die Anfrage impliziert werden
  • Markennamen, Slogans, Paletten oder narrative Elemente, die nicht impliziert werden
  • Willkürliche seitenspezifische Platzierung, es sei denn, das umgebende Layout unterstützt dies

Anwendungsfall-Taxonomie (exakte Slugs)

Klassifizieren Sie jede Anfrage in einen dieser Bereiche und behalten Sie den Slug über Prompts und Referenzen hinweg konsistent bei.

Generieren:

  • photorealistic-natural: Candid/Editorial-Lifestyle-Szenen mit echter Textur und natürlicher Beleuchtung.
  • product-mockup: Produkt-/Verpackungsaufnahmen, Katalogbilder, Merch-Konzepte.
  • ui-mockup: App-/Web-Interface-Mockups und Wireframes; geben Sie die gewünschte Detailtreue an.
  • infographic-diagram: Diagramme/Infografiken mit strukturiertem Layout und Text.
  • scientific-educational: Klassenzimmer-Erklärer, wissenschaftliche Diagramme und Lernvisualisierungen mit erforderlichen Beschriftungen und Genauigkeitsanforderungen.
  • ads-marketing: Kampagnenkonzepte und Werbekreative mit Zielgruppe, Markenposition, Szene und exaktem Slogan/Text.
  • productivity-visual: Folien, Diagramme, Workflows und datenlastige Geschäftsvisualisierungen.
  • logo-brand: Logo/Marken-Erkundung, vektorfreundlich.
  • illustration-story: Comics, Kinderbuchillustrationen, narrative Szenen.
  • stylized-concept: Stilgetriebene Konzeptkunst, 3D/stilisierte Renderings.
  • historical-scene: Epochengerechte/Weltwissens-Szenen.

Bearbeiten:

  • text-localization: Übersetzen/Ersetzen von Text im Bild, Layout beibehalten.
  • identity-preserve: Anprobe, Person-in-Szene; Gesicht/Körper/Pose fixieren.
  • precise-object-edit: Entfernen/Ersetzen eines bestimmten Elements (einschließlich interner Austausche).
  • lighting-weather: Nur Tageszeit/Jahreszeit/Atmosphäre ändern.
  • background-extraction: Sauberer Ausschnitt über einen flachen Chroma-Key-Hintergrund plus lokale Entfernung mit scripts/remove_chroma_key.js.
  • style-transfer: Referenzstil anwenden, während Motiv/Szene geändert werden.
  • compositing: Multi-Image-Einfügung/Zusammenführung mit angepasster Beleuchtung/Perspektive (bis zu fünf Bilder).
  • sketch-to-render: Zeichnung/Strichzeichnung in fotorealistisches Rendering.

Gemeinsame Prompt-Schablone

Verwenden Sie die folgende beschriftete Spezifikation als gemeinsame Prompt-Struktur für beide Hauptmodi:

Anwendungsfall: <Taxonomie-Slug>
Asset-Typ: <wo das Asset verwendet wird>
Primäre Anfrage: <Haupt-Prompt des Benutzers>
Eingabebilder: <Bild 1: Rolle; Bild 2: Rolle> (optional)
Szene/Hintergrund: <Umgebung>
Motiv: <Hauptmotiv>
Stil/Medium: <Foto/Illustration/3D/etc.>
Komposition/Bildausschnitt: <Weit/Nah/Aufsicht; Platzierung>
Beleuchtung/Stimmung: <Beleuchtung + Stimmung>
Farbpalette: <Palettennotizen>
Materialien/Texturen: <Oberflächendetails>
Text (wörtlich): "<exakter Text>"
Einschränkungen: <muss beibehalten werden/muss vermieden werden>
Vermeiden: <negative Einschränkungen>

Hinweise:

  • Asset-Typ und Eingabebilder sind Prompt-Strukturelemente, keine dedizierten CLI-Flags.
  • Szene/Hintergrund bezieht sich auf die visuelle Umgebung.
  • Ausführungshinweise wie Größe, auto_aspect_ratio, web_grounding und Ausgabepfade gehören zum CLI-Pfad, nicht zum Prompt-Text.

Erweiterungsregeln:

  • Halten Sie es kurz.
  • Fügen Sie nur die Details hinzu, die benötigt werden, um den Prompt wesentlich zu verbessern.
  • Listen Sie bei Bearbeitungen explizit Invarianten auf (nur X ändern; Y unverändert lassen).
  • Wenn ein kritisches Detail fehlt und den Erfolg blockiert, stellen Sie eine Frage; fahren Sie andernfalls fort.

Beispiel

…

Verwandte Skills