← Alle columns

Van één beeld naar een film: The Last Seed

Een organisch schip, een koerier en één levend zaad. Een complete maakproef met Blender, ComfyUI en DaVinci Resolve, van karakterblad tot montage.

Nara draagt een zandkleurige kap en een warm oplichtende polscapsule in een verweerde ruimte

H3-referentiebeeld van Nara, de koerier in The Last Seed.

Video via YouTube, met verbeterde privacymodus. Open op YouTube.

Een immens schip schuift over de kromming van een woestijnplaneet. De huid lijkt gegroeid: donkere ribben, smalle amberkleurige openingen, iets tussen een fossiel en een levend lichaam. Het beeld heeft schaal en sfeer. Het zou een opening kunnen zijn.

Maar een opening waarvan?

Die vraag werd het begin van The Last Seed. Een korte sciencefictionfilm over Nara, een koerier die het laatste levende zaad naar een verlaten wereld brengt. Niet de omvang van het schip, maar de kwetsbaarheid van wat zij bij zich draagt, moest het verhaal bepalen.

Deze maakproef volgt de hele keten: verhaal, personage, storyboard, referentiebeelden, camerawerk in Blender, beeld en geluid in ComfyUI, opschaling en een montage in DaVinci Resolve. Hieronder staat per stap wat het gereedschap deed, wat vastgelegd moest worden en waar een technische mogelijkheid nog geen geslaagd resultaat was.

Vooraf: de bestaande werkplaats

Deze proef draait op een Linux-pc met een RTX 3060 met 12 GB videogeheugen en circa 64 GB werkgeheugen. De gebruikte programma’s zijn ComfyUI 0.43.0 in Docker, Blender 5.2.1 en DaVinci Resolve 21 Free. NVIDIA-containerondersteuning geeft ComfyUI toegang tot de GPU. De modellen blijven in een blijvende map buiten de containerimage; invoer, uitvoer en workflows hebben ieder een eigen blijvende map.

De ComfyUI-dienst is alleen bereikbaar op 127.0.0.1:8188 van de GPU-pc. Voor bediening vanaf de laptop loopt een tijdelijke SSH-tunnel naar die lokale poort. Er is voor deze proef geen publieke ComfyUI-server geopend.

De vijf bestanden voor de gebruikte H3-route staan onder de modelmap:

  • diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors
  • text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
  • vae/minimax_h3_video_vae_fp16.safetensors
  • vae/minimax_h3_audio_vae_fp32.safetensors
  • loras/minimax_h3_turbo_v4_step600_ema_pruned_comfyui.safetensors

VideoHelperSuite laadt de Blender-preview als videoreferentie. De NVIDIA VFX-nodes leveren later Video Super Resolution. De modelgewichten zitten niet in de workflowdownload: zij komen uit hun eigen bron, onder de bijbehorende voorwaarden.

De bewaarde API-grafieken verwijzen naar relatieve invoerbestanden, bijvoorbeeld the-last-seed/character.png. Die horen dus in de ingestelde ComfyUI-inputmap, in de overeenkomstige submap. Een API-grafiek is iets anders dan een canvasbestand: de runner verpakt hem als {"prompt": graph, "client_id": "..."} voor /prompt en bewaart daarna het ontvangen opdracht-ID. De bundel bevat de scripts en uitleg voor de gebruikte route.

1. Eerst een klein verhaal in een grote wereld

De oorspronkelijke ruimtevaartscène bleef het vertrekpunt. We zochten een filmische taal van monumentale schaal, een lage zon, donkere vormen en trage beweging. De verwijzing naar Dune was een richting voor sfeer en beeldgewicht. Het schip, de koerier en het verhaal zijn eigen ontwerpen.

De handeling is eenvoudig. Een schip bereikt een dode planeet. Nara verlaat de bescherming van het schip met een klein polsdoosje. Daarin gloeit een zaad. Ze steekt het zand over, knielt bij een stenen kom en geeft het zaad aan de grond. Een eerste spriet verandert de betekenis van het landschap.

Door die boog vooraf te kiezen, kreeg ieder volgend beeld een taak. Het schip toont de schaal. Het doosje maakt de opdracht zichtbaar. De oversteek kost moeite. Het planten is een beslissing. De spriet is een antwoord.

De verhaalboog met aankomst, het zaad en het eerste nieuwe leven

Verhaalboog: van de enorme wereld naar het kleine voorwerp dat haar betekenis verandert. Deze productiecategorie is een overzicht van de geplande handeling, geen opname van een spel of bestaande film.

2. Een personage dat tussen shots herkenbaar blijft

