Bildbearbeitung

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.

{
  "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.

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.

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.




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.

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.

Mario

- Er ist als professioneller Fotograf im Bereich Food, People und Mode tätig. Auch als Trainer für Photoshop und Lightroom gibt er sein Wissen weiter.

Kürzliche Posts

Farbpaletten für kreative Projekte: Meine Arbeitsweise mit Adobe Color und Palettemaker

Warum ist die richtige Farbpalette so wichtig? Farben beeinflussen den Eindruck und die Stimmung eines…

11 Monaten vor

Magie des Nordlichts: Ein Leitfaden für Anfänger zur Fotografie der Polarlichter

Kurze Einführung über das Phänomen der Polarlichter Polarlichter, auch bekannt als Aurora Borealis im Norden…

1 Jahr vor

Bildstile meistern mit Stable Diffusion: Ein Guide für Einsteiger

Einführung Die Welt der KI-gestützten Kunst eröffnet dir unendliche kreative Möglichkeiten, und ein Tool, das…

2 Jahren vor

Vorstellung von Z-Downloads: Ein benutzerfreundliches Download-Manager Plugin für WordPress

Z-Downloads ist ein Download-Manager-Plugin, das ich komplett eigenständig für meine Bedürfnisse entwickelt habe. Anfangs beabsichtigte…

2 Jahren vor

Infinite Zoom mit Stable Diffusion und AUTOMATIC1111

In diesem Blogbeitrag begleite ich dich durch meinen Prozess der Infinite Zoom Erweiterung für AUTOMATIC1111.…

2 Jahren vor

Mein erster Eindruck von Adobe Firefly Beta

Adobe Firefly ist ein Bündel an KI Funktionen die viele Möglichkeiten bei der Bildgenerierung bietet.…

3 Jahren vor