Gemini 4: Eine 3D-Kinosequenz in Blender aus einem einzigen Prompt vibe-coden
Von einem Prompt zur Blender-Kinosequenz in vier Einstellungen
Eine zwölfsekündige Sequenz klingt nach wenig. In Blender ist es eine Menge Arbeit – Inszenierung, Keyframes, Kamerafahrten, Tiefenschärfe und ein Blatt Papier, das sich wie Papier biegen muss, nicht wie Stoff. Das meiste davon passiert Klick für Klick im Viewport.
Also haben wir die ganze Aufgabe einem Agenten gegeben. Mit Gemini 4 in Eigent hat ein einziger Prompt die Cozy-Kitchen-Szene in eine Kinosequenz aus vier Einstellungen verwandelt. Ein Luftzug hebt ein Rezeptblatt von seinem Ständer, trägt es durch die Küche und legt es über ein Erdbeertörtchen. Gemini 4 hat das Blender-Fenster nie geöffnet. Es hat Blender-Python geschrieben, headless ausgeführt, seine eigene Arbeit geprüft und korrigiert, was es gefunden hat.
Der gesamte Workflow auf einen Blick
Du bringst die Szene und das Briefing mit. Gemini 4 erledigt den Rest über die Kommandozeile. Jede Phase hinterlässt eine Datei, sodass du die Arbeit an jedem Punkt überprüfen kannst.
| Phase | Was passiert | Was du bekommst |
|---|---|---|
| Lesen | Szene headless öffnen und Aufgabendaten laden | Ein Testrender vom Startpunkt des Blatts |
| Inszenieren | Rezeptständer, Gardinenstange und Windhinweise hinzufügen | Ein Set, in dem der Luftzug eine sichtbare Quelle hat |
| Bauen | Das Rezeptblatt modellieren und texturieren | RecipePage, ein dünnes, beidseitiges Blatt mit selbst gemalter Rezeptkarte |
| Animieren | Einen Pfad durch den Korridor und eine Drapierung über das Törtchen legen | Ein flüssiger Flug und eine gestützte Ruhefalte |
| Drehen | Vier Kameras platzieren und an die Schnitte binden | Ein Schnitt in vier Einstellungen mit Tiefenschärfe in 2 und 3 |
| Prüfen | Jede Regel des Briefings messen und Fehler beheben | Ein erneut ausführbares Prüfskript in work/ |
| Übergeben | Standbilder und Storyboard rendern, Shotlist schreiben | sequence.blend, shotlist.csv, storyboard.png und neun Standbilder |
So machst du es selbst, Schritt für Schritt – inklusive einer Sache, die wir beim nächsten Mal anders einrichten würden.
Was du am Ende hast
- Ein bearbeitbares Blender-Projekt –
sequence.blend, 13 MB, mit allen Bildern gepackt und ohne verknüpfte Bibliotheken. Öffne es und arbeite weiter. - Eine Shotlist –
shotlist.csv, eine Zeile pro Einstellung, mit Framebereich, Kamera und Aktion. - Ein Storyboard –
storyboard.png, neun beschriftete Panels mit 640×480 in einem 3×3-Raster. - Neun Standbilder – Frames 1, 48, 73, 120, 145, 192, 217, 264 und 288.
- Ein Video und eine Vorschauseite –
sequence.mp4undpreview.html, aus einer kurzen Folgeanfrage.
Bevor du loslegst
- Eigent auf deinem Rechner installiert.
- Gemini 4 – über Eigent Cloud oder mit deinem eigenen Gemini-API-Key.
- Blender auf demselben Rechner. Gemini 4 steuert es über die Kommandozeile und braucht daher nie das Fenster. Wir hatten Blender 5.2 LTS installiert. Die Aufgabe liefert außerdem ein Docker-Image mit fest eingestelltem
bpy5.2.2, falls du lieber in einer Sandbox arbeitest. - Das Aufgabenpaket. Unseres ist das „recipe-page mishap“ aus unseren 3D-Coding-Umgebungen:
| Datei | Was sie dem Agenten gibt |
|---|---|
PROMPT.md | Das Briefing – die einzige Nachricht, die du sendest |
agent_environment/input/kitchen.blend | Die vorbereitete Cozy-Kitchen-Szene |
agent_environment/input/subjects.json | Welche Objekte das Erdbeertörtchen bilden |
agent_environment/input/action.json | Den Startpunkt des Blatts und seinen Flugkorridor bei Frame 120, 168 und 192 |
agent_environment/input/presentation.json | Einstellungen für Standbilder und Storyboard |
agent_environment/input/source_overview.png | Eine Vorschau der unveränderten Szene |
agent_environment/scripts/ | presentation.py (rendert Standbilder und Storyboard) und review.py |
Gemini 4 auswählen
In Eigent Cloud – kein API-Key nötig:
- Öffne auf dem Startbildschirm die Modellauswahl unter dem Eingabefeld.
- Wähle unter Eigent die Option Gemini 4 Argon.
Mit deinem eigenen Gemini-API-Key:
- Öffne Settings → Models.
- Suche Gemini und öffne die Einstellungen.
- Füge deinen API key ein.
- Setze den model type auf
gemini-4-argon. - Klicke auf Save und wähle das Modell dann unter Gemini in der Modellauswahl.
Die Standard-Denkintensität funktioniert. Wir haben es als Single Agent mit Full access laufen lassen, damit es Blender ausführen und Dateien schreiben konnte, ohne nachzufragen.
Projektordner einrichten
Erstelle in Eigent ein Projekt und verweise auf einen Ordner, der zwei Dinge enthält:
showcase-kitchen-draught/
PROMPT.md
agent_environment/
input/ # kitchen.blend, subjects.json, action.json, presentation.json, source_overview.png
scripts/ # presentation.py, review.py
Lass alles andere draußen – vor allem einen Grader, Referenzläufe oder Notizen zu früheren Ergebnissen. Warum, erklären wir weiter unten.
Prompt einfügen
Kopiere das Briefing unten in das Eingabefeld Cowork with und sende es unverändert.
Animate the recipe-page mishap
Create a twelve-second cinematic in /app/input/kitchen.blend: a draught lifts a recipe page, carries it across the work area and leaves it draped on the strawberry tartlet identified in /app/input/subjects.json. Preserve the warm illustrated kitchen. Show the calm setup, motivated lift, flight, contact and settling through four connected shots, with visible, consistent wind clues and readable page motion.
## Action and photography
- Scene Sequence runs at 24 fps, frames 1–288, with camera-bound cuts at 1, 73, 145 and 217. Preserve visible source surfaces, material identity and world transforms within 2 mm; keep existing set pieces visible. Add the page, wind clues and staging as needed.
- RecipePage is an editable thin two-sided sheet, 0.13–0.17 m long and 0.09–0.12 m wide, with 100–12,000 native vertices, finite UVs and readable recipe marks.
- Use /app/input/action.json for the start plane and flight corridor. At frame 1, the page is within 10 mm of the start plane and its centroid within 20 mm of the start point. Through frame 48 the centroid stays within 8 mm of its initial pose; by 120 it moves at least 0.10 m. At frames 120, 168 and 192 it follows the corridor within 35 mm.
- Page centroid motion is at most 16 mm per frame, with successive displacement changes at most 5 mm. After best rigid alignment with frame 1, shape deformation is at least 4 mm RMS at one flight frame and 2 mm RMS at rest. Show convincing paper flutter, stiffness and supported contact folds, without penetration or stretched print.
- Throughout frames 241–288, at least 15% of page surface samples are within 8 mm of the actual selected strawberry-tartlet surface. Centroid variation over 264–288 is at most 3 mm; surface motion from 276 to 288 is at most 4 mm.
- Use four distinct cameras. Shot 1 may be orthographic; shots 2–4 use 35–85 mm perspective lenses. Shots 2 and 3 use depth of field focused within 25 mm of the page centroid at each shot's start, midpoint and end.
- At frames 120, 168, 192 and 264, frame the page in front of the active camera within the central 80%, with projected height 8–65% of the image. Within shots, camera motion is at most 25 mm and 4° per frame, with translation changes at most 8 mm; cuts are exempt.
- Compose purposeful shots with coherent screen direction, controlled focus, anticipation and a clear final reveal. Avoid disconnected poses, arbitrary camera moves or unreadable action.
## Handoff
Save sequence.blend, shotlist.csv, storyboard.png and stills/frame_NNN.png for frames 1, 48, 73, 120, 145, 192, 217, 264 and 288 in /app/output. The CSV columns are shot,start,end,camera,action, matching the native four-shot edit. Use labelled 640×480 panels in a 3×3 storyboard. Stills and storyboard match the saved scene under /app/scripts/presentation.py CPU settings with luminance SSIM ≥0.93; use that helper or equivalent images.
Keep the native project editable and below 192 MiB, with finite nondegenerate geometry, all used material/world images packed and no linked libraries. It must replay with Python auto-execution disabled; native constraints and ordinary driver expressions are allowed. Keep /app/input unchanged; use /app/work for work files. Blender Python, headless rendering and command-line tools are available.
Der Prompt wurde für einen Docker-Container geschrieben, daher beginnen seine Pfade mit /app. Auf unserem Mac hat Gemini 4 sie selbstständig dem Projektordner zugeordnet – agent_environment/input, work/ und output/.
Ein paar Teile dieses Briefings leisten die Hauptarbeit:
- Zahlen statt Adjektive. „Mach es filmisch“ ist eine Stimmung. „Innerhalb von 35 mm vom Korridor bei Frame 168“ ist ein Ziel, das der Agent messen – und treffen – kann.
- Story-Beats, nicht nur Regeln. Ruhiger Auftakt, motiviertes Abheben, Flug, Kontakt, Zur-Ruhe-Kommen. Die Zahlen halten die Bewegung ehrlich – die Beats machen eine Geschichte daraus.
- Die Küche bewahren. Ausgangsobjekte bleiben innerhalb von 2 mm, mit intakten Materialien. Der Agent ergänzt die Szene – er baut sie nicht neu.
- Eine echte Übergabe. Eine gepackte, bearbeitbare
.blend, die sich mit deaktivierter Python-Autoausführung abspielen lässt. Eine Datei, die du morgen öffnen und weiter animieren kannst.
Den Agenten arbeiten lassen
Sende den Prompt. Gemini 4 plant die Aufgabe und arbeitet sie dann in Blender-Python ab. Unser Lauf dauerte etwa 50 Minuten, vom ersten Dateizugriff bis zum abschließenden Selbstaudit. Das hat es gebaut, der Reihe nach:
- Die Szene gelesen. Es hat
kitchen.blendheadless geöffnet, die Törtchen- und Korridordaten geladen und eine Testansicht des Startpunkts gerendert. - Das Set inszeniert. Ein kleiner hölzerner Rezeptständer unter dem Startpunkt und eine Gardinenstange quer über dem Küchenfenster.
- Windhinweise hinzugefügt. Eine Gardinenschärpe, Satinbänder und ein Anhänger am Ständer – alle wehen in dieselbe Richtung, damit der Luftzug eine sichtbare Quelle hat.
- Das Blatt erstellt.
RecipePagemisst 0,136 × 0,094 m mit 1.218 Vertices, beidseitig, mit einer selbst gemalten Rezeptkarte – „Recipe No. 14, Strawberry Tartlet“. Die Notizen des Kochs enden mit einer Zeile, um die wir nicht gebeten hatten: „Keep recipe cards away from open kitchen window draughts!“ - Die Bewegung geplant. Ein flüssiger Pfad durch die Korridor-Checkpoints, dann eine Ruhedrapierung, angepasst an die tatsächliche Oberfläche des Törtchens.
- Vier Kameras platziert. 42 mm für den ruhigen Auftakt, 48 mm mit Tiefenschärfe bei f/5.6 für das Abheben, eine 52-mm-Verfolgungseinstellung für den Flug und eine 58-mm-Hero-Einstellung für die Landung. Timeline-Marker binden jede Kamera an ihren Schnitt bei Frame 1, 73, 145 und 217.
- Die eigene Arbeit geprüft. Es hat für jede messbare Regel des Briefings ein Prüfskript geschrieben, es ausgeführt und behoben, was es gefunden hat. Die bedruckte Seite des Blatts neigte sich von der Kamera weg, also hat es den Neigungswinkel umgedreht. Es hat der Gardine Falten hinzugefügt, das ruhende Blatt von den benachbarten Törtchen weggerückt und die letzte Kamera für eine klarere Enthüllung angehoben.
- Übergeben. Es hat Standbilder und Storyboard mit
presentation.pygerendert,shotlist.csvgeschrieben und ein abschließendes Audit durchgeführt – jedes Ausgangsobjekt vorhanden, unbewegt und mit seinen ursprünglichen Materialien.
Die Shotlist lesen
Öffne output/shotlist.csv – vier Einstellungen, eine pro Kamera:
| Einstellung | Frames | Kamera | Aktion |
|---|---|---|---|
| 1 | 1–72 | Cam_Shot1 | Ruhiger Auftakt am hölzernen Rezeptständer, während die Fensterbänder im aufkommenden Luftzug wehen und das Rezeptblatt anheben |
| 2 | 73–144 | Cam_Shot2 | Der Luftzug trägt das flatternde Rezeptblatt vom Ständer hinauf in den hohen Flugkorridor |
| 3 | 145–216 | Cam_Shot3 | Das Blatt saust über die Arbeitsfläche der Küche und gleitet auf die zweistöckige Etagere zu |
| 4 | 217–288 | Cam_Shot4 | Das Blatt setzt auf und kommt als steifer, gestützter Bogen über dem Erdbeertörtchen zur Ruhe |
Öffne dann storyboard.png. Neun Bilder erzählen die ganze Geschichte auf einen Blick – das Blatt in Ruhe, beim Abheben, auf dem Weg durch die Küche und beim Niederlassen über dem Törtchen.
Die Zahlen prüfen
Das Prüfskript von Gemini 4 bleibt in work/, sodass du es jederzeit erneut auf das gespeicherte Projekt anwenden kannst. Das hat es an unserer finalen sequence.blend gemessen:
| Prüfung | Vorgabe im Briefing | Ergebnis |
|---|---|---|
| Startpunkt bei Frame 1 | innerhalb von 20 mm | 1,03 mm |
| Ruhige Phase bis Frame 48 | höchstens 8 mm Drift | 6,69 mm |
| Zurückgelegte Strecke bis Frame 120 | mindestens 0,10 m | 0,152 m |
| Flugkorridor bei Frame 120, 168, 192 | innerhalb von 35 mm | 0,00 mm |
| Geschwindigkeit des Blatts | höchstens 16 mm pro Frame | 9,35 mm |
| Flattern im Flug | mindestens 4 mm RMS | 11,07 mm |
| Kontakt mit dem Törtchen, Frames 241–288 | mindestens 15 % des Blatts | 22,9 % |
| Blatt durchdringt das Törtchen | nie | 0 überlappende Dreiecke |
| Zur-Ruhe-Kommen, Frames 264–288 | höchstens 3 mm | 0,37 mm |
| Fokus der Tiefenschärfe, Einstellungen 2 und 3 | innerhalb von 25 mm vom Blatt | 0,19 mm oder weniger |
| Schnellste Kameradrehung | höchstens 4° pro Frame | 0,71° |
Das sind die eigenen Prüfungen des Agenten gegen das Briefing. Das Aufgabenpaket enthält außerdem einen separaten Grader – 23 gemessene Regeln plus einen visuellen Juror, der Story, Handwerk und Papier-Finish bewertet. Wenn du eine offizielle Bewertung willst, führe grader/grade.sh nach dem Lauf selbst auf der Ausgabe aus – außerhalb des Agentenordners.
Abspielen
Das Briefing verlangt ein Blender-Projekt, kein Video. Also haben wir im selben Projekt eine Folgenachricht geschickt und Gemini 4 gebeten, die Sequenz als MP4 mit einer Browser-Vorschau zu exportieren.
Zurück kamen sequence.mp4 – 288 Frames, 640×480 H.264, 3 MB – und preview.html. Die Vorschauseite spielt die Kinosequenz mit Live-Frameanzeige ab, springt per Klick zu jeder der vier Einstellungen und zeigt darunter das komplette Storyboard.
Was wir anders einrichten würden
Unser Projektordner enthielt mehr, als der Agent brauchte. Neben PROMPT.md und agent_environment/ lagen dort auch die README.md der Aufgabe, ihr grader/ und ihre reference_runs/ von früheren Modellen.
Das ist relevant. Das Prüfskript von Gemini 4 testet den Druck des Blatts gegen eine Dehnungsgrenze von 5 %. Diese Zahl steht nicht im Prompt – sie steht in der README, neben Notizen dazu, woran frühere Läufe gescheitert sind. Die Skripte von Gemini 4 haben den Grader und die Referenzläufe nie gelesen, aber man kann davon ausgehen, dass die README seine Zielwerte beeinflusst hat.
Betrachte unseren Lauf also als Showcase, nicht als Benchmark-Ergebnis. Für einen fairen Test gibst du deinem Agenten genau zwei Dinge – PROMPT.md und agent_environment/ – und hältst den Grader außer Sichtweite.
Mach es zu deinem eigenen
Das gleiche Muster funktioniert für jede Blender-Szene:
- Geschmack in Zahlen übersetzen. Bildausschnitt, Geschwindigkeiten, Fokusdistanzen, Kontakt. Messbare Ziele lassen deinen Agenten sich selbst prüfen, bevor du überhaupt auf Play drückst.
- Einen Korridor vorgeben. Ein paar Checkpoints in einer JSON-Datei lenken die Aktion, ohne dass du einen einzigen Frame von Hand keyen musst.
- Eine echte Übergabe verlangen. Eine gepackte, bearbeitbare
.blend, eine Shotlist und ein Storyboard. Du bekommst ein Projekt, an dem du weiterarbeiten kannst – nicht nur ein Render. - Prüfen lassen. Der beste Moment unseres Laufs: Gemini 4 bemerkte, dass die bedruckte Seite seines Blatts von der Kamera weg zeigte – und korrigierte es, bevor wir es je zu sehen bekamen.
Zwölf Sekunden Animation bedeuteten früher einen Nachmittag im Viewport. Heute ist es ein einziger Prompt – und ein Projekt, das du öffnen, anpassen und zu deinem eigenen machen kannst.
Credits: erstellt mit Gemini 4 und Eigent. Szene: „Cozy Kitchen“ (Blender-3.5-Splashscreen) von Nicole Morena, CC-BY-SA – die abgeleitete Szene und die Renderings behalten die Namensnennung und die ShareAlike-Bedingungen bei. Briefing und Aufgabendaten: Originalarbeit von Eigent. Musik: „Quirk n Twerk“ von The Soundlings (YouTube Audio Library).