Voordat Nara in een scène verscheen, kreeg zij een karakterblad. ComfyUI gebruikte daarvoor MiniMax H3 Ref2VA: hetzelfde model dat later de bewegende scènes zou maken. De still-route genereerde een korte reeks van vijf frames; het eerste beeld werd als afbeelding opgeslagen.

Het karakterblad is gemaakt op 1344 × 768 pixels. De belangrijke kenmerken zijn concreet: een praktische zandkleurige kap en mantel, donkere kleding, handschoenen en een rond warm oplichtend doosje aan de pols. Dat zijn houvasten voor de volgende beelden. Een naam alleen is voor een beeldmodel geen betrouwbare identiteit.

Het doel van zo’n blad is niet om ieder detail vast te zetten. Het bepaalt welke details herkenning dragen. Bij Nara zijn dat haar gezicht, de omtrek van de kap, het kleurverschil tussen mantel en pak en het lichtpunt bij haar hand.

Het karakterblad van Nara met meerdere aanzichten en haar kenmerkende kleding en polsdoosje

Het H3-karakterblad van Nara: gezicht, kleding, aanzichten en polscapsule worden vóór de bewegende shots vastgelegd.

3. Een storyboard geeft mooie beelden een volgorde

Daarna kwam een storyboard met zes kernmomenten: aankomst, koerier, zaad, oversteek, offer en ontwaken. De beelden maken de handeling al leesbaar zonder beweging of gesproken uitleg.

Dat is een nuttige proef. Wanneer een verhaal alleen begrijpelijk wordt door een lange prompt naast ieder beeld, is de volgorde nog niet helder genoeg. Het storyboard liet zien waar een close-up nodig was en waar juist ruimte moest blijven. Na het enorme schip komt een mens. Daarna pas zien we wat zij beschermt.

Bij het opbouwen van de montage kreeg de reeks een extra nadering van het schip, gebaseerd op de Blender-beweging. Het storyboard is een afspraak over de ontwikkeling van het verhaal, geen verplicht aantal fragmenten.

Het zesdelige storyboard van The Last Seed

Het productieboard met de zes verhaalmomenten. De stilstaande beelden maken de volgorde leesbaar voordat de videoshots worden beoordeeld.

Bekijk het storyboard op volledig formaat.

4. Referentiebeelden zijn afspraken over continuïteit

Voor ieder kernshot werd in ComfyUI een eigen referentiebeeld gemaakt op 1536 × 640 pixels. Het karakterblad, het oorspronkelijke ruimteschip en de omschrijving van het shot hielden de reeks bij elkaar.

De polscapsule is een goed voorbeeld. In de close-up moet zij hetzelfde voorwerp blijven als bij Nara’s hand in het overzichtsbeeld. De kleur van de handschoen, het ronde deksel en de gloed geven het model meer houvast dan de losse instructie “hetzelfde zaad”.

Referenties hebben ook een keerzijde. Ze kunnen hun oorspronkelijke stijl te sterk doorgeven. Daarom wordt in iedere prompt benoemd wat een beeld bepaalt: de identiteit van het personage, de vorm van het schip, de compositie of de sfeer. Die functies zijn niet uitwisselbaar.

Vergelijking van de referentiebeelden voor de koerier, de polscapsule en het planten

Drie echte referentiebeelden naast elkaar: kleding, handschoen en capsule vormen de visuele verbinding tussen afzonderlijke shots.

5. Blender maakt de camera tastbaar

Een tekstprompt kan “een trage camerabeweging” vragen. Blender maakt die beweging zichtbaar en controleerbaar.

Voor deze proef is een eigen scène gebouwd met een geribd organisch schip, een gekromde planeet, een gemotiveerde zonrand en een bewegende camera. Een tweede opstelling bevat woestijnvormen, een stenen holte en een eenvoudige koerier-proxy. Die grijze figuur is blokkeerwerk voor maat en positie; zij vervangt het karakterontwerp niet.

De bewerkbare .blend bevat zes benoemde camera’s. Het orbitale camerashot loopt 107 frames bij 24 beelden per seconde: ongeveer 4,46 seconden. De werkresolutie is 768 × 320, met een verhouding van 2,4:1. Die brede uitsnede is vooraf gekozen, zodat de compositie niet achteraf uit een willekeurig beeld hoeft te worden gesneden.

Een gerenderde Blender-previz van het organische schip en de gekromde planeet

Gerenderde Blender-previz. De eenvoudige geometrie legt schaal en compositie vast; de afgewerkte oppervlakken worden later met H3 uitgewerkt.

