Zum Inhalt springen

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Du kennst das: Drei Mal denselben Prompt, drei verschiedene Bilder. Mal sitzt die Pose nicht, mal kippt die Lichtstimmung, mal tauchen plötzlich Gegenstände auf, die nie gewünscht waren. Freitext-Prompts sind mächtig, aber sie sind auch mehrdeutig. Jedes KI-Modell interpretiert sie ein wenig anders. Konsistenz über mehrere Durchläufe oder sogar über verschiedene Modelle (ChatGPT, Qwen, Gemini, usw.) wird so zum Glücksspiel. Feine Änderungen wie „etwas wärmeres Licht“ oder „gleicher Bildaufbau, nur andere Jacke“ führen oft zu komplett anderen Ergebnissen.

Die Lösung: Advanced JSON Context Profiles (AJCP).
Statt lange Texte zu „erraten“, beschreibst du dein Bild als strukturierte, maschinenlesbare Blaupause. Ein AJCP ist ein JSON-Dokument, das festlegt, was im Bild vorkommt (Subjekte, Anzahl, Position), wie es aussieht (Stil, Farben, Kleidung, Materialien), wo es stattfindet (Szene, Hintergrund), wie es aufgenommen scheint (Komposition, Perspektive, Tiefenschärfe, Licht) und in welchem Format es ausgegeben wird (Aspect Ratio, Zielauflösung).

Das hat drei unmittelbare Vorteile:

  1. Reproduzierbarkeit: Gleiche Eingabe → ähnlich gleiche Ausgabe, auch modellübergreifend.
  2. Zielgenaue Änderungen: Du drehst an einzelnen Reglern im JSON (z. B. scene.lighting.direction), ohne den Rest zu zerlegen.
  3. Versionierung & Teamwork: JSON ist diffbar, speicherbar, automatisierbar – perfekt für Serien, Kampagnen, Produktbilder, Thumbnails, Moodboards.

In diesem Beitrag lernst du Schritt für Schritt:

  • Vom Foto zum AJCP: Wie du ein vorhandenes Bild analysierst und ein sauberes JSON-Profil erzeugst, das die wichtigen Parameter wirklich einfängt (Licht, Komposition, Farbwelt, Subjekt-Details, Hintergrund).
  • Vom AJCP zum Bild: Wie du dasselbe JSON in ChatGPT, Qwen, Gemini oder anderen KI-Bildgeneratoren fütterst – und warum die Ergebnisse ähnlich bleiben.
  • Gezielt variieren: Wie du mit minimalen Änderungen im AJCP zuverlässig „die gleiche Aufnahme“ mit anderer Stimmung, anderer Kleidung oder leicht verschobener Perspektive erzeugst.
  • Praxis-Setups: Starter-Schema (minimal), Extended-Schema (präzise), Prompts zum Kopieren, typische Fehlerbilder und schnelle Fixes.

Wichtig: AJCP ist kein offizieller Standard. Kleine Abweichungen zwischen Modellen bleiben möglich – aber statt reiner Hoffnung arbeitest du mit einer klaren Spezifikation. Das reduziert Zufall, spart Zeit und macht die Bildgenerierung planbar. Am Ende dieses Kapitels hast du eine Arbeitsweise, mit der du deine Bilder konsistent reproduzierst und gezielt veränderst – ohne dass ein einzelnes Wort im Freitext plötzlich den ganzen Look sprengt.

Was ist ein AJCP – Kernprinzip

AJCP (Advanced JSON Context Profile) ist eine strukturierte, modellneutrale Beschreibung eines Bildes. Statt einen langen Freitext-Prompt zu schreiben, legst du alle relevanten Entscheidungen explizit in Feldern fest: Inhalt, Bildaufbau, Stil, Licht, Farben, Ausgabeformat. Das macht Ergebnisse reproduzierbar, vergleichbar und gezielt veränderbar.

Warum AJCP funktioniert

  • Weniger Mehrdeutigkeit: Klare Felder statt mehrdeutiger Sprache → weniger Interpretationsspielraum für das Modell.
  • Trennung von Zuständigkeiten: Inhalt (Was ist drauf?) vs. Look (Wie sieht es aus?) vs. Technik (Format, Aspect, DOF).
  • Determinismus durch Constraints: „Keine Elemente hinzufügen“ oder „Farbpalette auf 3 HEX-Werte begrenzen“ senkt Zufall.
  • Portabilität: Gleiches JSON über verschiedene Modelle (ChatGPT, Qwen, Gemini) → ähnliche Ergebnisse.
  • Versionierbar: JSON ist diffbar (Git), ideal für Serien, Kampagnen, Thumbnails, Produktbilder.

