ComfyUI Node

SceneGen - MusicVideo

Feed it a song, get a finished AI music video — and a bill

By lazniak·Created 10 months ago·Updated 10 months ago· 4
SceneGen - MusicVideo
  • audio
  • reference_images
  • Environment Images
  • Asset Images
  • Actor Images
  • Scene Start Frames
  • Analysis (S1)
  • Style (S2)
  • Palette (S3)
  • Assets (S4)
  • Montage (S5)
  • Prompts (S6)
  • Start Frames Info (S7)
  • Motion Refinement (S8)
  • Timeline Data (S9)
  • Generation Status (S10)
  • Stitching Info (S11)
  • Cost Data (JSON)
  • Final Video Path
gemini_api_keyYour_Api_key_Here
replicate_api_tokenYour_Api_key_Here
prompt_instructionDescribe a scene matching the music.
filename_prefixscene_gen
fps24.0
render_modeFull Render
model_textgemini-3-pro-preview
model_imagegemini-3-pro-image-preview
creativity0.8
dynamicity0.7
video_qualityMedium
aspect_ratio16:9
resolution_multiplier1.0
enable_prompt_expansiontrue
save_segmentstrue
save_imagestrue
save_assetstrue
gemini_concurrency10
replicate_concurrency15
use_wan_fastfalse
use_wan_2_5false
use_kling_turbofalse
use_omni_humanfalse
use_hailuofalse
use_hailuo_fasttrue
use_veo_3_1false
use_veo_3_1_fastfalse
aggressive_edittrue
word_influence0.7
save_edltrue
open_coffee_linktrue
dialogues_genfalse
open_reporttrue
mix_native_audiofalse
audio_volume1.0
video_volume1.0
normalize_audiofalse
use_raw_referencesfalse
verification_iterations0
api_timeout280

This node does the thing you've daydreamed about while scrubbing Wan clips: drop a song in, get a finished, beat-synced music video out the other end. Not a workflow you stitch together - a whole production pipeline in one node, from lyric analysis to the final .mp4. It's the most ambitious API-wrapper node I've seen in ComfyUI, and the most expensive one you'll ever queue.

Scene Gen is the work of an independent dev, Paul Lazniak, and it's a small, obscure pack with almost no community chatter - read this before you hit queue. Everything below applies to its twin, SceneGen - Movies, too.

What it actually is

SceneGenMusicVideoNode is a pure cloud pipeline in a node. Google's Gemini 3 Pro does the "thinking" - it listens to your audio, writes the visual plan, designs assets, and generates start frames. Replicate runs the actual video models: Wan 2.5, Kling v2.5 Turbo, Hailuo 2.3, Veo 3.1, and OmniHuman. You need two API keys, one for each service. No models download to your machine.

The framing from the external-api-nodes playbook: the "model isn't on your machine" move, every one of these video models a closed, pay-per-call service. The cost is real, and it's what people underestimate most.

How the 11-stage pipeline works

When you queue it, the node walks stages S1–S11, watchable live in the HTML report (open_report, on by default). The shape:

  • S1–S5 (analysis): the raw audio goes to Gemini as WAV bytes, which analyzes genre, mood, lyrics, and structure, then produces a style, a color palette, and a montage cut to the song's timing.
  • S4 (assets): Gemini's image model generates consistent environments, props, and character sheets before "filming" starts.
  • S7 (start frames): each shot gets an AI-generated first frame to animate from.
  • S9–S11 (production): every shot goes to Replicate, comes back, gets trimmed to the timeline, and is stitched and muxed with your original audio. Optionally you get a CMX 3600 .edl for Premiere or DaVinci Resolve.

That EDL export is the sleeper feature - rare in a ComfyUI node, and it means the result isn't a dead end.

The inputs that matter

Most of the 40+ inputs have sane defaults. These change the result:

  • audio - connect a standard Load Audio node. WAV or MP3 both work.
  • gemini_api_key / replicate_api_token - paste your keys here. The placeholder literally reads Your_Api_key_Here; if you leave it, the run dies on the first auth call.
  • prompt_instruction - your one-line art direction ("a neon cyberpunk chase", "a calm nature documentary"). With enable_prompt_expansion on (default), Gemini turns it into full shot prompts.
  • creativity, dynamicity, word_influence - the three creative sliders. word_influence is the fun one: 1.0 visualizes lyrics literally ("fire" shows fire), −1.0 ignores words for pure vibe.
  • render_mode - the cost control. Full Render spends Replicate money. Prompt Mode runs to the start frames, skips Replicate, and makes a slideshow instead - your free way to test a track.
  • The use_* model toggles - here's a trap: only use_hailuo_fast is on by default. Wan, Kling, Veo, OmniHuman are all off until you flip them. Want Veo 3.1? Enable it yourself.

Outputs

The four image outputs - Environment Images, Asset Images, Actor Images, Scene Start Frames - are the art direction as previewable tensors. The S1–S11 strings are the audit trail, JSON explaining every decision. The two that matter downstream: Timeline Data (S9) feeds the pack's Scene Gen Data Extractor (the free local-render trick), and Final Video Path points at your finished .mp4. Watch Cost Data (JSON), too.

Install

ComfyUI Manager → search "Scene Gen", or the manual way:

cd ComfyUI/custom_nodes
git clone https://github.com/lazniak/scene_gen.git
cd scene_gen
pip install -r requirements.txt

Then restart ComfyUI. Dependencies are light - google-generativeai, numpy, scipy, replicate, requests - and there are no model files to fetch. Get the Gemini key from Google AI Studio and the Replicate token from your account settings.