Drie echte frames uit de in Blender berekende orbitale camerabeweging

Begin, midden en einde van de Blender-preview. De verplaatsing geeft een concretere referentie dan alleen het woord “cinematisch”.

6. Van een ComfyUI-grafiek naar een herhaalbare opdracht

De rendergrafieken zijn bewaard als JSON. Ze verbinden model, tekstencoder, referenties, sampler, beelddecoder, audiodecoder en video-uitvoer. Voor de stills wordt één frame opgeslagen; voor de videoshots gaan beeld en geluid samen naar een MP4.

De gebruikte videoroute is MiniMax H3 Ref2VA, de pruned int8-versie, met Turbo v4 en vier generatiestappen. De tekstencoder staat op automatische CUDA-selectie met dynamische offloading. Daardoor hoeft het hele grote model niet tegelijk in het videogeheugen van de RTX 3060 te passen. Werkgeheugen, overdracht en modelonderdelen blijven wel meetellen.

De zes nieuwe clips gebruiken 768 × 320 pixels, 107 frames en 24 fps. Dat zijn de instellingen van deze proef, geen algemene kwaliteitsgrens van H3 en geen garantie voor de snelheid van een andere opdracht.

Een samengevat schema uit de daadwerkelijk gebruikte ComfyUI-APIgrafiek

Samengevat schema uit 01-video-with-blender-api.json, de werkelijk gebruikte API-grafiek. Dit is een diagram van de nodeverbindingen, geen software-schermafbeelding. Klik voor de grote versie.

Bekijk het workflowschema op volledig formaat.

7. Ieder videofragment moet iets veranderen

Een referentiebeeld wordt pas een shot wanneer er tijd in komt. In de prompt staat daarom een tijdlijn die doorloopt tot het laatste frame. De camera houdt één beweging aan. De handeling blijft klein genoeg om in enkele seconden leesbaar te zijn.

Nara hoeft in een korte clip geen hele reis uit te spelen. Eén stap uit de schaduw, het openen van het doosje of het aanraken van de aarde kan voldoende zijn. De samenhang ontstaat later tussen de shots.

Alle zes nieuwe videoscènes zijn met stereogeluid gegenereerd. Bij de controle zijn meerdere frames bekeken: blijven gezicht, handen, capsule en ruimterichting geloofwaardig? Het deksel van de polscapsule blijft deels open; bij het planten bedekt de handschoen een deel van de handeling. Die beperkingen bleven zichtbaar in de gekozen takes.

Begin-, midden- en eindframe uit een daadwerkelijk gegenereerd videoshot

Beeldcontrole van een echte H3-clip. Stilstaande vergelijkingen helpen om vervormingen te vinden die tijdens afspelen gemakkelijk voorbijgaan.

8. Geluid verdient een eigen controle

H3 genereert in deze route beeld en geluid in dezelfde opdracht. Toch wordt de audiotrack afzonderlijk gecontroleerd op aanwezigheid, duur en niveau. Een MP4 kan technisch een audiostream bevatten en praktisch bijna stil zijn.

De scene-audio en de muziek krijgen verschillende taken. Voetstappen, zand, kleding en de lage aanwezigheid van het schip horen bij de wereld. Muziek kan de aandacht door de montage dragen. Naast de scene-audio zijn een aparte stemregel en een korte instrumentale drone met H3 gegenereerd. De stemopdracht bevat de regel “One seed. One world.” Die tekst beschrijft de opdracht en is geen gecontroleerde transcriptie van de uitvoer. De stemtest is apart bewaard en wordt niet in de uiteindelijke montage gebruikt. De echte scene-audio gaat als afzonderlijke WAV-bestanden naar de eerste audiolaag in Resolve.

De golfvorm van de afzonderlijk gegenereerde H3-stemregel

Golfvorm van het echte H3-stembestand. Een wortelschaal maakt zachte delen beter zichtbaar; de audio zelf is hiervoor niet veranderd. Deze afzonderlijke stemtest staat buiten de uiteindelijke filmmix.

Voor de score is Refracted van Simon Folwar, via Uppbeat, gekozen en met een accountlicentie gedownload. De muziekcredit staat bij de film en onderaan dit artikel; het bronbestand blijft buiten de downloadbundel. Voor een aanvullende ruimtelaag is ook Cinematic Space Ambience van Epic Stock Media via Uppbeat gedownload. Die laag klinkt onder de eerste twee ruimteshots. De muziek heeft een opbouw, een zachter midden en fades aan begin en einde; de scène-effecten houden hun eigen laag.

De bijgesneden Uppbeat-pagina’s voor Refracted van Simon Folwar en Cinematic Space Ambience van Epic Stock Media

