CivArchive
    One prompt → one song → a two-scene music video (YuE2 × MiniMax H3) - v6.0
    Preview 146417940

    Score to Screen — One prompt → one song → a music video (YuE2 × MiniMax H3)

    Write one prompt and pick your images. You get an original song made with YuE2 and a music video made with MiniMax H3. The singer lip-syncs, the band plays along with the music, and every scene change lands exactly on a bar line.

    • v6.1 Simple: 1–4 scenes that can continue one into the next (⛓) with the same main character in every scene (🧑), a low-memory join (💾 each scene saved to a file), the prompt LLM inside ComfyUI (no LM Studio needed), a 🎞 timeline editor that shows what was found in the song and lets you fix it by hand, 🔬 a frame-by-frame sync check of the finished video against the song, scene transitions, optional hand check of the prompts before H3

    • Older versions on this page: v6.0 Simple, v5.9 Simple, v4.1 Simple (1–4 scenes, LM Studio) and v3.9 Simple (2 scenes)

    Each version comes in ONE download: the workflows (English + Japanese) and the custom nodes. Only a few switches; everything else is automatic, or set to the values that worked best.

    New in v6.1 (2026-10-22): measure the sync. 🔬 After a run, open the 🎞 Timeline and press "🔬 Sync check": step through the finished MV or a scene's "H3 only" video one frame at a time (each frame is taken straight from the file and numbered), mark where the mouth really starts moving or the stick really comes down, and see how early or late it is against the song, both as H3 was told and as you see and hear it in the finished MV (🎚 A/V sync taken in). Marks are kept per video, so seeds, prompts and settings can be compared with numbers instead of a feeling. It only looks: nothing is changed and no AI is used. v6.0 added ⛓ scenes that continue, 🧑 one main character and 💾 a low-memory join; see the version history at the bottom.

    About this workflow

    This is a personal, experimental workflow. It started from wanting to make songs with YuE2 and have MiniMax H3 move in time with them, and from wondering whether a short, simple prompt could be expanded by a local model (such as Gemma 4) into prompts tuned for H3.

    For the local LLM, I recommend a model that can understand images (a vision-capable model), but which model you use is entirely up to you.

    Because it grew out of experiments, some features may seem odd and some things may not behave as expected. Please treat it as something to experiment with, not a finished tool. If that sounds interesting to you, give it a try!

    このワークフローについて

    これは個人的な実験として作っているワークフローです。YuE2 で曲を作り、その曲に H3 の動きを合わせたい。そして短く簡潔に書いたプロンプトを、Gemma 4 などのローカルで動かすモデルで H3 向けに最適化できないか試してみたい。そんな思いから始まりました。

    ローカル LLM は画像を理解できるモデルをおすすめしますが、どのモデルを使うかはご自由に選んでください。

    実験の積み重ねでできているので、変わった機能があったり、思った通りに動かないところもあります。完成品ではなく、あくまで実験目的での使用をおすすめします。こういったことに興味のある方は、ぜひ試してみてください。

    ⚠ THE CUSTOM NODES ARE NOT IN COMFYUI MANAGER

    It is normal that Manager can't find them. They are inside the download: unzip it, then copy the 4 folders from custom_nodes/ into ComfyUI/custom_nodes/ (see QUICK START).

    "Image Saver Save Video" comes from ComfyUI-Video-Saver (by diodiogod), NOT from ComfyUI-Image-Saver.

    In Manager use "Install via Git URL": https://github.com/diodiogod/ComfyUI-Video-Saver

    Searching "Image Saver" in Manager finds the image-only package, which has no video node. If it is installed, remove it (the node names overlap).

    🎬 WHAT IT DOES

    • One prompt, two models: a local LLM splits your prompt into YuE2 style tags and lyrics, plus an H3 video prompt for each scene

    • 🧠 LLM inside ComfyUI (NEW in v5): put a GGUF (the same files LM Studio uses) in ComfyUI/models/LLM/ and pick it. It runs on llama.cpp's official llama-server, downloaded automatically the first time, started only for the split and stopped right after, so YuE2 and H3 keep their VRAM. The default, Qwen3-VL-4B-Instruct Q4_K_M (about 3.3 GB, sees your images), downloads itself on the first run. Hugging Face models (transformers) and LM Studio (also on another PC) still work

    • 🎞 Timeline (NEW in v5.5): the 🎞 Timeline button at the bottom left opens a video-editor style strip. Drop an image file on a scene clip, drag a clip's right edge for its seconds, drop a song file on the audio track and drag it sideways to choose where it starts, click ◆ for the transition, ▶ Play to check the flow with the stills and the song. It edits the same node settings, so nothing else changes

    • 🔎 Analysis on the timeline (NEW in v5.7): under the waveform, what the last run found, in video seconds: 🎬 the real cuts, camera shots and sections, 🎤 when each singer sings, 🥁 every drum hit coloured by drum (▼ = the drums come in; from STRUM, Demucs or the score), 🎻 when the strings are heard, 🎹 piano key strikes. Players the audio can't check (guitar, bass) are marked "no audio check". It reloads after every run

    • 💾 Kept with the song (NEW in v5.9): the analysis is saved in song seconds as <song>.s2s.json next to the song (copy it along with the song and its .abc to another PC). The same song again, any start and any scene lengths: the scenes are cut from it and STRUM / Demucs are skipped. A new render of the same score (another vocals seed) keeps its own analysis and hand edits. Parts not analysed are marked. Picking a pre-made song shows its analysis on the timeline at once; "🔎 Analyse this song" analyses just the song (no LLM, no H3) in ComfyUI's queue, never at the same time as a run; hand edits are saved with the song, come back when it is picked again and come off for another song

    • ✎ Fix it by hand (NEW in v5.8): drag the analysis on the timeline. 🎤 singing and 🎻 strings spans: drag the ends (start / stop) or the middle (move), double-click an empty spot to add one, a span to delete it. 🥁 ▼: drag for when the drums come in. From the next run, the H3 cues (sing / wait with lips closed, bow up / down, drums in) follow your marks, only where the scenes had an analysis when you drew; the rest stays as analysed. Strings can be drawn in songs with vocals too, where there is no audio check. ↺ = back to the analysis. Mouse wheel = zoom (0.1 s ruler, finer drags), Space = play / stop (v5.8.1)

    • 🔬 Sync check (NEW in v6.1): on the 🎞 Timeline, pick a run and a video (the finished MV or a scene's "H3 only" video) and step it frame by frame (← → one frame, Shift + ← → one second; the frame comes straight from the file, "frame 68 / 288"). 📍 Mark where singing, drums, strings or piano really start or stop (or one drum hit) and for whom (S1–S4). The error against that run's music analysis is shown in seconds and frames, as H3 was told and as the finished MV plays (A/V sync taken in), and the marks sit on their own lane under the analysis (the music moment each is measured against as a pink line). ⚠ on marks inside a crossfade or dip. Marks keep the video and the frame and stay after a restart; a video made again is another video

    • 🎞 Scene transitions (NEW in v5.5): cut / crossfade / dip to black / dip to white at each scene change. The video length never changes, so the song and the lip sync stay in step. From v6.0 the crossfade keeps the scene before moving while it dissolves (it uses the frames H3 made past the cut)

    • ✍ Prompt check (NEW in v5.4): auto = the prompts go straight to H3. manual = the run pauses after the prompt split and a window opens with one text box per scene: fix anything, press ▶ Continue, and H3 runs with your text

    • One song, several scenes: YuE2 writes a single song. H3 renders each scene (1–4) from its own image, and the scenes are joined while the song plays straight through (no audible seam)

    • ⛓ Scenes that continue (NEW in v6.0): for each of scenes 2–4 choose own picture (a separate shot) or continue: the frame right after the cut of the scene before is anchored as H3's first frame (H3's own Add Guide), so positions, poses, the place and the light go on across the cut. Handoff: 1 frame, or 5 frames to carry the direction of the motion too. A continuing scene needs no picture (picture 1 is used as the look). On the 🎞 timeline the ⛓ under each cut toggles it (blue = continues), the clip shows "⛓ continues 1", and the panel below has Start and ⛓ handoff for the selected scene

    • 🧑 One main character (NEW in v6.0): a picture of the main character (face, hairstyle and clothes clearly visible) goes to every scene as <Picture 2>, with a line to keep the same face, hairstyle and clothes. Pick it in its own group above the scene pictures (with a preview), or with the 🧑 button on the timeline. Best together with ⛓

    • 💾 Low memory (NEW in v6.0): each scene is written to temp/s2s_scenes/ the moment it is decoded, and the final mp4 is joined from the files one frame at a time, with 🔍 super resolution 24 frames at a time. Only one scene's frames are in RAM at any point. Disk: up to about 1 GB per scene (1280×720, 15 s), cleared when ComfyUI starts

    • 📺 Join report (NEW in v6.0): frames per scene, how each scene started (own picture, or ⛓ with the frames asked, available and really used) and the RAM / VRAM peak of the join and of each scene's decode

    • ⏳ Prompts first (NEW in v5.3): every scene's prompt is read before any scene is drawn, so H3's text encoder and the H3 model are swapped once per run instead of once per scene. Same pictures, less waiting with more scenes

    • The score drives the picture: YuE2 also writes an ABC sheet-music plan. The workflow reads its tempo, time signature and chords, then turns them into timed cues in each scene's H3 prompt

    • Bar-accurate cuts: every scene change snaps to the start of a bar

    • Band performance: write who plays what ("the white-haired woman plays the drums") and each player gets cues

    • 🥁 Drum sync: an on-screen drummer follows the song's real drums (STRUM if installed, then the Demucs drum stem, then the score)

      • A steady beat H3 can draw: one stick taps the hi-hat on every beat, the other comes down onto the snare on beats 2 and 4, the right foot plays the kick

      • One stick in each hand, drums that come in later (the drummer waits through a guitar intro), kick-only intros and single crash hits

      • Fill or no fill: a short fill, a big fill, or just one kick + crash (no made-up tom fill where STRUM heard none)

      • Kit layout: tells H3 where the snare, hi-hat, crash, toms and ride are, as seen from the drummer's seat (standard / left-handed / off)

      • The song is transcribed once; the later scenes reuse it, even after a ComfyUI restart

    • 🎹 Piano sync: an on-screen pianist follows the real key strikes (STRUM + Basic Pitch, optional)

    • 🎤 Waiting performers (NEW in v5.6): H3 tends to make anyone holding a microphone sing and anyone holding an instrument play. A performer who doesn't sing / play yet is told the posture and until when ("S1 keeps the lips closed and does not sing until 00:12.000"), and the LLM's words that make them start too early become that posture. The singing start can also be set by hand (vocal_in). The singer is found from "who sings", "vocalist", "singer", "lead vocals" and (v5.8) "S1 ... while singing" / "S1 sings ..."

    • 🎻 Violin sync: an on-screen violinist (viola, cello) plays only while the strings are really heard, and keeps the violin down with the bow off the strings while they are silent. Automatic for instrumental songs

    • 🔍 Super resolution (NEW in v5.2, optional): NVIDIA RTX Video Super Resolution enlarges and sharpens the finished video just before the song is put on. H3 is not run again, so movement, lip sync and timing don't change. From v6.0 it runs 24 frames at a time while the scenes are joined from their files. Off by default

    • 🎚 Even loudness: every song is brought to -16 LUFS with a peak limiter

    • Singing on screen: auto / yes / no. A song can have vocals while nobody on screen lip-syncs

    • Instrumentals: write "Instrumental." The lyrics are removed, the melody moves to an instrument, and everyone's mouth stays closed

    • Skips the intro automatically: vocal onset detection (Demucs) starts the clip just before the singing

    • Use your own songs: load a song you made earlier (with its .abc score), or "(newest song in output/)", and ▶ Start at any second (the chorus, for example)

    • A/V sync: H3's motion lags the sound by about 0.2 s, so the final audio is shifted to match (adjustable)

    • Run log inside the workflow: 📺 Runs so far adds one line per run (video name, seeds, steps, memo), also saved as a CSV

    • Civitai-ready output: the MP4 is saved with metadata (all scene prompts, YuE2 style and lyrics, H3 + YuE2 model hashes)

    ⚠ The singing, drum, piano and violin cues are hints

    These features only give H3 hints: when to wait, when to sing or come in, where to hit. H3 decides how the scene is finally drawn, so it may not always follow them. The player may start a little early, keep playing through a rest, or hit the wrong drum. Results vary from seed to seed, so if a take doesn't look right, try another seed. Shorter scenes and fewer camera changes also make the cues easier to follow.

    歌・ドラム・ピアノ・バイオリンの機能は、H3 に「いつ待つか・いつ歌う/入るか・どこを叩くか」のヒントを出すだけです。最後にどう描くかは H3 しだいなので、いつも思った通りになるとは限りません。うまくいかない時は seed を変えて何回か試してみてください。

    ⚙️ HOW IT FLOWS

    • Prompt Splitter (LLM, inside ComfyUI): makes the YuE2 style and lyrics, plus one H3 prompt per scene

    • YuE2: writes the ABC score, then sings the song (skipped when you pick a pre-made song)

    • Loudness + vocal onset: evens out the volume, trims the song, cuts the scenes on bar lines

    • ABC Timing: adds tempo, chord, band, drum, piano and violin cues to each scene's H3 prompt

    • ✍ Prompt check: straight on (auto), or a pause to fix the prompts by hand (manual)

    • H3 ref2va: reads every scene's prompt first, then renders each scene from its image (⛓ a continuing scene waits for the scene before and starts from its frames; 🧑 every scene gets the character picture)

    • 💾 Each scene is saved to a file as soon as it is decoded. 🎞 The scenes are joined from the files frame by frame (with an optional transition and 🔍 super resolution), the song is laid over them, and the video is saved

    • 🔬 Afterwards, if you like: the Sync check on the 🎞 Timeline measures how well the finished video follows the song

    The internals are packed into subgraphs. Day to day, you only touch the scene columns (or the 🎞 Timeline), the 🧑 / ⛓ group above them, the 🎛 switches and, if you like, the 🧠 LLM settings.

    🎛 THE SWITCHES

    • ⚡ Turbo: fast drafts (off = 20 steps)

    • 🎤 On-screen singing: auto / yes / no

    • 🥁 Drum sync: auto / off (piano sync follows this switch too)

    • 🎵 Song delay: seconds of silence at the start of the video

    • 🎵 Song only: makes just the song; H3 and all video saving are skipped

    • 🎬 Scene count: 1–4

    • ✍ Prompt check: auto / manual (timeout_min: continue by itself after N minutes, 0 = wait)

    • 🎞 Scene transition: cut / crossfade / dip to black / dip to white, seconds (0.5 s)

    • 🔍 Super resolution: off / rtx (scale 1.5, quality ULTRA, strength 1.0)

    • 🧑 Character picture: (none) / a picture (<Picture 2> in every scene)

    • ⛓ Scene 2 / 3 / 4 start: own picture / continue, handoff 1 frame / 5 frames (also on the 🎞 Timeline)

    • 🧠 LLM settings: gguf (default) / transformers / lm_studio, model, GPU layers, context size

    Seeds (video, vocals, score) can be locked separately in the 🎲 Seed details group. One video seed is used for all scenes of a run, so one number brings back the whole video. Rarely used settings live in 🔧 Details:

    • bar snapping (keep fps at 24: H3 makes 24 fps video, and from v6.0 any other value stops before the run)

    • drum cue style (simple / detailed), when the drums come in (auto / start / a second in the song), kit layout, 🎤 when the singing comes in (auto / a second in the song), ✎ timeline marks (the singing / strings spans drawn on the timeline; filled in by the timeline)

    • A/V sync

    • song volume: even loudness (-16 LUFS, on by default) + optional volume curve

    📦 REQUIREMENTS

    Custom nodes (my own, included in the download):

    • ComfyUI-PromptSplitter v3.2: prompt split (lyrics in the language you ask for) with the LLM inside ComfyUI (GGUF / transformers / LM Studio), vocal onset (the separated vocals kept per song), song loudness. Run pip install demucs in ComfyUI's Python

    • ComfyUI-ABCTiming v2.45: score → rhythm, band, drum, piano and violin cues, waiting cues for the singer and players, the analysis for the timeline (kept with the song), and the spans you fix by hand

    • ComfyUI-ABCInstrumentalize v1.5: instrumental score and bar-snapped scene cuts (1–4 scenes, 24 fps check)

    • ComfyUI-ABCScoreIO v1.42: switches, scores, pre-made / newest song, run log, A/V sync, scene pictures, ⛓ scene continuity, 🧑 character picture, 💾 low-memory join from files with 📺 report, 🎞 transitions and timeline (with 🔎 analysis, 🔎 analyse-only, ✎ hand fixes kept with the song), ⏳ prompts first, ✍ prompt check, 🔍 super resolution, 🔬 sync check (frames read with PyAV, which comes with ComfyUI)

    Other custom nodes:

    Models:

    • diffusion_models: minimax_h3_ref2va_pruned_int8_convrot

    • loras: minimax_h3_ref2v_turbo_4step (⚡ Turbo)

    • text_encoders: qwen3vl_32b_minimax_h3_nvfp4_awq

    • vae: minimax_h3_video_vae_fp16, minimax_h3_audio_vae_fp32

    • checkpoints: yue2_3b_bf16 (default) or yue2_3b_int8_convrot (lighter)

    • LLM: models/LLM/ (any GGUF; put its mmproj file in the same folder so it can see your images). The default Qwen3-VL-4B-Instruct Q4_K_M downloads itself

    LLM: no LM Studio needed any more. Nothing to pip install or compile: llama.cpp's llama-server is downloaded from GitHub the first time (CUDA build on NVIDIA, otherwise Vulkan). A vision model (Qwen3-VL, Gemma 4 …) with its mmproj is recommended so the LLM can see your images. Big MoE models can keep their experts on the CPU (extra_args, e.g. --n-cpu-moe 9). LM Studio on this or another PC still works: set backend to lm_studio.

    Disk: free space for temp/ (up to about 1 GB per scene while a run is going; cleared when ComfyUI starts). The 🔬 marks are small files in output/score2screen_sync/.

    Optional: STRUM, for more precise drum and piano sync. A setup guide is included. Without it, the workflow uses Demucs or the score.

    🚀 QUICK START

    1. Download and unzip. Inside: workflows/, custom_nodes/ and a README (English + Japanese)

    2. Copy the 4 folders inside custom_nodes/ into ComfyUI/custom_nodes/ (not one folder deeper). Updating? Replace the old folders, and reload the page after restarting (Ctrl+F5)

    3. Install ComfyUI-Video-Saver via Git URL, and pip install demucs in ComfyUI's Python. Restart ComfyUI

    4. Drag a workflow from workflows/ onto the canvas. Leave 🧠 LLM settings at the default (the first run downloads llama.cpp and the model once), or pick your own GGUF in models/LLM

    5. In the scene 1 column write the scene AND the song (mood, genre, vocals or "Instrumental."). Later scenes: the scene only

    6. Set the 🎬 scene count, then fill the columns left to right: image, seconds and text for scenes 1 → 4. Width / height are in ① Shared. Or open the 🎞 Timeline and drop your images onto the clips

      • Optional: a 🧑 character picture and ⛓ continue for the scenes that should go on from the one before (the group above the scene pictures, or the ⛓ under each cut on the Timeline)

    7. Run. Want to read the prompts first? Set ✍ Prompt check to manual: the run pauses after the split so you can fix them. Check the 📺 previews afterwards: the scene cut, the detected start, the prompts H3 got, and Runs so far

    8. Optional: open the 🎞 Timeline and press 🔬 Sync check. Step to where the singing or the drums really start and press 📍 Mark here to see how early or late H3 was

    💡 TIPS

    • Prompts can be in any language the LLM reads (English, Japanese, Russian ...). Add "Lyrics in Russian." (or any language) to choose the lyric language; without it the lyrics follow the language of your description

    • For a band, always write who plays what

    • ⛓ For a clean join, leave the continuing scene's picture at (none) (picture 1 is used as the look), or use a picture of the same people and place. A very different picture can pull against the frame handed over

    • ⛓ alone can drift a little in the face over several scenes: add a 🧑 character picture with the face, hairstyle and clothes clearly visible

    • The 📺 join report tells you whether a 5-frame handoff really happened (it falls back to 1 frame when H3 made fewer frames past the cut)

    • Don't want someone (or a pet) to sing? Say so in the scene text ("the dog doesn't sing"): the LLM sometimes writes "... and singing" for everyone on screen

    • Guitar and bass have no audio check (the timeline says "no audio check (from the score)"): their cues come from the score. Drums, piano and violin are checked against the real song

    • Guitar intro before the drums? Leave "drums come in" on auto with drum sync on, or type the second in the song

    • Drummer images: a kit with a cymbal low beside the snare on the drummer's left works best (it is played as the hi-hat)

    • Violinist: H3 tends to start playing when the camera cuts to a close-up of the player. Put the close-up where the violin comes in

    • ✍ Prompt check (manual) is also a quick way to compare LLMs: look at the prompts, then ✖ Cancel before H3 runs

    • A take looks wrong? Open the 🎞 Timeline first. If the 🔎 analysis is off (the singing, the strings or the drums at the wrong time), drag it right there (✎) and run again. If the analysis is right but H3 didn't follow it, try another seed, a picture in a waiting pose, or a shorter scene

    • 🔬 Compare takes with numbers: mark the same moments (the first sung word, the first drum hit) on two runs, and the errors tell you which seed or setting followed the song better

    • 🔬 To judge H3 itself, use the scene's "H3 only" video (no crossfade, frames past the cut included); to judge what a viewer gets, use the finished MV. A mark inside a crossfade gets ⚠: two scenes are mixed there

    • 🔬 Every mark in the finished MV about the same amount late (say +0.1 s)? Then 🎚 A/V sync in 🔧 Details can go up by about that much. Videos made with v6.0 can be measured on their "H3 only" videos (the finished MV needs the scene borders v6.1 keeps)

    • Pre-made song: keep its .abc (and, from v5.9, its .s2s.json) next to it. Pick it, press "🔎 Analyse this song" once, fix the lanes by hand if needed, then run: the scenes use the saved analysis

    • Hand edits belong to their song: picking another song takes them off, picking the song again brings them back. ↺ clears them

    • Want to try a few songs first? Turn on 🎵 Song only (with 🎵 pre-made song on (none): with a song picked there, nothing new is made), then pick "(newest song in output/)" and make the video

    • Singer starts too early or too late? Set 🎤 vocal_in (the second in the song where the singing starts), or press "🎤 Singing starts at the playhead" on the Timeline

    • Transitions: crossfade for a soft change, dip to black for a new chapter. Keep the seed fixed and only change the transition: it finishes in moments

    • Turbo LoRA ON for drafts, OFF for final renders (H3 follows detailed cues better with more steps)

    • Scene length: up to 15 s per scene by default; up to 24 s has worked. For a long song, 4 shorter scenes usually hold up better than 2 long ones

    • 🔍 Super resolution and the join now work from the saved scene files 24 frames at a time, so long songs no longer need the whole video in RAM. The 📺 join report shows the RAM / VRAM peak, handy if you want to measure

    • Resolution: multiples of 32, short side up to 768 (1024×768 recommended)

    • Errors? Paste the ComfyUI console log and the workflow .json into Claude or ChatGPT and ask what is missing

    🗂 OLDER: v4.1 / v3.9 / v2.34

    v4.1 (1–4 scenes) and v3.9 (2 scenes) use LM Studio for the prompt split; get them from the older versions on this page. The older "every option" v2.34 Full / Legacy workflow also still works with these custom nodes.

    Version history

    • v6.1: 🔬 sync check on the timeline: step the finished MV or a scene's "H3 only" video frame by frame, mark where singing or playing really starts or stops, and see the error against the song in seconds and frames (as H3 was told and in the finished MV, A/V sync taken in); marks kept per video; the join keeps each run's scene borders

    • v6.0: ⛓ scenes 2–4 can continue from the scene before (1 or 5 frames handed over, ⛓ under each cut on the timeline); 🧑 one main character picture for every scene (<Picture 2>); 💾 low memory: each scene saved to a file and the video joined from the files (super resolution chunk by chunk); crossfade keeps the scene before moving; 📺 join report (frames, real handoff, memory peaks); fps must be 24

    • v5.9: 💾 the analysis is kept with the song (<song>.s2s.json) and used again (no STRUM / Demucs for the same song); a pre-made song's analysis shows on the timeline at once; 🔎 analyse only the song (no LLM, no H3, in ComfyUI's queue); hand edits saved with the song; each recording of a score kept apart; "not analysed" / "older analysis" marked on the timeline

    • v5.8.1: 🎞 timeline wheel zoom (down to 0.1 s), Space = play / stop

    • v5.8: ✎ fix the analysis by hand on the timeline (🎤 singing and 🎻 strings spans, 🥁 drums in, only where the scenes had an analysis, in seconds of the song); the H3 cues follow it, ↺ back to the analysis; the singer is found from more wordings; the timeline panel resizes at any height

    • v5.7: 🔎 the last run's analysis on the timeline (singing, drum hits, strings, piano, real cuts); auto start shown where the last run started the song; only the newest song's analysis, each scene in its place, real cut lengths on the clips ("7.1s → 8.0s")

    • v5.6.1: fixes: the singing start set by hand works in short scenes, the LLM's other actions (waving, dancing) are kept when a singer is set to wait, "vocalist" / "singer" / "lead vocals" are recognised

    • v5.6: 🌐 lyrics in the language you ask for; 🎤 waiting performers are shown waiting (lips closed / hands still until their cue), the LLM's too-early words are fixed, singing start by hand (vocal_in)

    • v5.5: 🎞 timeline editor (drag & drop images and songs), 🎞 scene transitions, drum sync fixes (backbeat, no made-up fills, kick-only parts)

    • v5.4: ✍ prompt check (auto / manual): pause after the prompt split and fix each scene's prompt by hand in a window

    • v5.3: ⏳ every scene's prompt is read before any scene is drawn (one model swap per run); inputs laid out scene 1 → 4

    • v5.2: 🔍 optional RTX video super resolution on the finished video

    • v5.0: 🧠 the prompt LLM runs inside ComfyUI (GGUF via llama-server, transformers, or LM Studio); load / unload handled automatically

    • v4.1 / v3.9 (update 2026-10-14): 🎻 violinist plays only while the violin is heard; prompt split with thinking off and a 600 s timeout

    • v4.1: choose 1–4 scenes with all the v3.9 features

    • v3.9: one-zip download, even song loudness, song-only switch, newest-song pick, drums that wait / come in later, kick-only intros, fill or no fill, kit layout for H3

    • v4.0: choose 1–4 scenes (🎬 scene count switch)

    • v3.8: drum cues H3 can draw

    • v3.7: piano sync

    • v3.6: A/V sync

    • v3.4 / v3.5: run log in the workflow

    • v3.2: ▶ Start at for pre-made songs

    • v3.0: the new Simple line (4 switches)

    • v2.09: first public release

    Description

    Score to Screen v6.0 Simple — changes since v5.9

    ⛓ Scenes that continue, 🧑 one main character, 💾 less memory (v6.0)

    ⛓ Scenes 2–4 can go on from the scene before

    • For each of scenes 2–4: own picture (a separate shot from its own picture, as before) or continue

    • continue: the frame right after the cut of the scene before is anchored as H3's first frame (H3's own Add Guide), so positions, poses, the place and the light carry over: the guitarist is still holding the guitar, the drummer is still at the kit

    • Handoff: 1 frame (default) or 5 frames (also carries the direction of the motion)

    • A continuing scene needs no picture: with (none), picture 1 is used as the look. For a clean join, leave it at (none) or use a picture of the same people and place

    • "Starts exactly as <Picture 1>" in the prompt is replaced by a "continues the previous shot without a cut" line by itself

    • A continuing scene waits for the scene before; an own-picture scene never waits, and every scene's prompt is still read first (one model swap per run, as in v5.3)

    🎞 On the timeline (the same way as 🎞 H3 Timeline 4)

    • The ⛓ under each cut toggles it; it lights up blue when the scene continues

    • A continuing clip gets a dashed blue frame and "⛓ continues 1"; with no picture, picture 1 is shown dimmed with "no picture needed"

    • Select a clip: Start (🖼 its own picture / ⛓ continue the previous scene) and ⛓ handoff in the panel below

    🧑 One main character in every scene

    • Pick one picture of the main character (face, hairstyle and clothes clearly visible): every scene gets it as <Picture 2>, with a line to keep the same face, hairstyle and clothes

    • It has its own group above the scene pictures, with a preview and an upload button like pictures 1–4, plus a short how-to note. The 🧑 button on the timeline does the same (click to pick, drop an image, ✕ to clear)

    • (none) = not used (as before). Best together with ⛓: continuing alone can drift a little in the face over several scenes

    • The scene pictures set where and what the shot is; the character picture sets who

    💾 Low memory: each scene saved to a file, joined at the end

    • Each scene is written to temp/s2s_scenes/ the moment it is decoded, and the final mp4 is joined from the files one frame at a time

    • 🔍 Super resolution runs 24 frames at a time during the join (same settings as before)

    • Only one scene's frames are in RAM at any point, however many scenes

    • Disk: up to about 1 GB per scene (1280×720, 15 s). A clear message before writing when there is no room. temp/ is emptied when ComfyUI starts, and old files are removed by themselves (a scene whose file is gone is made again from ComfyUI's cache)

    • crossfade now keeps the scene before moving while it dissolves into the next one (it uses the frames H3 made past the cut)

    • The "H3 only" check videos are made from the saved frames too

    📺 Join report (next to the join)

    • Frames per scene

    • How each of scenes 2–4 really started: own picture, or ⛓ continue with the frames asked, the frames available past the cut and the frames really used (a 5-frame handoff falls back to 1 when H3 made fewer than 5 past the cut)

    • RAM / VRAM peak of the join and of each scene's decode, and apart from them the whole ComfyUI peak (VRAM = what PyTorch allocated)

    • Hidden for 🎵 song only, like the video

    🎬 fps stays at 24

    • H3 makes 24 fps video, so the scene cut node now stops before the run, with a message, when fps is set to anything else (any other value would put the picture out of time with the song)

    Note: real runs of ⛓ continue and 🧑 depend on H3: it follows the anchored frame and the character picture well, but not always perfectly. If a join looks off, try 5 frames, a picture at (none), a 🧑 picture, or another seed.

    Custom nodes in this download: ComfyUI-PromptSplitter v3.2, ComfyUI-ABCTiming v2.45, ComfyUI-ABCInstrumentalize v1.5, ComfyUI-ABCScoreIO v1.41. Updating from v5.9? Replace all 4 folders in ComfyUI/custom_nodes/, restart ComfyUI and reload the page (Ctrl+F5).

    変更点(v5.9 → v6.0)

    ⛓ シーンを続ける・🧑 キャラ固定・💾 省メモリ(v6.0)

    ⛓ 2〜4シーン目を前のシーンから続ける

    • 2〜4シーン目ごとに、own picture(今まで通り、自分の画像から始まる独立した映像)か continue を選べる

    • continue:前のシーンの切れ目の直後のコマを、H3 の最初のコマに固定(H3 標準の Add Guide)。人の位置・ポーズ・場所・光がシーンをまたいでつながる(ギターを持ったまま次のシーンへ、ドラマーは叩いたまま、など)

    • 引き継ぎ:1コマ(標準)/5コマ(動きの向きも引き継ぐ)

    • 続けるシーンは画像なしでOK:(none) なら画像1を見た目の参考に使う。きれいにつなぐなら (none) か、同じ人・同じ場所の画像に

    • プロンプトの「Starts exactly as <Picture 1>」は、自動で「前のシーンから切れ目なく続く」指示に置き換わる

    • 続けるシーンは前のシーンができてから作る。own picture のシーンは待たないし、全シーンのプロンプトを先に読む順番もそのまま(モデルの入れ替えは1回)

    🎞 タイムラインでも(🎞 H3 Timeline 4 と同じ操作)

    • 切れ目の下の ⛓ をクリックで切り替え。続ける時は青く光る

    • 続くクリップは青い点線の枠で「⛓ 1の続き」。画像が無い時は画像1を暗く表示して「画像なしでOK」

    • クリップを選ぶと、下の欄の「始まり(🖼 自分の画像から/⛓ 前のシーンから続ける)」と「⛓ 引き継ぎ」でも変えられる

    🧑 主役のキャラを全シーンで同じに

    • 主役の画像を1枚(顔・髪型・服がよく見えるもの)選ぶと、全シーンに <Picture 2> として渡して「同じ顔・髪型・服のまま」の指示を足す

    • シーンの画像の上に専用のグループ。画像1〜4と同じように一覧から選ぶ・アップロード・プレビュー付き、使い方のメモも。タイムラインの 🧑 ボタン(クリックで選ぶ・画像をドロップ・✕ で外す)でも同じ

    • (none) なら使わない(今まで通り)。⛓ と一緒がおすすめ(⛓ だけだと、シーンを重ねるうちに少しずつ顔がずれることがある)

    • シーンの画像は「どこで・どんな場面か」、キャラ画像は「誰か」を決める

    💾 省メモリ:シーンごとにファイルへ保存して、最後につなぐ

    • 各シーンはデコードしたらすぐ temp/s2s_scenes/ にファイルで保存し、最後にファイルから1コマずつ読んで mp4 にする

    • 🔍 超解像も、つなぐ時に24コマずつ(設定は今まで通り)

    • シーンがいくつあっても、RAM に載るのは1シーンぶんのコマだけ

    • ディスクは1シーンにつき最大約 1 GB(1280×720・15秒の時)。空きが足りない時は書く前に分かりやすく知らせる。temp/ は ComfyUI を起動し直すと空になり、古いファイルも自動で消える(消えていても ComfyUI のキャッシュから作り直す)

    • crossfade は、H3 が切れ目の先まで作ったコマを使って、前のシーンを動いたまま次のシーンと重ねる

    • 「H3 だけ」の確認動画も、保存したコマから作る

    📺 結合レポート(つなぐノードの隣)

    • シーンごとのコマ数

    • 2〜4シーン目が実際にどう始まったか:own picture か、⛓ continue で頼んだコマ数・切れ目の先にあったコマ数・実際に使ったコマ数(H3 が切れ目の先に5コマ作らなかった時は、5コマ引き継ぎが1コマになる)

    • 結合とシーンごとのデコードの RAM・VRAM のピーク、それとは別に ComfyUI 全体のピーク(VRAM は PyTorch が確保した量)

    • 🎵 曲だけの時は映像と同じく出ない

    🎬 fps は 24 のまま

    • H3 は 24fps で作るので、シーンを切るノードの fps が 24 以外だと、実行前に理由付きで止める(ほかの値だと映像が曲とずれるため)

    ご注意: ⛓ continue と 🧑 の効き方は H3 しだいです。固定したコマやキャラ画像にはよく沿いますが、いつも完ぺきとは限りません。つなぎ目が不自然な時は、5コマにする、画像を (none) にする、🧑 を入れる、seed を変える、を試してください。

    この zip のカスタムノード:ComfyUI-PromptSplitter v3.2、ComfyUI-ABCTiming v2.45、ComfyUI-ABCInstrumentalize v1.5、ComfyUI-ABCScoreIO v1.41。v5.9 からの更新は ComfyUI/custom_nodes/ の4つのフォルダを全部入れ替えて、ComfyUI を再起動、ページも再読み込み(Ctrl+F5)してください。

    FAQ

    Workflows
    MiniMax H3

    Details

    Downloads
    59
    Platform
    CivitAI
    Platform Status
    Available
    Created
    10/22/2026
    Updated
    10/23/2026
    Deleted
    -

    Files

    onePromptOneSongATwoScene_v60.zip

    Mirrors