<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Halloween AI Notes]]></title><description><![CDATA[Halloween AI Notes]]></description><link>https://halloweenainotes.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 02 Nov 2026 18:45:25 GMT</lastBuildDate><atom:link href="https://halloweenainotes.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Verwandlungsvideo aus zwei Bildern: Start- und Endbild richtig setzen]]></title><description><![CDATA[Ein kurzes Video, in dem aus einem ganz normalen Selfie ein Kostüm-Look wird, sieht aus wie ein aufwendiger Effekt. In der Praxis hängt das Ergebnis vor…]]></description><link>https://halloweenainotes.hashnode.dev/verwandlungsvideo-aus-zwei-bildern-start-und-endbild-richtig-setzen</link><guid isPermaLink="true">https://halloweenainotes.hashnode.dev/verwandlungsvideo-aus-zwei-bildern-start-und-endbild-richtig-setzen</guid><category><![CDATA[Prompt Engineering]]></category><category><![CDATA[AI]]></category><category><![CDATA[video]]></category><category><![CDATA[image to video]]></category><dc:creator><![CDATA[Pugoing]]></dc:creator><pubDate>Mon, 02 Nov 2026 03:01:30 GMT</pubDate><content:encoded><![CDATA[<p>Ein kurzes Video, in dem aus einem ganz normalen Selfie ein Kostüm-Look wird, sieht aus wie ein aufwendiger Effekt. In der Praxis hängt das Ergebnis vor allem an zwei Fragen: Welches Bild steht am Anfang, welches am Ende – und kann dein Videomodell überhaupt mit zwei Bildern arbeiten?</p>
<p>Ich habe solche Clips für mich selbst mehrmals gebaut, mit verschiedenen Image-to-Video-Modellen und einmal ganz ohne KI, nur mit Handy und Schnitt-App. Hier ist der Ablauf, der sich bei mir bewährt hat.</p>
<h2>Zwei Arten von Videomodellen</h2>
<ul>
<li><strong>Start- und Endbild (Keyframes):</strong> Das Modell bekommt zwei Bilder und erzeugt die Bewegung dazwischen. Nur so entsteht eine echte Verwandlung von Zustand A zu Zustand B.</li>
<li><strong>Ein einzelnes Startbild:</strong> Das Modell animiert ein vorhandenes Bild. Das passt, um ein fertiges Kostümporträt lebendig zu machen – Blinzeln, eine Kopfdrehung, Nebel im Hintergrund –, aber nicht für den Übergang vom Alltagsfoto zum Kostüm.</li>
</ul>
<p>Bevor du einen Prompt schreibst, schau in die Eingabemaske deines Tools: Gibt es Felder wie „Start frame“ und „End frame“ oder „First/Last frame“? Fehlt das zweite Feld, plane von Anfang an mit der zweiten Variante.</p>
<h2>Die Bilder vorbereiten</h2>
<p>Die meisten missratenen Übergänge, die mir passiert sind, lagen an den Eingabebildern, nicht am Prompt. Mein Check vor jedem Versuch:</p>
<ol>
<li><strong>Gleiches Seitenverhältnis.</strong> Beide Bilder im selben Format exportieren, etwa beide 3:4 oder beide 9:16. Sonst muss das Modell zusätzlich zoomen oder Ränder auffüllen.</li>
<li><strong>Ähnlicher Bildausschnitt.</strong> Das Gesicht sollte etwa gleich groß und an derselben Stelle sein. Frontal und ab der Brust aufwärts klappt es am zuverlässigsten.</li>
<li><strong>Zusammengehörige Bilder.</strong> Das Endbild sollte aus genau dem Selfie entstanden sein, das am Anfang steht.</li>
<li><strong>Eindeutige Dateinamen.</strong> <code>01-start-selfie.jpg</code> und <code>02-ende-kostuem.jpg</code> klingt banal, verhindert aber vertauschte Felder. Landen Start und Ende im falschen Feld, läuft die Verwandlung rückwärts.</li>
</ol>
<h2>Woher meine Prompt-Struktur kommt</h2>
<p>Beim Prompt-Text habe ich mich an veröffentlichten Beispielen orientiert. Auf der Prompt-Seite von <a href="https://halloween-ai.net/de/halloween-ai-prompts">Halloween AI</a> stehen 24 Prompts für ein <strong>Verwandlungsvideo</strong> und 24 für ein <strong>Lebendiges Porträt</strong>, jeweils auf Englisch. Laut der Seite brauchen die Verwandlungs-Prompts ein Modell, das ein Start- und ein Endbild annimmt: das Originalfoto als Startbild, das Porträt als Endbild. Die Prompts für lebendige Porträts laufen in den meisten Image-to-Video-Modellen und starten mit einem fertigen Porträt.</p>
<p>So beginnt dort der Verwandlungs-Prompt „Waldhexe: Nebelhauch“ (Auszug, Quelle: Prompt-Seite, Abschnitt „Prompts für Verwandlungsvideos“):</p>
<pre><code class="language-text">Start on the original photo. The person leans toward the camera and blows gently, as if blowing out a candle, and a thick gust of fog rushes at the lens and fills the frame.
</code></pre>
<p>Am Schluss steht die Anweisung, exakt auf dem fertigen Porträt zu enden und das Gesicht durchgehend gleich zu halten, dazu die Länge und „no text“. Genau diese Klammer aus Anfang und Ende habe ich übernommen.</p>
<h2>Ein Verwandlungs-Prompt in fünf Bausteinen</h2>
<p>Aus solchen Beispielen lässt sich eine Vorlage ableiten, die mit jedem Look und jedem Keyframe-Modell funktioniert:</p>
<ol>
<li><strong>Ausgangspunkt:</strong> „Start on the original photo.“</li>
<li><strong>Auslöser:</strong> eine Geste, die das Bild kurz verdeckt – Pusten, Fingerschnipsen, ein Umhang oder ein Stück Stoff vor der Linse. Der verdeckte Moment kaschiert den Wechsel.</li>
<li><strong>Zielzustand:</strong> Kostüm, Make-up und Umgebung in zwei, drei konkreten Details statt einer langen Liste.</li>
<li><strong>Landung:</strong> „End exactly on the final portrait.“ So passt das letzte Bild wirklich zum Endframe.</li>
<li><strong>Konstanten:</strong> „Keep the same face throughout“, die Länge in Sekunden und „no text“.</li>
</ol>
<pre><code class="language-text">Start on the original photo. [Geste], [Verdeckung füllt das Bild]. As it clears, [Kostüm, Make-up, Szene]. [kurze Aktion], then settle into the final pose. End exactly on the final portrait. Keep the same face throughout. [N] seconds, no text.
</code></pre>
<p>Ich schreibe die Prompts auf Englisch, so wie die Vorlagen, und ändere beim Anpassen immer nur einen Baustein pro Versuch. So sehe ich, was eine Änderung tatsächlich bewirkt.</p>
<h2>Die Identitätszeile gehört in den Bild-Prompt</h2>
<p>Wenn du das Kostümporträt für das Endbild selbst mit einem Bildmodell erzeugst, setze an den Anfang eine Zeile, die das Gesicht festhält, zum Beispiel:</p>
<pre><code class="language-text">Use the uploaded photo strictly as an identity reference. Keep 100% the same face, facial structure, skin tone, eye color, hairline and expression.
</code></pre>
<p>Beim Anpassen lasse ich diese Zeile stehen und ändere nur den Teil mit Kostüm und Szene. Im Video-Prompt übernimmt „Keep the same face throughout“ dieselbe Aufgabe – beide Zeilen zusammen halten Start- und Endbild als dieselbe Person zusammen.</p>
<h2>Ohne KI: der Übergang mit Handy und Schnitt</h2>
<p>Die klassische Variante braucht gar kein Modell, und ich nutze sie immer noch gern:</p>
<ol>
<li>Handy auf ein Stativ oder einen Bücherstapel stellen und den Ausschnitt nicht mehr verändern.</li>
<li>Erste Aufnahme: du im Alltagsoutfit; zum Schluss hältst du die Hand oder ein Tuch vor die Linse.</li>
<li>Umziehen, schminken, wieder an dieselbe Stelle stellen.</li>
<li>Zweite Aufnahme: Sie beginnt mit der Hand vor der Linse, die du dann wegziehst.</li>
<li>In einer Schnitt-App beide Clips im verdeckten Moment aneinanderschneiden.</li>
</ol>
<p>Das Prinzip ist dasselbe wie im Prompt: Ein kurzer Moment der Verdeckung trägt den Wechsel.</p>
<h2>Vor dem Teilen prüfen</h2>
<ul>
<li>Ist der letzte Frame wirklich das Kostümporträt, oder driftet das Gesicht kurz vorher weg?</li>
<li>Passt das Format zur Plattform? Ein 3:4-Clip wird in 9:16-Vollbildansichten beschnitten oder bekommt Balken.</li>
<li>Stimmt der Ton? Fehlt er, lässt er sich in der Schnitt-App nachlegen.</li>
<li>Verwende nur Fotos von dir selbst oder von Menschen, die zugestimmt haben.</li>
</ul>
<p>Kurz gesagt: erst den Modelltyp klären, dann die Bilder angleichen und zum Schluss den Prompt aus fünf Bausteinen bauen.</p>
]]></content:encoded></item><item><title><![CDATA[Anatomy of a Prompt That Keeps Your Face in a Halloween Costume Edit]]></title><description><![CDATA[Every reference-photo costume edit I've seen fail, fails the same way: the costume is great and the face belongs to a stranger. Most of that is prompt…]]></description><link>https://halloweenainotes.hashnode.dev/anatomy-of-a-prompt-that-keeps-your-face-in-a-halloween-costume-edit</link><guid isPermaLink="true">https://halloweenainotes.hashnode.dev/anatomy-of-a-prompt-that-keeps-your-face-in-a-halloween-costume-edit</guid><category><![CDATA[halloween]]></category><category><![CDATA[AI]]></category><category><![CDATA[image generation]]></category><category><![CDATA[Prompt Engineering]]></category><category><![CDATA[Python]]></category><dc:creator><![CDATA[Pugoing]]></dc:creator><pubDate>Wed, 28 Oct 2026 03:06:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae165f2c6dea08a3ffe894d/4cc6ab62-1eea-4e6a-8381-19858f8a856f.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every reference-photo costume edit I've seen fail, fails the same way: the costume is great and the face belongs to a stranger.</p>
<p>Most of that is prompt structure, not model luck. While reading how <a href="https://halloween-ai.net/">Halloween AI</a> works, I noticed it prints the exact prompt behind each of its ten looks on the page, with a note that you can paste one into any image model that takes a reference photo. They all share one skeleton, and it's worth stealing even if you never touch the site.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6ae165f2c6dea08a3ffe894d/c367f49d-5067-4875-97ad-7045014babfb.png" alt="Five boxes in a row: identity lock, costume, makeup, lighting, background" style="display:block;margin:0 auto" />

<h2>The five parts, in order</h2>
<p>Per the page, every selfie prompt opens with an identity lock, then covers costume, makeup, lighting and background. Here's my own example in that shape (not one of theirs):</p>
<pre><code class="language-text">Keep this exact person: same face shape, skin tone, eyes and
expression. Do not change the face.
Costume: a charcoal wool coat with a high collar and a tarnished
brass pin.
Makeup: subtle pale base, dark lips, no prosthetics.
Lighting: a single candle low and to the left, warm, soft shadows.
Background: an empty stone staircase, slightly out of focus.
</code></pre>
<p>Two habits make the difference.</p>
<p><strong>Lock the face first, and say it plainly.</strong> Put it after three lines of costume detail and the face becomes an afterthought; that's been my experience, anyway.</p>
<p><strong>Describe real objects, not vibes.</strong> The published prompts I could read say things like "a heavy moss-green crushed velvet hooded cloak with a frayed hem" and "professional Halloween skeleton face paint done by a makeup artist, practical effect, not gore". Fabric names and a "practical effect" note keep output looking like a photo of a person in a costume, not a cartoon sticker.</p>
<h2>Check the photo before it goes in</h2>
<p>Garbage reference, garbage likeness. Halloween AI takes JPG, PNG or WebP up to 10 MB and says one face looking at the camera works best, so I wrote a small pre-flight script to catch the boring problems before I burn a generation:</p>
<pre><code class="language-python">import sys
from pathlib import Path
import numpy as np
from PIL import Image

OK_FORMATS = {"JPEG", "PNG", "WEBP"}
MAX_BYTES = 10 * 1024 * 1024

def preflight(path):
    p = Path(path)
    problems = []
    if p.stat().st_size &gt; MAX_BYTES:
        problems.append("file is over 10 MB")
    with Image.open(p) as im:
        if im.format not in OK_FORMATS:
            problems.append(f"format {im.format} is not JPG/PNG/WebP")
        w, h = im.size
        if min(w, h) &lt; 640:
            problems.append(f"short side is {min(w, h)}px, aim for 640+")
        g = np.asarray(im.convert("L"), dtype=float)
    # variance of a simple Laplacian: low means soft or blurry
    lap = (-4 * g[1:-1, 1:-1] + g[:-2, 1:-1] + g[2:, 1:-1]
           + g[1:-1, :-2] + g[1:-1, 2:])
    if lap.var() &lt; 60:
        problems.append("looks soft, retake with steadier hands")
    return problems

for f in sys.argv[1:]:
    issues = preflight(f)
    print(f, "-&gt;", "ok" if not issues else "; ".join(issues))
</code></pre>
<p>Run <code>python preflight.py selfie.jpg</code>. The 640 px floor and the blur threshold of 60 are my own numbers, not the site's. I picked them by running the script on a few sample images, including a deliberately blurred copy, so treat them as a starting point and adjust for your camera.</p>
<p>It can't tell you if your eyes are open, so that part is still a human check: nothing across the face, eyes visible, soft light from a window rather than a bulb above your head.</p>
<h2>Pets need their own prompt</h2>
<p>Don't reuse the human template for a cat or dog. The pet prompts are written around the animal. The Pumpkin Pet one, for example, asks for "a real store-bought pet Halloween costume: a round orange felt pumpkin suit with soft vertical seams". Same five parts, different anchor. In my version the identity lock names the animal's markings and face, and the costume is something you could actually buy, not a fantasy creature. On the site, picking a pet look switches the uploader to pet photos.</p>
<h2>A quick loop that doesn't waste credits</h2>
<ol>
<li>Run the pre-flight script on the photo.</li>
<li>Write the five lines, shortest costume description that still names real fabrics.</li>
<li>Generate once. Compare against the original, not against the costume you pictured.</li>
<li>If the face drifted, tighten the identity line and change nothing else. Changing three things at once tells you nothing.</li>
</ol>
<p>On Halloween AI, each portrait costs 1 credit and the first one is free, and failed generations are refunded. If you roll your own pipeline, that same discipline applies: one variable per attempt.</p>
<p>The part I keep coming back to is how little of this is about the model. Five short lines, a decent photo, and changing one thing at a time will take you further than a longer prompt will.</p>
]]></content:encoded></item></channel></rss>