De echte, bijgesneden Uppbeat-weergaven voor muziek en ruimtelijke ambience. Alleen openbare trackinformatie is zichtbaar; account- en licentiebeheer blijven buiten beeld.

9. Opschalen zonder een nieuwe film te verzinnen

De lage werkresolutie maakt het mogelijk om eerst de scène te beoordelen. Daarna kan NVIDIA Video Super Resolution detail voor de grotere montage leveren. De vergelijking moet steeds hetzelfde frame gebruiken; anders beoordelen we ongemerkt twee verschillende momenten.

Alle zeven clips zijn met de NVIDIA VSR-node op Medium 2× verwerkt. De zes nieuwe scènes gingen van 768 × 320 naar 1536 × 640 pixels. Het hergebruikte openingsbeeld had een andere verhouding: 672 × 384 werd 1344 × 768. Die afwijking moet in de montage bewust worden ingepast. De uitkomst is dus geen volledige 4K-productie.

Hetzelfde frame vóór en na de werkelijk uitgevoerde NVIDIA-opschaling

Dezelfde uitsnede uit frame 53, op gelijke weergaveschaal: links het bronbeeld van 768 × 320, voor vergelijking vergroot met Lanczos; rechts de daadwerkelijke VSR-uitvoer van 1536 × 640. Instelling: Medium 2×.

10. De montage moet echt in Resolve bestaan

De laatste proef is DaVinci Resolve 21 Free op Linux. Een extern Python-proces gaf op deze machine geen bruikbaar Resolve-object terug. Daarom is de interne Lua-console gebruikt, via de voor deze taak expliciet gekozen bediening van het programma. Daarvoor is geen nieuwe externe scriptingtoegang aangezet.

Het import- en montagescript heeft een taak-eigen project en een echte tijdlijn aangemaakt. Broncontroles en bescherming tegen het overschrijven van een bestaande export horen bij die route. DNxHR-tussenbestanden vormen de montagebron. Dat voorkomt dat een bestandsnaam met .mp4 ten onrechte als bewijs van ondersteunde import wordt behandeld.

De definitieve tijdlijn duurt 34 seconden: 816 frames bij 24 fps. Een titel van drie seconden wordt gevolgd door zeven shots van vier seconden en een eindkaart van drie seconden. De volgorde is baan rond de planeet, nadering, Nara, polscapsule, oversteek, planten en ontwaken. De scène-effecten, score en ruimte-ambience staan op drie afzonderlijke audiotracks.

De controle van het geëxporteerde FCPXML-bestand vond een fout die in een snelle blik op de tijdlijn gemakkelijk onzichtbaar blijft. Onze eerste scriptversie liet gaten van één frame vallen. In deze Resolve-build bleek de opgegeven eindframegrens exclusief. De herstelde tijdlijn is opnieuw geëxporteerd: exact 816 frames, aansluitende shotposities en nul gaten. Het bewerkbare DRP-project bewaart die gecorrigeerde montage.

De daadwerkelijke Resolve-tijdlijn met de opeenvolgende shots en gescheiden audiolagen

De echte Resolve-tijdlijn van dit project, met opeenvolgende shots en afzonderlijke audiolagen.

Bekijk de tijdlijn op volledig formaat.

11. Kleur en geluid maken van losse shots een reeks

Een reeks beelden met dezelfde kap en hetzelfde schip kan nog steeds uit elkaar vallen. De ene schaduw kan koel zijn, de volgende oranje. Een overgang kan inhoudelijk kloppen en toch te veel geluidsdruk veroorzaken.

Daarom worden richting van licht, verzadiging, huid, zwartpunt en audiobalans in de montage naast elkaar beoordeeld. Niet ieder shot hoeft identiek te zijn. De oversteek mag harder voelen dan het moment bij de spriet. De verandering moet alleen bij het verhaal horen.

Vergelijking van de warme planeet, Nara's zandkleurige kleding en het eerste groen in drie echte videoframes

Drie frames uit de opgeschaalde videorenders naast elkaar: amber, zand en houtskool verbinden de shots; groen verschijnt bij het ontwaken. Dit is een vergelijking van de beelden, geen schermafbeelding van een kleurcorrectie-interface.

Bekijk de beeldcontrole op volledig formaat.

Uitsnede van de echte Resolve-tijdlijn met scène-effecten, score en ruimte-ambience op drie sporen

Uitsnede uit de echte Resolve-interface: de zeven scène-effectclips op A1, de score op A2 en de ruimte-ambience op A3. De uiteindelijke mix volgt de posities van deze sporen.