Grundaufbau

  • image_meta → Aspect Ratio, Orientierung, Zielgröße
  • scene → Ort, Tageszeit, Wetter, Lichtquelle/-richtung/-qualität
  • subjects[] → Objekte/Personen: Anzahl, Pose, Position, Kleidung/Material, Blickrichtung
  • composition → Framing, Kamerawinkel, Tiefenschärfe
  • style → Renderart (Foto, 3D, Illustration), Mood, Farbpalette (HEX)
  • background → Kulisse/Elemente im Hintergrund
  • output → Zielauflösung
  • constraints (optional) → Regeln wie „do_not_add_elements“, Toleranzen

Beispiel (sauberes, kopierbares JSON)

Hier ist ein Bild als Vorlage für die Erstellung der JSON Daten, das Bild ist ein echtes Foto, kein KI-Bild.

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP
{
  "image_meta": {
    "filename": "urlaub_street_scooter.jpg",
    "format": "JPEG",
    "dimensions": { "width": 2048, "height": 1285 },
    "aspect_ratio": { "value": 1.5938, "approx": "8:5" },
    "orientation": "landscape"
  },
  "scene": {
    "type": "outdoor",
    "setting": "mediterranean_urban_street",
    "time_of_day": "golden_hour_late_afternoon",
    "weather": "clear_sky",
    "lighting": {
      "source": "sunlight",
      "direction": "front_left",
      "quality": "warm_soft_highlights",
      "color_temperature_kelvin": 4300
    }
  },
  "subjects": [
    {
      "id": "person_01",
      "type": "human",
      "pose": "standing_relaxed",
      "expression": "smiling",
      "gaze": "slightly_upward",
      "hands": "holding_smartphone",
      "wardrobe": {
        "top": "beige_polka_dot_blouse_long_sleeves",
        "bottom": "light_beige_shorts",
        "belt": "brown_leather",
        "bag": "small_crossbody_beige",
        "accessories": ["straw_sun_hat", "round_sunglasses"]
      },
      "position": "left_third",
      "framing": "medium_three_quarter"
    }
  ],
  "props": [
    {
      "id": "vehicle_01",
      "type": "scooter",
      "style": "vespa_like",
      "color": "white",
      "position": "right_foreground",
      "crop": "partial_front"
    }
  ],
  "composition": {
    "framing": "rule_of_thirds",
    "camera_angle": "slight_low_angle",
    "depth_of_field": "moderate_background_blur",
    "focal_point": "person_01_face",
    "leading_lines": ["power_lines", "street_direction"]
  },
  "style": {
    "render": "photorealistic",
    "mood": "warm_relaxed_holiday",
    "contrast": "medium",
    "color_palette": ["#5E4438", "#DEEBE3", "#C7CCBD", "#B5907A", "#878174", "#F3F1EB"]
  },
  "background": {
    "elements": [
      "white_low_rise_buildings_with_arches",
      "red_awning_cafe",
      "potted_greenery",
      "utility_poles_and_wires",
      "distant_hills"
    ],
    "activity": "casual_street_with_pedestrians_blurred"
  },
  "output": {
    "size_px": { "width": 2048, "height": 1285 },
    "aspect": "8:5"
  },
  "dominant_colors": [
    { "hex": "#5E4438", "percentage": 21.8 },
    { "hex": "#DEEBE3", "percentage": 19.6 },
    { "hex": "#C7CCBD", "percentage": 16.2 },
    { "hex": "#B5907A", "percentage": 15.8 },
    { "hex": "#878174", "percentage": 14.0 },
    { "hex": "#F3F1EB", "percentage": 12.7 }
  ],
  "constraints": {
    "do_not_add_elements": true,
    "respect_subject_position": true,
    "keep_background_category": "mediterranean_urban_street"
  }
}

Beispiele in der Anwendung

Ich habe diese JSON Daten so wie sie sind, ohne Veränderungen genommen und diversen KI-Bildgeneratoren gegeben, diese Ergebnisse kamen dabei heraus.

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Wie man sieht sind die Ergebnisse von drei komplett unterschiedlichen KI-Bildgeneratoren (ChatGPT, Gemini, Qwen) sehr ähnlich.

ChatGPT hat für das Bild am längsten gebraucht, Gemini und Qwen waren dabei sehr ähnlich und um einiges schneller.

Ein weiteres Beispiel

