image-riff – Originalkunst in einer entliehenen Bildsprache
Die Engine, ihr API-Schlüssel, ihre Flags und ihre Fallstricke sind in der make-art-Fertigkeit beschrieben.
Lies zuerst diese. Diese Fertigkeit ist die Methode: wie man ein Referenzbild in eine Reihe von
realen Optionen verwandelt und wie man sie auf der eigentlichen Zieloberfläche platziert.
Fertig sind nicht vier hübsche Bilder. Fertig heißt: N Varianten generiert, jedes Bild betrachtet, mit ehrlicher Kritik bewertet, die Zielcrops zugeschnitten und die Arbeit im Quellordner unten abgelegt. Ein Durchlauf, der bei „hier sind vier Bilder“ aufhört, übergibt dem Benutzer die letzten beiden Aufgaben.
Wo die Arbeit landet
art/<Quell-Slug>/
README.md datierter Titel, das Briefing, eine Rangfolge->Varianten-Tabelle und WARUM die Auswahl gewonnen hat
1-<Slug>.jpg ... die Finalisten, Master in voller Auflösung, nummeriert NACH RANG
upload-1024/ die tatsächlich skalierten Liefergegenstände, wenn die Oberfläche eine bestimmte Größe benötigt
small-size-test.png der Nachweis, wenn die Lesbarkeit in der Größe entscheidend war
prompts/ die exakten Prompts der Finalisten
candidates/<Runde>/ die Runden, die verloren haben, jede mit eigenem prompts/
<Quell-Slug> ist der Themenkomplex, nicht das Datum. Falls bereits Geschwisterordner existieren,
übernimm deren Konvention.
- Das README ist nicht optional. Der Ordner wird kalt, Wochen später, begutachtet. Ohne es kann ein Ordner nummerierter JPEGs nicht sagen, welches ausgeliefert, welches abgelehnt wurde oder warum.
- Behalte die verlorenen Runden.
candidates/ist der Ort, an dem das wiederverwendbare Wissen liegt. - Behalte die Prompts wortwörtlich. Sie sind die Reproduktionsanleitung und die Herkunftsangabe.
- Nummeriere die Finalisten nach Rang, nicht nach Generierungsreihenfolge. Der Dateiname ist der Ort, an dem die Rangfolge überdauert, nachdem das Gespräch verschwunden ist.
- Halte generierte Kunst aus einer persönlichen Fotobibliothek heraus, es sei denn, es wird darum gebeten; es vermischt sich mit echten Fotografien.
Stelle zwei Fragen, dann gib aus
Bei etwa 0,24 $ pro 4K-Bild kostet ein Vierfach-Spread etwa 1 $: günstig genug, dass zwei Fragen das gesamte Tor sind, teuer genug, dass null Fragen eine Verschwendung sind. Beide Antworten ändern sich mit jeder Variante, daher kann keine abgeleitet werden:
- Wofür ist es? Bestimmt das Seitenverhältnis und ob negativer Raum für Schrift gelassen werden soll.
- Wie weit vom Basisbild entfernt? Originalgetreue Reproduktion <-> wilde Neuinterpretation.
Frage auf der subjektiven Achse; entscheide die technische selbst.
Der Prompt besteht aus drei Teilen, und nur einer variiert
Baue ihn im Code auf, eine Datei pro Motiv:
STAMM (für jede Variante identisch) – die Render-Sprache, abgelesen vom Bild
SUBJEKT (die einzige Variable) – ein Absatz, eine Komposition
SCHWANZ (für jede Variante identisch) – Geometrie + die Negativanweisungen
Ein STAMM-Vorlage, als Bewegungen statt Worten:
Verwende das beigefügte Bild strikt als Stil- und Farbanker. Reproduziere seine genaue Render-Sprache: <Zeitraum + Medium>, , , <Textur / Schattierungstechnik>, <benannte Pigmente, max. 2–3, plus der kleine Akzent>, . Kopiere NICHT das Motiv des beigefügten Bildes. Gestalte etwas Neues.
SUBJEKT:
Und der SCHWANZ:
<Seitenverhältnis> Komposition, randlos von Kante zu Kante. Kein Rand, kein Rahmen, keine Papierstruktur, kein weißer Rand. Kein Text, keine Beschriftung, kein Signatur, kein Logo.
Eine fotografische Basis ist der schwierigere Fall: teste mit 2K, bevor du für einen Spread ausgibst. „Reproduziere die Render-Sprache, ändere das Motiv“ liefert zuverlässig Kunst von einer stilisierten Basis (ein Comic-Panel, ein Druck). Von einem Foto kann es perfekt ausführen und dennoch enttäuschen. Stelle eine dritte Frage, wenn die Basis ein Foto ist – soll das Ergebnis wie ein Foto aussehen, oder wie etwas anderes? – und gib ein oder zwei 2K-Varianten aus, bevor du vier 4K-Varianten erstellst.
Wenn die Basis ein Foto ist, wechseln die Slots im STAMM, aber ihre Aufgabe nicht. Tausche die Markierungsslots gegen die sechs Dinge, die eine Kamera entscheidet: <Film + Format>, , <Qualität und Winkel des Lichts>, <Palette, 3–4 benannte Farben plus den einen Akzent>, <Korn / Halation / Vignette>, . Der letzte Slot ist am wichtigsten, weil die Vorgabe der Engine für jeden fotografischen Prompt zeitgenössisch digital ist: sage kein HDR, keine angehobenen Schatten, keine digitale Klarheit, keine filmische Teal-und-Orange-Gradierung. Eine Klausel wie „tief zugesetzte Schwarze, die überhaupt keine Schattendetails halten“ kann die tragendste Linie im Prompt sein.
Lies aus der Basis auch ihr impliziertes Motiv ab, nicht nur ihre Renderweise (z. B. ein privater Ort,
von oben gesehen, mit niemandem darin). Benenne es in einem Satz, bevor du ein SUBJEKT schreibst;
setze Invarianten wie keine Personen, die irgendwo im Bild sichtbar sind in den SCHWANZ.
Warum es so aufgebaut ist:
- Das Bild trägt den Stil; der STAMM benennt nur, was sichtbar da ist. Beschreibe die Markierungsweise, die du sehen kannst – harte schwarze Konturlinien variabler Stärke, sichtbare ben-day Rasterpunkt-Schattierung, nur luftgebürstete mechanische Überblendungen, kein fotografisches Licht. Das Benennen der Technik verhindert, dass das Modell sie modernisiert.
- „Kopiere NICHT das Motiv... gestalte etwas Neues“ ist tragend. Ohne sie erhältst du eine Variation der Basis. Mit ihr erhältst du originale Kompositionen in der Sprache der Basis, und die besten von ihnen zitieren die Basis, anstatt sie zu wiederholen.
- Benenne Pigmente und begrenze den Akzent. Sage „klein“ speziell über den Akzent, sonst übernimmt er das Bild.
- Die Negativanweisungen sind kein Platzhalter. Die Engine fügt von sich aus einen Papier-/Riso-Rand hinzu; vier Negativanweisungen im SCHWANZ kosten nichts.
- Identischer STAMM + SCHWANZ macht die Serie vergleichbar. Jeder Unterschied zwischen den Varianten ist einer, den du gewünscht hast.
Die Subjekte müssen STANDPUNKTE sein, keine Dekorationen
Die mit Abstand wichtigste kreative Entscheidung. Vier Subjekte, die sich unterscheiden, wo die Kamera ist:
| Variante | Standpunkt | Beispiel |
|---|---|---|
| spire | Blick gerade nach oben an einer vertikalen Achse | ein Turm, der aus einem Wolkenmeer aufsteigt, sich in der Perspektive verjüngend |
| wreck | Blick über eine leere Ebene | ein halb vergrabenes Wrack, eine winzige Figur, die darauf zugeht |
| descent | Blick steil nach unten durch Wolken | ein Meer von Platten bis zu einem gekrümmten Horizont, eine Figur, die weg fällt |
| mandala | Blick auf reines Muster, kein Horizont | eine symmetrische Rosette, von Ecke zu Ecke |
Varianten werden für ihren Standpunkt geliefert: Eine vertikale Säule überlebt einen letterbox-Banner-Crop; eine einzelne Silhouette gegen den Himmel überlebt einen quadratischen Avatar-Crop. Vier Varianten, die sich nur im Inventar unterscheiden, croppen alle gleich – eine Option in vier Kostümen. Eine Idee pro Variante.
Bewerte nach dem Briefing – dann sage, welche jede OBERFLÄCHE möchte
Zwei separate Ordnungen. Bewerte ehrlich nach der Basis und benenne die Variante, die abgewichen ist; dann füge eine Zeile pro Zieloberfläche hinzu, die sagt, welche Variante diese Oberfläche möchte und warum der Crop sie so macht. Die Variante, die du in der Wiedergabetreue zuletzt bewertest, kann der richtige Banner sein. Ein niedriger Rang ist kein Veto; es ist eine Achse.
Schneide die Crops. Jede Oberfläche hat eine Geometrie.
Liefere Dateien in der Größe des Ziels, nicht der Quellvarianten.
YouTube-Kanalbanner – ein 16:9-Upload; YouTube serviert je nach Gerät einen anderen Ausschnitt.
- Gespeichert / TV: 2560x1441.
- Desktop-Leiste: 2560x424, der vertikale mittlere ~29,4 % (oben 35,3 % -> unten 64,7 %). Alles, was gesehen werden muss, lebt in diesem Band.
- Eine hohe 9:16-Variante hat etwa die dreifache Höhe, die ein 16:9-Crop benötigt: wähle das Band, akzeptiere nicht standardmäßig die Mitte.
Kanal-Avatar – quadratisch, geliefert von 900x900 bis hinunter zu 88x88. Bewerte bei 88px.
Um zurückzulesen, was ein Kanal tatsächlich ausliefert:
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36"
curl -sL -A "$UA" "https://www.youtube.com/@<Kanal>" | grep -o '"banner".\{0,400\}'
# der fcrop64-Hex-Wert besteht aus vier 16-Bit-Anteilen von 0xffff: links, oben, rechts, unten
python3 -c "h='00005a57ffffa5a8'; print([round(int(h[i:i+4],16)/0xffff,4) for i in range(0,16,4)])"
Messe für andere Oberflächen das tatsächlich ausgelieferte Asset, bevor du zuschneidest; vertraue nicht auf ein erinnertes Spezifikationsblatt.
Mechanik
- Ein eingefügtes Basisbild ist nicht auf der Festplatte. Extrahiere es aus dem Base64 des
Sitzungsprotokolls (
make-arthat das Snippet), dann betrachte es, bevor du eine 4K-Generierung auf dem falschen Bild verschwendest. - Generiere den Spread parallel, ein Shell-Aufruf pro Variante. Vier 4K-Varianten landen in etwa 2 Minuten.
--out foo.pngkann ein JPEG schreiben. Überprüfe den ausgegebenen MIME-Typ und benenne um.- Betrachte jedes Bild selbst, bevor der Benutzer es tut, und suche nach dem Papierrand, anstatt ihn zu überfliegen: asymmetrische, fast weiße Randverläufe sind Himmel oder Wolke, die den Beschnitt berühren, kein Rahmen.
Wenn es kein Basisbild gibt
Der gleiche dreiteilige Prompt funktioniert ohne Anker: Der STAMM wird zu einem Hausstil, den du definierst. Gib ihm einen thematischen Anker aus dem eigenen Material des Benutzers (eine Zitatsammlung, ein Moodboard), damit er nicht generisch ist.
Symbole und Avatare: Der Kleinformat-Test ist der einzige Test
Die Rangfolge kann zwischen voller Größe und echter Größe kippen. Erstelle das Kontaktblatt, bevor du eine Meinung hast: downscalen auf die wahre Darstellungsgröße, Kreis-Crop wie die App, dann nächste-Nachbarn-Upscaling, um zu sehen, was überlebt.
from PIL import Image, ImageDraw
for s in (110, 44, 32): # IG: Profil / DM-Zeile / Feed+Story-Ring
small = Image.open(f"{n}.jpg").convert("RGB").resize((s, s), Image.LANCZOS)
mask = Image.new("L", (s*4, s*4), 0)
ImageDraw.Draw(mask).ellipse((0, 0, s*4-1, s*4-1), fill=255)
out = Image.new("RGB", (s, s), (245, 245, 247))
out.paste(small, (0, 0), mask.resize((s, s), Image.LANCZOS))
out.resize((s*5, s*5), Image.NEAREST).save(f"{n}_{s}.png") # NEAREST = sieh die Pixel
Ein wunderschönes Bild bei 110px kann bei 44px ein unlesbarer Klecks sein. Instagram-Geometrie: quadratisch hochladen (1024x1024 funktioniert), dargestellt als Kreis, ~110px auf dem Profil, 44px in einer DM-Zeile, 32px in einem Feed- oder Story-Ring. Bewerte bei 32.
Vier Einschränkungen, die den Unterschied ausmachen, alle in voller Größe unsichtbar:
- Drei flache Farben, und nicht mehr. Jede zusätzliche Farbe ist ein Mittelton, und Mitteltöne verschmelzen.
- Nichts dünner als 1/40 des Bildes. Sage es im Prompt als Zahl.
- Das Emblem muss >=85 % der Breite füllen. Gib es in GROSSBUCHSTABEN an; sonst zentriert die Engine ein bescheidenes Zeichen auf viel leerem Grund.
- Die heiße Farbe gehört zum GRUND, nicht zu einem Glanzlicht. Ein spiegelnder Glanz ist bei 32px nichts wert; ein volles flaches Feld einer heißen Farbe stoppt einen Daumen. Metallic-Schimmer-Anweisungen lesen sich beim Verkleinern wie Matsch.
Zwei Dinge, die die Engine von sich aus hinzufügt
- Erwähne den Kreis-Crop niemals im Prompt. Sie wird den Kreis zeichnen. Sage stattdessen:
„Flacher, ununterbrochener Grund reicht bis zu allen vier Kanten des Quadrats; das Emblem befindet sich
gut innerhalb der mittleren drei Viertel“, und setze
kein Kreis, kein Ring, keine Rondelle, keine umschließende Formin den SCHWANZ. - Sie fügt eine radiale Vignette hinzu, wenn nicht verboten. Fordere „Jede Füllung absolut flach – kein Verlauf, keine Vignette, keine radiale Verdunkelung an den Ecken oder Kanten.“
Gib niemals dem Basisbild eine Urheberschaft aus einer Stilbeschreibung
Ein von dir geschriebener Stilbegriff („in der Moebius-Tradition“) ist keine Zuschreibung; lass ihn nicht flussabwärts zu einer Quellenangabe werden. Wenn eine Quellenangabe an die Öffentlichkeit geht, frage nach dem wahren Künstler. Eine falsche Quellenangabe für einen echten Künstler ist schlimmer als eine leere.
Mehr als ein Basisbild
--image ist wiederholbar, daher sind mehrere Anker möglich, aber weniger getestet. Sage im
Prompt, welches Bild was liefert („Bild 1 ist die Farb- und Liniensprache; Bild 2 ist
die Struktur“) und behandle den ersten Spread als Test.
Siehe auch
brand-direction-plates (der umgekehrte Spread: mehrere SPRACHEN bei einem Motiv) ·
make-art (die Engine, die Flags, die Paste-Extraktion, der Rand-Test).