Bekijk de audiolagen op volledig formaat.

12. Exporteren, terugkijken en het proces bewaren

De export bleek een afzonderlijke technische proef. Resolve wees eerst een uitvoermap buiten zijn toegestane media-opslag af. Daarna bleef export met beeld en PCM-geluid op nul procent hangen. Dat gebeurde ook via de gewone Deliver-interface. De precieze oorzaak daarvan is niet vastgesteld.

Een korte ProRes-test met alleen beeld werkte wel. De volledige beeldmontage is vervolgens echt vanuit Resolve als ProRes geëxporteerd: 1920 × 800 pixels, 24 fps, 816 frames, exact 34 seconden. Het geluid is met FFmpeg samengevoegd op basis van de negen audioclips en hun posities in het definitieve FCPXML-bestand: zeven scène-effectclips, de score en de ruimte-ambience. De beeldmontage is daarbij niet opnieuw geknipt. De PCM-mix heeft een gemeten piek van −7,8 dBFS, zonder clipping.

Deze beeldmaster en mix vormen samen de masterfilm. Daaruit wordt de H.264/AAC-MP4 voor YouTube gemaakt. Zo blijven de bewerkbare Resolve-montage, de daadwerkelijke beeldexport en de aparte geluidsafwerking controleerbaar.

De definitieve MP4 is gecontroleerd: H.264, 1920 × 800, 24 fps en 816 frames; AAC-stereogeluid op 48 kHz, eveneens 34 seconden. De gemeten audiopiek blijft −7,8 dBFS. Zwarte intervallen komen alleen voor in de bewuste fades van de titel en eindkaart. De zeven verhalende shots bevatten geen zwarte frames.

De film staat verborgen op het SoL-o-MoN-kanaal, met Engelse titel, beschrijving en eigen thumbnail. De speler bovenaan deze pagina toont diezelfde versie. Bij de publicatie zijn het AI-gebruik en de muziekcredit aangegeven; de voorafgaande YouTube-controles meldden geen problemen.

De daadwerkelijke exportinstellingen en geslaagde uitvoer van dit Resolve-project

De exportinstellingen en de gecontroleerde uitvoer van dit project.

Voor de videopublicatie is ook een aparte YouTube-thumbnail gemaakt.

Download de workflowbundel voor The Last Seed.

De gecontroleerde ZIP bevat 63 bestanden, circa 18,2 MB: API-grafieken, runners, karakter- en referentiebeelden, het storyboard, de bewerkbare Blender-bron, het definitieve Resolve-project, FCPXML, EDL en de scripts voor titelkaarten, geluid en export. De gebruiksinstructies beschrijven de benodigde paden en het opnieuw koppelen van media. Modelgewichten en de ruwe gelicentieerde muziek en SFX haal je bij hun eigen bron. Het archief bevat geen accountgegevens of credentials.

Wat bleef er over van het eerste beeld?

Het organische schip is nog steeds indrukwekkend. Toch werd het interessanter toen het iets kleins moest dragen.

De gereedschappen maakten beelden, bewegingen en bestanden mogelijk. Het verhaal vroeg telkens om een keuze: wat moet hetzelfde blijven, wat mag veranderen en welk moment verdient de aandacht? Het karakterblad hielp bij herkenning. Blender maakte de camera concreet. ComfyUI gaf tijd aan de beelden. De montage bepaalde wanneer we van het enorme naar het kwetsbare kijken.

Een klein groen puntje in het zand kan dan meer gewicht krijgen dan een schip boven een planeet.

Bronnen en workflowbasis

De workflowverkenning begon bij Mickmumpitz’ gratis H3-workflowpack en de bijbehorende video. De zeven originele canvasworkflows zijn geïnstalleerd. Deze film gebruikt daarnaast eigen, bewaarde API-grafieken voor de beschreven productiestappen; dat betekent niet dat ieder pad van alle zeven oorspronkelijke workflows afzonderlijk is getest.

De downloadbundel bevat alleen het vrij te delen projectmateriaal dat voor deze maakproef is samengesteld. De betaalde voorbeeldarchieven van Mickmumpitz, modelgewichten en ruwe muziek- of SFX-bestanden worden niet meegedistribueerd. Voor modellen en muziek blijven de voorwaarden van de betreffende bron gelden.

Muziek: Refracted — Simon Folwar, via Uppbeat. Music on #Uppbeat: Simon Folwar. Licentiecode voor deze film: 68JSXF62QIVC96LG. Aanvullende ruimte-ambience: Cinematic space ambience — Epic Stock Media, via Uppbeat.