Hier ein weiteres echtes Foto als Ausgangsmaterial.

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP
Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Best Practices (Kernprinzip in der Anwendung)

  • Atomare Felder: Lieber viele kleine, klare Entscheidungen als ein Sammelfeld mit Fließtext.
  • Diskrete Werte statt Prosa: left_third, eye_level, soft sind stabiler als „ein bisschen links, weiches Licht“.
  • Farben als HEX: Max. 3–5 Farben, sonst driften Modelle.
  • Position standardisieren: „rule_of_thirds“, „center“, „left_third“ – oder optional normierte Koordinaten (0–1).
  • Constraints setzen: do_not_add_elements: true und nur wenige, wirklich wichtige Elemente in background.elements.
  • Minimal vs. Extended: Mit einem Minimal-Schema starten, nur bei Bedarf Felder wie textures, effects, camera ergänzen.


Banner


Workflow: Von Foto zu AJCP → Bild

So setzt du den Prozess stabil und wiederholbar auf – vom Referenzfoto über das JSON-Profil bis zur Generierung in einer Bild-KI wie ChatGPT, Qwen und Gemini.

1) Referenzbild wählen

  • Klare Hauptperson oder Hauptobjekt, eindeutige Lichtstimmung, wenige ablenkende Details.
  • Ziel definieren: exakte Reproduktion oder gleiches Layout mit Variation (z. B. andere Lichtstimmung).

2) AJCP erzeugen (Bild zu JSON)

Nutze ein einheitliches Schema (wie im Kapitel zuvor). Wichtig: nur gültiges JSON zurückgeben lassen.

Analyse-Prompt (kopieren):

Erstelle ein Advanced JSON Context Profile (AJCP) für dieses Bild.

3) JSON kuratieren (Qualitätscheck)

  • Aspect Ratio/Output: z. B. 3:2 und konkrete Größe (z. B. 1536×1024).
  • Farbwerte: 3–5 HEX-Farben, keine Farbnamen.
  • Positionen: diskrete Werte (left_third, center, eye_level).
  • Constraints: do_not_add_elements: true, optional respect_subject_position: true.
  • Hintergrund: nur relevante Elemente nennen, sonst driften Modelle.

4) Bild generieren (JSON zu Bild)

Gib dasselbe AJCP in den gewünschten KI-Bildgenerator, entweder den JSON Text einfach einfügen oder erstelle eine .json Datei und ziehe diese in das KI-Chatfenster.

Nutze eine strikte Anweisung.

Generate an image strictly from this AJCP. 
Do not add or remove elements beyond the JSON. 
If a field is missing, keep reasonable defaults.
AJCP:
```json
{ ...dein AJCP... }

5) Ergebnisse vergleichen

  • Makro-Konsistenz: Komposition, Position, Anzahl der Elemente.
  • Mikro-Abweichungen: Lichtintensität, Materialanmutung, Kleinteile im Hintergrund.

6) Gezielt variieren (nur Felder ändern, nicht den Prompt)

Beispiele für präzise Änderungen:

  • Licht
    scene.lighting.direction: "front_left" → "soft_side_light"
    scene.time_of_day: "golden_hour" → "blue_hour"
  • Perspektive/Komposition
    composition.camera_angle: "eye_level" → "slight_low_angle"
    composition.framing: "rule_of_thirds" → "center"
  • Farbstimmung
    style.color_palette: ["#F7D6A0","#C9D7E3","#5A6B7A"] → ["#E8EEF6","#C0D1E3","#324A5F"]
  • Subjekt-Details
    subjects[0].wardrobe.top: "polka_dot_blouse" → "plain_white_blouse"

7) Troubleshooting (schnelle Fixes)

ProblemUrsacheFix im JSON
Unerwünschte Extras tauchen aufModell ergänzt Hintergrundconstraints.do_not_add_elements = true; background.elements kürzen
Farben driftenZu viele/unsaubere AngabenFarbpalette auf 3–5 HEX begrenzen
Perspektive „kippt“Kamera unklarcomposition.camera_angle, framing, depth_of_field präzisieren
AR wird ignoriertGröße nicht gesetztoutput.size mit exakten Pixeln angeben
Zu „glatt“/künstlichOverclean Renderingeffects: ["subtle_film_grain"], leicht geringere Sättigung

Beispiel mit Änderungen

Hier ist wieder ein echtes Foto als Ausgangsmaterial für die JSON Erstellung.

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Für die Erstellung des KI-Bildes habe ich einige Dinge verändert wie das Geschlecht von männlich auf weiblich geändert und die Farben des Outfits und der Schuhe, ansonsten habe ich alles andere unverändert lassen, so sieht man wie schnell man diverse Details sehr gezielt verändern kann ohne die restlichen Aspekte des Bildes zu beeinflussen.

Reproduzierbare KI-Bilder: Dein Leitfaden zu AJCP

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.