Where people get burned

  • The bill. Every shot is a separate Replicate job, and aggressive_edit (on by default) may generate extra footage to hit the beats - a 3-minute song can mean dozens of paid clips. Veo and Kling are the priciest. Test in Prompt Mode first.
  • The coffee tab. open_coffee_link (on by default) opens the author's Buy Me a Coffee page after every run. Turn it off.
  • Timeouts. api_timeout defaults to 280 seconds; long analyses can exceed it on slow connections. Bump it before blaming the node.
  • It's a phone-home node. It holds your keys and sends your audio and prompts to Google and Replicate by design - same posture as every API wrapper, and this category has shipped malware before. Install from the official repo.
  • License. It's custom and non-commercial, so don't sell the output.
CategorySceneGen/MusicVideo

Inputs (42)

NameTypeDefaultDescription
audioAUDIOThe input audio file (WAV/MP3) to analyze and generate video for.
gemini_api_keySTRINGYour_Api_key_HereYour Google Gemini API Key. Required for analysis and prompt generation.
replicate_api_tokenSTRINGYour_Api_key_HereYour Replicate API Token. Required for video generation models.
prompt_instructionSTRINGDescribe a scene matching the music.Main instruction for the AI. Describe the desired mood, style, story, or specific visual elements.
filename_prefixSTRINGscene_genPrefix for all generated files (video, images, logs).
fpsFLOAT24.01–120Frame rate of the final output video.
render_modeCOMBOFull RenderFull Render: Generates video using Replicate. Prompt Mode: Generates prompts and assets, then creates a slideshow from start frames (skips Replicate).
model_textSTRINGgemini-3-pro-previewGemini model used for text analysis, scripting, and prompting.
model_imageSTRINGgemini-3-pro-image-previewGemini model used for generating start frames and assets.
creativityFLOAT0.80–10.0 = Strict adherence to prompt. 1.0 = High hallucination/creative freedom.
dynamicityFLOAT0.70–10.0 = Slow, static, contemplative shots. 1.0 = Fast cuts, high movement, intense action.
video_qualityCOMBOMediumControls resolution and quality settings for video models. High = 1080p (where available), Medium = 720p/768p, Low = 480p.
aspect_ratioCOMBO16:9Aspect ratio of the generated video.
resolution_multiplierFLOAT1.00.5–2Scales the resolution of generated start frames.
enable_prompt_expansionBOOLEANtrueIf True, the AI will expand your simple instructions into highly detailed visual prompts.
save_segmentsBOOLEANtrueIf True, saves every individual video clip generated by Replicate to the output folder.
save_imagesBOOLEANtrueIf True, saves the start frame images generated by Gemini.
save_assetsBOOLEANtrueIf True, saves the generated asset images (characters, props, environments).
gemini_concurrencyINT101–50Max parallel requests to Gemini API.
replicate_concurrencyINT151–50Max parallel video generation jobs on Replicate.
use_wan_fastBOOLEANfalseEnable Wan 2.5 Fast model.
use_wan_2_5BOOLEANfalseEnable Wan 2.5 Standard model.
use_kling_turboBOOLEANfalseEnable Kling v2.5 Turbo model.
use_omni_humanBOOLEANfalseEnable OmniHuman model (good for realistic human movement).
use_hailuoBOOLEANfalseEnable Hailuo 2.3 model.
use_hailuo_fastBOOLEANtrueEnable Hailuo 2.3 Fast model.
use_veo_3_1BOOLEANfalseEnable Google Veo 3.1 model.
use_veo_3_1_fastBOOLEANfalseEnable Google Veo 3.1 Fast model.
aggressive_editBOOLEANtrueIf True, forces fast-paced editing with cuts strictly on beat. Generates full clips but trims them aggressively.
word_influenceFLOAT0.7-1–11.0 = Literal visualization of lyrics. -1.0 = Ignore lyrics, focus on vibe/atmosphere. 0.0 = Balanced.
save_edlBOOLEANtrueIf True, exports a CMX 3600 .edl file for importing the timeline into Premiere Pro/DaVinci Resolve.
open_coffee_linkBOOLEANtrueSupport the creator! Opens Buy Me a Coffee page after generation.
dialogues_genBOOLEANfalseEnable dialogue generation for supported models (Veo3, Wan 2.5). Prevents trimming of dialogue shots.
open_reportBOOLEANtrueOpens a live HTML report that updates in real-time during generation.
mix_native_audioBOOLEANfalseIf True, mixes the audio generated by the video models (if any) with the input audio.
audio_volumeFLOAT1.00–2Volume level for the user input audio (1.0 = 100%).
video_volumeFLOAT1.00–2Volume level for the generated video audio (1.0 = 100%).
normalize_audioBOOLEANfalseIf True, applies loudness normalization to the final mixed audio.
use_raw_referencesBOOLEANfalseIf True, only generates assets that are NOT present in the provided reference images.
verification_iterationsINT00–3Number of verification passes to refine start frames against references. 0 = disabled, 1-3 = iterative improvement.
api_timeoutINT28060–600Timeout in seconds for all Gemini API calls across all stages. Default: 280 seconds (4.5 minutes).
reference_imagesoptIMAGEOptional images to use as references for style, characters, or environments.

Outputs (17)

NameTypeDescription
Environment ImagesIMAGE
Asset ImagesIMAGE
Actor ImagesIMAGE
Scene Start FramesIMAGE
Analysis (S1)STRING
Style (S2)STRING
Palette (S3)STRING
Assets (S4)STRING
Montage (S5)STRING
Prompts (S6)STRING
Start Frames Info (S7)STRING
Motion Refinement (S8)STRING
Timeline Data (S9)STRING
Generation Status (S10)STRING
Stitching Info (S11)STRING
Cost Data (JSON)STRING
Final Video PathSTRING