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

    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.

    🎞 v7.0: one screen for the whole MV. The 🎞 Timeline gets a left column with four tabs (🎬 Main, 🎵 Song, 🎚 Sound, ⚙ Settings) and can fill the whole window: 🎭 a cast of up to four people with their pictures, picked per scene, 🎵 the song in its own field, 🎚 the finished MV's sound (EQ, reverb, width, fades) with 🔁 remaking only the sound, and ⚙ models, LoRAs and VAEs in one place. Plus 🎸🎻 the hands play along: the fretting hand changes chord shape on the score's chord changes, a violinist's bow and fingers follow the note lengths, and the camera moves in to the fingers when a solo starts.

    🥁 v6.2: the drummer now plays the song's own drum part, drum by drum. Ride or hi-hat, which toms in which order, a crash only where one is heard, a rest where the drums stop. 🔒 And the song is now H3's own audio track (Audio Lock): H3 draws the picture on the song's clock instead of on a soundtrack of its own, so lips and drums land on the music. Plus 🔁 make only one scene again instead of the whole video, and 🥁 an estimate of how late the drummer's strokes land.

    • v7.0 Simple: 🎞 one screen (the Timeline's left column in four tabs, ⛶ full screen, ▶ next-run summary and run guard), 🎭 a cast S1–S4 with pictures per scene, 🎵 the song in its own field, 🎚 the MV's sound (EQ, reverb, width, fades) and 🔁 remaking only the sound, ➕ up to three more LoRAs, ⚡ one Turbo steps setting, 🎸 the fretting hand timed from the score, 🎻 bow and fingers from the note lengths, 🎥 a close-up of the fingers when a solo starts, ⚠ hand-drawn strings checked against the audio; from v6.2: 🥁 drum cues by instrument (adaptive), 🔒 Audio Lock (the song is H3's own audio track), 🔁 make only some scenes again, 🥁 drum timing estimated from the picture, plus everything from v6.1: 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, scene transitions, optional hand check of the prompts before H3

    • Older versions on this page: v6.2 Simple, v6.1 Simple, 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 v7.0 (2026-10-26): one screen. 🎞 The Timeline gets a left column with four tabs: 🎬 Main (🎭 the cast), 🎵 Song (the song's description, on-screen singing, a pre-made song, song only, the YuE2 model), 🎚 Sound (the finished MV's sound) and ⚙ Settings (⚡ Turbo and its steps, the Turbo LoRA, the H3 model, ➕ more LoRAs, the text encoder, the video and audio VAEs, 🎸🎻 playing & camera, 🔒). ⛶ It can fill the whole window (Esc to go back), opens by itself, and says in one line what the next run will do, with anything that would make the run stop shown first (the panel's ▶ Run refuses such a run). 🎭 A main character (S1) and three more (S2–S4), each with a picture, a name and a part, are given to H3 as reference pictures only in the scenes they are in, with "S2 is Ken, the person shown in <Picture 3>, who plays the drums." in the prompt, so the drummer stays the drummer. 🎚 EQ, reverb, stereo width and fades on the finished video's sound only, and 🔁 "🎚 sound only" joins a kept run again with the new sound (no H3). Also since v6.2: 🎸🎻 the hands play along (see 🎸🎻 THE HANDS), ⚡ one Turbo steps setting for every scene. See 🎞 THE NEW SCREEN IN v7.0.

    New in v6.2 (2026-10-23): 🔒 Audio Lock. Until now the song reached H3 only as a reference: H3 made its own soundtrack next to the picture and moved to that, and the finished video put the real song under it, 0.2 s later on average, with a drift that changed from seed to seed. Now each scene's piece of the song is encoded into H3's own audio track and kept there while the picture is made (ComfyUI's native H3 can mask the audio and video streams separately), so the mouth and the sticks follow the song itself; 🎚 A/V sync becomes 0 (with frozen). A drummer made this way had the strokes within ±0.01 s of the kicks. frozen (default) / anchor / off, in 🔧 Details. And the drums, drum by drum. With STRUM installed, set the drum cue style to adaptive and the drummer is told what the song's drums really play: the beat on the ride or on the hi-hat (and the moment it moves between them), tom fills by name in the order heard (high tom, low tom, floor tom), a crash only where a crash is heard (with the kick only when the kick is heard too), and a rest with the sticks held still where the drums are silent. 🔁 After a 4-scene run, make only scene 3 again: the other scenes are read from the files the run kept, so H3 runs for one scene instead of four. 🥁 When the scenes are joined, the moment the sticks and the kick foot come down is estimated from H3's picture and compared with the kick in the song (📺 Join report and 🔬). Also new: 🥁 the steady beat follows what STRUM heard (no snare hits where the song has no snare, a kick on every beat where it has one), 📘 STRUM is now part of the install, with a detailed step-by-step guide in the zip, ⛓⚠ a warning when a continuing scene brings in another instrument (the drummer may come in still holding the guitar), and 🎸 the guitar lead keeps the picking hand over the body unless the scene asks for two-hand tapping.

    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.

    🎞 THE NEW SCREEN IN v7.0

    The 🎞 Timeline is now where the whole MV is made. It is still only a second view of the workflow's own nodes, so everything can also be set on the canvas as before.

    • 🎬 Main: the cast. 🧑 Main (S1, every scene) and 👤 Sub 1–3 (S2–S4): a picture (click or drop), a name, a part (sings, guitar, guitar + sings, bass, drums, keyboard, piano, violin, cello, dances ...) and a note for the LLM. Subs: 1–4 = the scenes they are in (or the chips under the selected scene's text). The clips show the faces of who is in each scene, and the scene's line shows each person's picture number ("S1・Aya・🎻 violin・🖼 2")

    • 🎵 Song: the song's description (mood, genre, tempo, "Instrumental.", "Lyrics in English."), put in front of scene 1's text for the LLM; 🎤 does the person on screen sing; 🎵 a pre-made song and ▶ where it starts; 🎵 song only; 📦 the YuE2 model

    • 🎚 Sound: the finished MV's sound, never what H3 hears: 🔊 even loudness (LUFS target), 🎛 EQ low / mid / high (±12 dB), 🏛 reverb, ↔ stereo width, 🌅 fade in / out. The loudness is matched again after the EQ and the reverb, peaks stay under -1 dBFS, nothing moves in time

    • ⚙ Settings: ⚡ Turbo on / off and steps, ⚡ Turbo LoRA and strength, 📦 H3 model, ➕ LoRA 1–3 (every scene, Turbo on and off), 📝 text encoder, 🎞 video VAE and 🔊 audio VAE (each list shows only its own kind), 🎸🎻 playing & camera, 🥁 drum cue style, 🔒 Audio Lock

    • ⛶ Full screen with its own ▶ Run; "🗗 Back down" or Esc for the bottom panel. The left column's width can be dragged, and ⏳ a progress strip shows the node working now, its steps, the time, H3's live preview and ■ Stop while a run goes

    • ▶ Next run: every scene / one scene again / 🎚 sound only / song only, the scenes and seconds, Turbo, the cast, 🔒, 🥁. In orange first: a VAE of the wrong kind, 🔁 without a scene, 🎚 sound only without a run

    • 🔁 Sound only: pick the run in the 🔁 strip, "⤵ Load that run's settings", "🎚 sound only", Run. Every scene is read from its file and joined again with the new sound

    Every extra cast picture adds reference tokens, so H3 gets a little slower with each person.

    🎸🎻 THE HANDS (v6.3)

    The players' hands now get times from the score, not only words. Three settings on the 🥁🎤 node in 🔧 Details, all on by default:

    • 🎸 fret_cues: the fretting hand changes to the next chord shape at each chord change of the score while the player strums or sings ("At 00:04.000 S1's fretting hand changes to the next chord shape"; a bassist moves to the next root note). In a solo, the hand moves along the neck where the melody jumps (guitar / bass: 5 semitones or more; violin: when a note leaves the hand's position)

    • 🎻 bow_finger_cues (violin, viola, cello): from the length of the notes. Quick notes = "the left-hand fingers drop onto the strings rapidly, one after another"; note by note = "the bow changes direction with each note, about every 0.7 s"; a held note = "one finger stays pressed down with a slow vibrato ... the bow draws slowly in one direction". Slurs are played in one bow

    • 🎥 hand_closeup: when a solo really starts, "the camera moves in to an extreme close-up of S1's left-hand fingers on the fingerboard, the face out of frame" for 2.5 to 4 s, then back out. The fingers are a few pixels in a medium shot; big, H3 draws them much better

    • All three are also in the Timeline's ⚙ Settings (🎸🎻 playing & camera). Two position shifts the same way less than 1.5 s apart are said once

    • ⚠ on the 🎻 lane: the strings you set by hand on the 🎞 Timeline are checked against the audio. A span dragged or deleted by mistake (the violinist holds the violin down while it plays) is marked orange there and in the 🎼 report

    Still hints: H3 decides the fingers, and correct fingering is beyond any video model today. What changes is a hand that moves when the music changes. In our violin tests the hand mostly stayed in first position (which looked right for those songs); some seeds may follow the position shifts. Hands look best with ⚡ Turbo off (20 steps).

    🔒 AUDIO LOCK (v6.2)

    Why: H3 makes video and audio together. When the song is only a reference (<Audio 1>), H3 composes its own soundtrack from it and animates to that; the finished MV then plays the real song, so every motion is off by however far H3's soundtrack drifted, differently in every take (measured drum strokes: +0.14, -0.14, -0.09 s). The old 🎚 +0.2 s only fixed the average.

    What it does: the scene's piece of the song (exactly what plays under that scene in the finished video) is encoded with H3's audio VAE into the audio part of H3's latent, and that part is masked so sampling keeps it (audio mask 0, video mask 1; a ⛓ guide's video mask is kept). H3 draws the picture on the song's own clock. Three settings in 🔧 Details:

    • frozen (default): the song IS the audio track, kept as it is

    • anchor: the song as a keyframe at frame 0 (ComfyUI's Add Guide with audio; H3 still makes its own audio). Known to misbehave on some ComfyUI versions: keep frozen unless you are comparing

    • off: as before (v6.1 behaviour; 🎚 A/V sync 0.2 s applies again)

    With frozen, 🎚 A/V sync is 0 by itself; anchor and off use the 🎚 value (anchor only guides H3's own audio, so measure first). 🔁 needs the same lock setting as the run it reuses (it says so, and ⤵ Load that run's settings sets it). 🔬 and the 🥁 estimate use the shift the video really had. Still hints for the motion itself: H3 decides how the lips and hands move, but now on the right clock.

    🥁 THE DRUMS IN v6.2

    Until now the drummer got one steady beat for everything, and the fills were "both sticks sweep across the drums". v6.2 adds a third drum cue style, adaptive, that uses what STRUM (an AI drum transcriber) tells apart: kick, snare, hi-hat, ride, crash and three toms.

    • Ride or hi-hat: when the beat is kept on the ride, the right stick taps the ride (on the drummer's right). When it moves from the hi-hat to the ride inside a shot, one line says when ("From 00:09.000 S1 moves the hi-hat hand over to the ride cymbal")

    • Tom fills by name: "a fill around the toms in this order: high tom, low tom, floor tom", only the toms heard, in the order heard. Never a mid tom STRUM did not hear

    • Crashes only where one is heard: a new section with no crash in the song gets none (simple puts one on every section start). "Together with the kick" only when the kick is heard with it. At most 2 crashes a shot

    • Rests: where the drums are silent for 2 s or more, "S1 rests in this shot: ... holds both sticks still just above the drums", or "stops at 00:08.000, plays again at 00:11.000". Before, the drummer kept drumming through the silence

    • Follows the real groove (simple and adaptive): no snare hits where STRUM hears no snare (the left stick stays just above it), a kick on every beat where the song has four on the floor

    • Kept from simple: the beat positions (snare on 2 and 4, kick on 1 and 3), the kit layout (also left-handed), and short shots keep the groove

    • The 🎼 report says what was taken from STRUM: "🥁 adaptive drum cues (STRUM): S1: ride from 00:09.000; tom fills: 00:07.500 high tom → low tom → floor tom; rests (silent): 00:12.000-00:15.000; section crashes not heard (left out): 00:04.000"

    • STRUM is needed (install guide in the download: STRUM_INSTALL.md). Without it (Demucs only, or drum sync off) adaptive gives exactly the simple cues, and the report says "⚠ STRUM is not working". simple stays the default

    • 🔁 + adaptive = an easy A/B test: make the video with simple, switch to adaptive and make only the drum scene again with the same seed, then compare the two with the 🥁 estimate and 🔬

    These are still hints. Whether H3 really draws a ride and a floor tom differently is what v6.2 is for finding out: please share what you see.

    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

    • 🔁 Make only some scenes again (NEW in v6.2): every run keeps its scenes in output/score2screen_runs/ (the newest 5 runs, about 50–200 MB per scene). On the 🎞 Timeline press 🔁 Remake, pick the run, "⤵ Load that run's settings", press 🔁 on the scene to make again, change its text, picture or seed and run. The other scenes are only read from their files (no H3, no decode, read frame by frame so the RAM doesn't grow), everything is joined again and saved as a new video; the old one stays. A scene that ⛓ continues from the one made again is made again too. A different song, start, scene length or size stops the run with the reason (scenes are never reused on a guess)

    • 🥁 Drum timing from the picture (NEW in v6.2): when the scenes are joined, every scene with a drum analysis is checked: the moment the sticks and the kick foot come down in H3's picture (optical flow, camera pans taken out) against the song's kicks, averaged over all the beats. The 📺 Join report and 🔬 say how late the strokes land, in H3's video and in the finished MV, with an 🎚 A/V sync to try and how well it matched (good / fair / weak). It is an estimate from the motion, not a stick detector: check weak ones with 🔬

    • 🔒 Audio Lock (NEW in v6.2): the song is H3's own audio track, kept while the picture is made, so H3 draws to the real song (frozen / anchor / off, 🎚 A/V sync 0 with frozen). See 🔒 AUDIO LOCK above

    • 🎞 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, which you install with the included guide; if it fails, 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

      • Follows the real groove (v6.2): where STRUM hears no snare, the left stick stays above the snare; a kick on every beat when the song has one

      • 🆕 adaptive cues (v6.2): ride or hi-hat, tom fills by name, crashes only where heard, rests where the drums are silent (see 🥁 THE DRUMS IN v6.2 above)

      • 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 ..."

    • 🎞 One screen (NEW in v7.0): the Timeline's left column (🎬 Main / 🎵 Song / 🎚 Sound / ⚙ Settings), ⛶ full screen, ▶ next-run summary. See 🎞 THE NEW SCREEN IN v7.0 above

    • 🎭 Cast (NEW in v7.0): a main character and three more, each with a picture, a name and a part, given to H3 only in the scenes they are in; their parts drive the band cues

    • 🎚 MV sound (NEW in v7.0): EQ, reverb, width and fades on the finished video's sound, and 🔁 remake only the sound

    • ➕ More LoRAs (NEW in v7.0): up to three LoRAs on H3 for every scene

    • 🎸 Fretting hand timed (NEW in v6.3): chord-shape changes at the score's chord changes, hand-position shifts in a solo from the melody's pitch (guitar, bass, violin). See 🎸🎻 THE HANDS IN v6.3 above

    • 🎻 Bow and fingers from the score (NEW in v6.3): a violinist's / cellist's two hands follow the note lengths: quick notes, note by note, held notes with a slow vibrato; slurs in one bow

    • 🎥 A close-up of the fingers (NEW in v6.3): when a solo really starts, the camera moves in to the fingers (the face out of frame) for 2.5 to 4 s, then back out

    • 🎻 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, violin and hand 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, hit the wrong drum, or keep the hand in one place. 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)

    • 🎭 Cast: who is in each scene goes into its prompt (definition and same-face lines) and their pictures to H3 (v7.0)

    • 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

    • 💾 The run keeps its scenes for 🔁, and 🥁 the drum timing is estimated from the picture when the scenes are joined

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

    • 🔁 Next time, make only the scenes you want again: the others come from the kept files

    The internals are packed into subgraphs. From v7.0, day to day you can do everything on the 🎞 Timeline (⛶ full screen if you like); on the canvas the scene columns, the 🎭 Cast & song group, the 🎛 switches and the 🧠 LLM settings are where things are.

    🎛 THE SWITCHES

    From v7.0 all of these are also on the 🎞 Timeline (header and the ⚙ / 🎵 tabs).

    • ⚡ Turbo: fast drafts (off = 20 steps). The steps with Turbo on: ⚡ Turbo steps (default 4, v6.4)

    • 🎤 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)

    • 🔁 Scene remake: (off) = make every scene / a kept run + the scenes to make again, seed same as that run / new, keep_runs (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)

    • 🔒 Audio Lock (frozen / anchor / off), drum cue style (simple / adaptive / detailed; adaptive needs STRUM), 🎸 fret_cues (on / off), 🎥 hand_closeup (lead / off), 🎻 bow_finger_cues (on / off), 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.3: prompt split (🎵 the song field and 🎭 who is who for the LLM, v3.3) (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.52: score → rhythm, band, drum (simple / adaptive by instrument), piano and violin cues, 🎸 fretting-hand and 🎻 bow / finger 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.49: 🎞 the Timeline (left column, ⛶ full screen), 🎭 the cast, 🎚 the MV's sound, ➕ more LoRAs, ⚡ Turbo steps, 🔒 Audio Lock, 🔁 scene remake with the runs kept, 🥁 drum timing estimated from the picture, 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). 🔁 keeps the newest 5 runs' scenes in output/score2screen_runs/ (about 50–200 MB per scene; keep_runs = 0 keeps none). The 🔬 marks are small files in output/score2screen_sync/.

    STRUM (needed for the drums from v6.2): an AI drum transcriber (free, MIT) that tells the kick, snare, hi-hat, ride, crash and toms apart. The drum cues are built on it: when the drums come in, fills, crashes, the steady beat that follows the song, and the adaptive cues. It runs in its own Python next to ComfyUI, so ComfyUI's Python is not touched. A detailed step-by-step guide with a check at every step is in the download: STRUM_INSTALL.md (Japanese: STRUM_INSTALL.ja.md). Without STRUM the workflow still runs (Demucs hits without drum names, or the score), and the report shows "⚠ STRUM is not working".

    🚀 QUICK START

    1. Download and unzip. Inside: workflows/, custom_nodes/, a README and the STRUM install guide (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. Install STRUM by following STRUM_INSTALL.md: Git, Python 3.11 and ffmpeg, STRUM in ComfyUI/models/strum with its own venv and CUDA PyTorch, the drum weights, and a quick test that makes a notes.mid

    5. 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

    6. The 🎞 Timeline opens at the bottom (⛶ for full screen). 🎵 Song: describe the song (mood, genre, vocals or "Instrumental.")

    7. 🎬 Main: optionally a 🧑 main character and 👤 subs with a picture, a name and a part; pick the scenes each sub is in

    8. Set the scene count in the header, drop a picture on each clip, drag its right edge for the seconds and write each scene's text under the track. Width / height are in ① Shared on the canvas

    9. ⚙ Settings: Turbo on for drafts, off (20 steps) for finals; models, LoRAs and VAEs if you use other files

    10. Check ▶ Next run under the header, then ▶ Run (or ComfyUI's Run). Check the 📺 previews afterwards: the scene cut, the prompts H3 got, and Runs so far

    11. Optional: 🔬 Sync check on the Timeline to measure how early or late H3 was

    12. Optional: one scene not right? 🔁 Remake, pick that run, "⤵ Load that run's settings", 🔁 the scene, change it and run. Only the sound? 🎚 Sound, then 🔁 "🎚 sound only" and run

    💡 TIPS

    • 🎭 Band MV: give each player a picture and a part (drums, bass ...) and pick their scenes: the part drives their cues and stays the same from scene to scene

    • 🎚 Only the sound: always use 🔁 "🎚 sound only". With 🎲 random seeds an ordinary run draws a new picture too

    • 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

    • 🥁 Try adaptive drum cues: install STRUM (STRUM_INSTALL.md), set the drum cue style in 🔧 Details to adaptive and look at the 🎼 report ("🥁 adaptive drum cues (STRUM): ..."). To compare with simple, 🔁 make only the drum scene again with "same as that run" for the seed

    • 🔁 Change only the text or the picture of a scene and keep "same as that run": the rest of the take stays the same. "new" gives another take of that scene

    • 🔁 Keep the song, start and scene lengths of the run (⤵ Load that run's settings does it): the kept scenes only fit where they were in the song

    • 🎸 Want two-hand tapping in a guitar solo? Write "two-hand tapping" (or ライトハンド / タッピング) in that scene's text. Without it the picking hand is kept over the guitar's body

    • ⛓ Continue is for the same person going on (a wide shot, then a close-up of the same player). A scene with another person or instrument (guitar → drums): own picture, or the drummer may start holding the guitar. The orange ⛓⚠ on the timeline tells you

    • ⛓ 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

    • 🎻 Hands: render the final with ⚡ Turbo off (20 steps): fingers are fine detail. Ask for the fingers, not "the hands": "an extreme close-up of her left-hand fingers on the fingerboard, her face out of frame" ("a close-up of her hands" tends to become her face). A sharp picture with the neck and the hand clearly visible helps too

    • 🎸🎻 Compare the hand cues: 🔁 make the scene again with the seed "same as that run" and fret_cues / bow_finger_cues off, then look at the chord changes and the held notes with 🔬

    • 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

    • 🔒 Comparing with and without the lock: make the scene with frozen, then 🔁 make it again with off and "same as that run" for the seed. The 🥁 estimate and 🔬 show the difference in numbers

    • 🎚 With 🔒 frozen, leave A/V sync alone (it is 0 by itself). If the lips still look early or late, measure with 🔬 first: a constant offset means the song's start, not the lock

    • 🥁 The 📺 Join report already estimates how late the drummer's strokes land (e.g. "0.31 s after the kick in H3's video -> 0.14 s late in the finished video"). "close to half a beat: H3 may be playing between the beats" means a steady pattern looks the same half a beat later: check with 🔬

    • 🔬 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

    • ⚠ on the 🎻 lane: the strings you set by hand are silent (orange) or play (yellow) where the audio says otherwise. Moved a span by mistake? ↺ goes back to the 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

    • v7.0: 🎞 one screen: the Timeline's left column in four tabs (🎬 Main / 🎵 Song / 🎚 Sound / ⚙ Settings), ⛶ full screen (Esc), opens by itself, ▶ next-run summary and run guard; 🎭 a cast S1–S4 with pictures, names and parts, per scene; 🎵 the song in its own field; 🎚 the MV's sound (EQ, reverb, width, fades) and 🔁 sound only; ➕ up to three more LoRAs; VAE lists by kind. Includes v6.4 (⚡ one Turbo steps setting) and v6.3 (below), which were not released on their own

    • v6.3: 🎸 the fretting hand timed from the score (chord shapes on the chord changes, position shifts in a solo); 🎻 bow and fingers from the note lengths (quick notes, note by note, held notes with vibrato; slurs read); 🎥 a close-up of the fingers when a solo really starts; ⚠ hand-drawn strings checked against the audio; fixes (an instrumental's melody, a 'rest' error with cue_detail changes)

    • v6.2: 🔒 Audio Lock (the song is H3's own audio track: frozen / anchor / off, 🎚 A/V sync 0 with frozen); 🥁 adaptive drum cues (ride / hi-hat and when it moves, tom fills by name, crashes only where heard, rests where the drums are silent; needs STRUM, simple unchanged); 🔁 make only some scenes again (the runs keep their scenes, kept scenes read from file frame by frame, settings checked, ⛓ followers remade too); 🥁 drum timing estimated from H3's picture (📺 Join report, 🔬); 📘 STRUM needed, with a detailed install guide in the zip; 🥁 the steady beat follows STRUM (no snare where none is heard, kick on every beat); ⛓⚠ warning when a continuing scene changes instrument; 🎸 the picking hand stays on the guitar's body

    • 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 v4.0 Simple — Changelog (from v3.7)

    One prompt → an original song + a 1–4 scene music video (YuE2 × MiniMax H3)

    This update has two parts:

    - v3.8: drum cues that H3 can actually draw

    - v4.0: choose 1 to 4 scenes per run (one scene this time, four the next) without changing workflows

    With the scene count left at 2, the workflow works like before.

    ---

    ## 🎬 v4.0: choose 1 to 4 scenes

    - 🎛 ② Switches gets a 5th switch, 🎬 Scene count (1–4, default 2)

    - 1: one scene from image 1 only. Scene 2's LLM split and H3 don't run at all

    - 2: the same as before

    - 3 / 4: fill in image 3 / 4, the scene 3 / 4 text and its seconds in the new 🎛 ①b group

    - Unused scenes are skipped completely: no LLM split, no H3 run, no check saves. Their image can stay at (none) and their text can stay as it is

    - If a scene within the count has no picture, the run stops with a clear message: "🖼 Scene N: no picture selected"

    ### 🎼 Timing for every scene

    - Every cut snaps to a bar line. The new 🎬 Snap the scene cuts to bars (1–4 scenes) node works the same way as the 2-scene cut. With 2 scenes it gives exactly the same result

    - The vocal onset check uses the total length of all the scenes you use. The start moves earlier only when the scenes would run past the end of the song

    - Works with pre-made songs and ▶ Start at, the same as before

    - Rhythm / playing cues and lyric timing follow each scene's own start

    - STRUM (drum and key transcription) still runs once per song. Later scenes reuse scene 1's result, so extra scenes add no STRUM time

    ### 🏷 Civitai metadata

    - The saved prompt contains only the scenes you used, joined with [Scene 2] … [Scene 4] headings

    - A skipped scene never blocks the final save

    ### 🔁 Other changes

    - Image 2 now uses the new 🖼 Scene picture node, like images 3 and 4. When you open v4.0 for the first time, pick image 2 again

    - 📺 New previews for scenes 3 and 4: the prompt H3 received, plus an H3-only check video

    - Corrected the in-workflow notes: a scene is not limited to 15 s. The limit is max_scene_sec in 🔧 Details (default 15 s; 24 s scenes have worked)

    ## 🥁 v3.8: drum cues H3 can draw

    - What we found from v3.7 videos:

    - H3 doesn't tell a snare from a tom

    - it can't follow one hit every 0.25 s, or 16 timed hits per shot

    - the drummer's sticks stayed on the same front drums

    - New in 🔧 Details: 🥁 Drum cue style, default simple

    - A fill is one simple sentence: "both sticks sweep across the drums from left to right, then a big swing onto the crash cymbal"

    - Up to 3 big accent hits per shot (at least 1.5 s apart) replace the long kick / snare list

    - No drum names (high tom etc.)

    - Times come from STRUM or Demucs when available (e.g. the crash), otherwise from the score

    - detailed brings back the v3.7 style, so you can compare

    ## 💡 Tips

    - H3 runs once per scene, so 4 scenes take about 4× the time of one scene

    - For a long song, 4 shorter scenes (12–14 s) usually look more stable than 2 long ones

    - Write who plays what in every scene's text (e.g. "the white-haired woman plays the drums")

    ## 📦 Requirements / How to update

    - custom_nodes v4.0 (included zip):

    - ComfyUI-PromptSplitter v2.12

    - ComfyUI-ABCTiming v2.21

    - ComfyUI-ABCScoreIO v1.24

    - ComfyUI-ABCInstrumentalize v1.4

    - Replace your old folders with these, then restart ComfyUI. Full install steps are in README.md inside the zip

    - The v3.8 (2-scene) and v2.34 Full / Legacy workflows still open with these nodes

    - STRUM is optional, as before. Piano sync (v3.7) still needs Basic Pitch; see section 3b of the STRUM guide

    - The JA and EN versions of the workflow are both included

    FAQ

    Comments (57)

    iGor777999Oct 10, 2026
    CivitAI

    выдает ошибку пишет неизвестный пакет ,хотя комфи обновил-менеджер ничего не показывает там пусто ,ни в установленных ,ни в те что установить .
    Неизвестный пакет22

    ABCInstrumentalize

    ABCSongDelay

    ABCTimingPrompt

    ABCTimingPrompt

    ABCTimingPrompt

    ABCTimingPrompt

    CheckpointLoaderByName

    CivitaiPromptFormat

    Image Saver Save Video

    PickCheckpoint

    PickDiffusionModel

    PromptSplitterLLM

    PromptSplitterLLM

    PromptSplitterLLM

    PromptSplitterLLM

    S2SDrumEventTable

    S2SDrumEventTable

    S2SSeedBoard

    S2SSimpleBoard

    SongSfxMix

    UNETLoaderByName

    VocalOnsetDetector

    koyan0418439
    Author
    Oct 10, 2026· 1 reaction

    Привет! Эти узлы не из ComfyUI Manager, поэтому Manager их не показывает — это нормально.

    21 из 22 узлов находятся в архиве custom_nodes_en_v4.0.zip (ссылка в описании модели), их нужно установить вручную:

    1. Закройте ComfyUI.

    2. Распакуйте архив и скопируйте 4 папки прямо в ComfyUI/custom_nodes/:

    ComfyUI-PromptSplitter, ComfyUI-ABCTiming, ComfyUI-ABCScoreIO, ComfyUI-ABCInstrumentalize

    Важно: путь должен быть ComfyUI/custom_nodes/ComfyUI-PromptSplitter/__init__.py,

    а НЕ ComfyUI/custom_nodes/custom_nodes_en_v4.1/ComfyUI-PromptSplitter/...

    3. Установите demucs в Python, который использует ComfyUI:

    портативная версия: .\python_embeded\python.exe -m pip install demucs

    4. «Image Saver Save Video» — это пакет ComfyUI-Image-Saver, его можно установить через Manager.

    5. Перезапустите ComfyUI.

    Если узлы всё ещё красные, посмотрите в консоли при запуске строки «IMPORT FAILED» рядом с этими папками и пришлите текст ошибки — помогу.

    iGor777999Oct 10, 2026

    @koyan0418439 спасибо от души! пошел ставить ,так чет не понял где мне этот архив брать ?распаковал там две схемы и все ..то что вы дали он не распаковывается белое окно и все ..где сам архив то лежит непонятно совсем .нажимаю на v4.0.zip белое окно и все ..архив то где тогда ?версия 4.0 загрузил там две схемы и все нет архива ничего там не входит в комплект загрузки как вы писали ..нет там архива того .

    iGor777999Oct 10, 2026

    не нашел никаких ссылок в описании модели на архив

    iGor777999Oct 10, 2026

    со схемами бы положили архив проще бы было ...нет в описании никакого архива ,не нашел

    TabionOct 10, 2026· 2 reactions

    чел да там же две ссылки раскрой спойлер ноды во втором архиве...

    koyan0418439
    Author
    Oct 10, 2026

    Извините за путаницу! Ссылка «v4.0.zip» в моём сообщении — это ошибка: Civitai сам превратил имя файла в ссылку на сайт, поэтому открывается белое окно. Нажимать на неё не нужно.

    Архив с нодами находится здесь же, на странице модели, но это ВТОРОЙ файл загрузки (спасибо, Tabion!):

    1. На странице модели откройте список файлов / спойлер у кнопки загрузки — там два файла.

    2. Первый файл — две схемы (workflow). Второй — архив custom_nodes_en_v4.0 (zip) с 4 папками нод.

    3. Распакуйте второй архив и скопируйте 4 папки прямо в ComfyUI/custom_nodes/ (как я писал выше), установите demucs и перезапустите ComfyUI.

    В следующей версии я положу схемы и ноды в один архив, чтобы было проще. Если что-то не получится — пишите!

    iGor777999Oct 11, 2026

    @Tabion я же не экстрасенс ..ну да затупил ....так писали что в описании ссылка на архив ..я и ищу в описании ...поэтому я и написал что нельзя ли было положить и схемы и архив в один архив ....ладно разобрался ..буду знать на будущее ...с вами так экстрасенсом точно станешь :) теперь дальше менеджер не видит Image Saver Save Video,где его искать для нас тупых надо было все в один архив пихать :)

    iGor777999Oct 11, 2026

    @koyan0418439 Отсутствует узел: Image Saver Save Video.не видит менеджер у меня этого запроса ..какие то левые где он присутствует дает и все

    iGor777999Oct 11, 2026

    @koyan0418439 архив нашел ...дальше не ставиться менеджер не находит Image Saver Save Video

    2 custom nodes

     

    ID

    Title

    Version

    Action

    Nodes

    Description

    Author

    ★

    Last Update

    1202

    ComfyUI-tbox

    2528

    ComfyUI-FastImageSequence

    iGor777999Oct 11, 2026

    @koyan0418439 менеджер не находит Image Saver Save Video, comfy обновлен ...господи дай мне терпения не бросить все это ...отсюда могу поставить или это не то?-https://github.com/farizrifqi/ComfyUI-Image-Saver

    iGor777999Oct 11, 2026

    @koyan0418439 менеджер не находит Image Saver Save Video,бросаю я все это темное дело тыкаться непонятно куда ....в один архив нельзя было залить все ..для нас тупых ...пойди туда не зная куда принеси то незная что а потом будет ли после этого желание вообще что то генерить ...пять раз уже искал не видит комфи Image Saver Save Video

    koyan0418439
    Author
    Oct 11, 2026

    @iGor777999  Простите, это моя ошибка в инструкции! «Image Saver Save Video» — НЕ из ComfyUI-Image-Saver (и не из форка farizrifqi), поэтому Manager его и не находит по имени. Это нода из другого пакета:

    ComfyUI-Video-Saver (автор diodiogod): https://github.com/diodiogod/ComfyUI-Video-Saver

    Как установить (любой способ):

    А) ComfyUI Manager → «Install via Git URL» → вставьте ссылку выше → перезапустите ComfyUI.

    Б) Если Manager не даёт ставить по Git URL: на странице GitHub нажмите Code → Download ZIP, распакуйте в ComfyUI/custom_nodes/, переименуйте папку в ComfyUI-Video-Saver, затем выполните (для портативной версии, из папки ComfyUI_windows_portable):

    .\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-Video-Saver\requirements.txt

    и перезапустите ComfyUI.

    Если у вас уже стоит ComfyUI-Image-Saver (или форк farizrifqi) — удалите его, у них одинаковые имена нод.

    И вы правы насчёт одного архива: в следующей версии всё будет в одном zip — схемы + 4 папки нод + README.

    Если что-то снова не так, проще всего спросить ИИ (Claude или ChatGPT):

    1. Запустите ComfyUI и скопируйте ВЕСЬ текст из окна консоли (особенно строки с «IMPORT FAILED», «Traceback», «Error»).

    2. Откройте Claude или ChatGPT, прикрепите файл схемы (.json) и вставьте текст консоли.

    3. Напишите, например:

    «Я запускаю ComfyUI (портативная версия для Windows) и открываю эту схему. Ноды [список красных нод] красные / вот текст ошибки из консоли. Объясни по шагам простыми словами, какие пакеты нужно установить и куда, и как исправить ошибку. Отвечай по-русски.»

    ИИ увидит, каких нод не хватает, и подскажет, что делать. Удачи, не бросайте — вы уже почти у цели!

    koyan0418439
    Author
    Oct 12, 2026

    If you don’t want to install Video-Saver
    You can replace it with ComfyUI’s built-in Save Video node. You’ll still need to do this even if you only use the song-only switch, because the workflow won’t run while a node is missing.

    Delete the red node “💾 Save final video (with Civitai metadata)”.

    Add a standard Save Video node and connect the video wire that went into the deleted node. Setting its filename_prefix to video/H3_YuE2_ keeps the same file names.

    Connect the same video wire to the video input of the run log node (“📺 Runs so far”). That input is required, so this node will stop with an error if you leave it empty.

    The finished video will be saved without Civitai metadata. The text in “📺 Civitai parameters to embed” is still shown, so you can copy it in by hand when uploading.
    Note: just bypassing the node (Ctrl+B) is not enough. The final video with the YuE2 song would not be saved at all.

    iGor777999Oct 12, 2026

    @koyan0418439 зачем ии если есть живой человек ..гпт никогда не заменит ...схема запустилась но сразу выдала красным где у вас- Запустите сервер LM Studio (по умолчанию http://127.0.0.1:1234/v1 ) пришлось обход делать отключать ..я японский не знаю к сожалению большому . что там хз...в чем причина ...да и может не в языке дело, может модель llm надо выбрать как то выставить ..послушал твои песни..шикарно шикарно...о чем они интересно песни ...жаль языка не знаю

    koyan0418439
    Author
    Oct 12, 2026· 1 reaction

    @iGor777999  Hi iGor777999, thank you so much for listening to the songs! 😊

    🇷🇺

    Спасибо, что послушали мои песни, мне очень приятно!

    1) Язык. В архиве есть английская версия workflow: в папке workflows/ файл с окончанием _en.json. Там все названия нод на английском.

    Язык текста песни зависит от вашего промпта. Пишите промпт на английском и добавьте в конце «Lyrics in English.» — песня будет на английском. (Японский текст появляется, когда промпт написан по-японски.) Другие языки можно попробовать, например «Lyrics in Russian.», но я это не проверял, и YuE2 лучше всего поёт на английском, японском и китайском.

    2) Зачем LLM (LM Studio). Это главная идея этого экспериментального workflow: из одного короткого промпта LLM делает сразу стиль и текст песни для YuE2 и отдельные промпты для каждой сцены H3. В версии Simple без LLM workflow работать не будет. Подойдёт любая модель в LM Studio (или другой сервер, совместимый с OpenAI API); лучше модель, которая понимает изображения (Qwen3-VL, Gemma и т.п.), но выбор за вами. Просто запустите сервер LM Studio и загрузите модель — настраивать ничего больше не нужно.

    3) О чём песни: тексты пишет LLM по моему короткому описанию сцены, поэтому каждая песня о своей картинке — о группе на сцене, о городе ночью и т.п. Напишите, какую песню вы слушали, и я расскажу, о чём она! 😊

    4) Какую версию workflow вы используете (например, v3.9, v4.0 или v2.34 Full)? Так мне будет проще помочь.

    🇬🇧

    Thank you for listening, I'm really glad you liked them!

    1) Language: the zip has an English workflow (workflows/, the file ending in _en.json). The song's language follows your prompt: write the prompt in English and add "Lyrics in English." at the end. Other languages (e.g. "Lyrics in Russian.") may work, but I haven't tested them; YuE2 sings best in English, Japanese and Chinese.

    2) Why the LLM: turning one short prompt into the YuE2 style + lyrics and an H3 prompt for each scene is the main idea of this experimental workflow, so the Simple version needs it. Any model in LM Studio (or another OpenAI-compatible server) works; a vision model is recommended, but it's your choice. Just start the LM Studio server and load a model.

    3) What the songs are about: the LLM writes the lyrics from my short scene description, so each song is about its own picture (a band on stage, a city at night, and so on). Tell me which song you listened to, and I'll tell you what it's about! 😊

    4) Which version of the workflow are you using (for example v3.9, v4.0 or v2.34 Full)? That will help me help you.

    koyan0418439
    Author
    Oct 12, 2026

    @iGor777999 Я тоже почти ничего не понимаю, кроме японского, но пользуюсь Google Translate. Некоторые части ваших сообщений мне непонятны, поэтому позвольте задать несколько вопросов.

    1. Почему вы решили использовать именно мой рабочий процесс?

    2. Какую версию рабочего процесса вы сейчас используете?

    3. Какие части японского текста вам трудно понять?

    Если вы предоставите эти подробности, я, думаю, смогу дать вам более конкретное объяснение.

    iGor777999Oct 13, 2026

    @koyan0418439 спасибо огромное разьяснили,вы проделали огромную работу друг очень интересная схема! Спасибо за терпение и обьяснение ваше друг! Вы хороший человек!

    iGor777999Oct 13, 2026

    @koyan0418439 вижу вы очень продвинуты раз такие схемы собираете,огромный труд! Спасибо,использую последнюю вашу версию схемы,с llm пока не разобрался вроде запустилась само llm на компьютере а как связать это все пока не понял,и модель пока не разобрался как подключить она есть на компьютере .буду методом тыка пока пробовать.спасибо.

    koyan0418439
    Author
    Oct 13, 2026

    @iGor777999 
    # Настройка LM Studio и интеграция с рабочим процессом Score2Screen

    ## ■ Установка LM Studio

    1. Загрузите LM Studio с официального сайта (https://lmstudio.ai) для вашей операционной системы (Windows / macOS / Linux) и установите её как обычную программу.

    ## ■ Загрузка моделей

    2. Запустите LM Studio и откройте вкладку «Discover» (значок лупы) на левой панели.

    3. Введите «qwen3-vl», «gemma» или другое подходящее название модели в строку поиска.

    Если используется анализ изображений, выберите модель, поддерживающую Vision (распознавание изображений).

    Для стандартной изоляции текстовых подсказок вы также можете использовать текстовую модель, не поддерживающую Vision.

    4. Выберите параметр квантования, соответствующий объёму видеопамяти вашей видеокарты (например, Q4_K_M), и нажмите «Загрузить».

    Рекомендуется убедиться в наличии достаточного объема видеопамяти (VRAM), поскольку видеопамять необходима не только для самой модели, но и для контекстной и графической обработки.

    Если вы уже скачали модель GGUF, поместите её в папку models в LM Studio со следующей структурой:

    publisher/model/model-file.gguf

    Путь к папке models можно найти в разделе "Мои модели".

    Вы также можете импортировать модель с помощью команды lms import.

    Важно: Файлы .safetensors, используемые ComfyUI, нельзя напрямую импортировать в LM Studio. Пожалуйста, используйте совместимый формат модели, например GGUF.

    ## Запуск локального API-сервера

    5. Откройте вкладку "Разработчик" (значок терминала) на левой панели LM Studio.

    6. Запустите сервер с помощью переключателя "Запустить сервер".

    Локальный API-сервер обычно работает по следующему адресу:

    http://127.0.0.1:1234

    7. Выберите нужную модель и нажмите «Загрузить модель».

    Убедитесь, что модель успешно загружена.

    Примечание: Если включена функция мгновенной загрузки (JIT), модель может быть автоматически загружена при получении соответствующего API-запроса.

    ## ■ Настройки ComfyUI

    8. Откройте узел 🧠 Prompt Splitter в рабочем процессе Score2Screen и установите следующие параметры:

    - base_url: http://127.0.0.1:1234/v1

    - model: Оставьте пустым (загруженная модель будет выбрана автоматически)

    - api_key: Оставьте пустым, если аутентификация не включена на локальном сервере

    - unload_after: True (Рекомендуется)

    Если вы используете несколько моделей в LM Studio, рекомендуется явно указать ID нужной модели в поле model.

    ## ■ Запуск рабочего процесса

    9. Запустите рабочий процесс в ComfyUI.

    Полученные API-запросы можно просмотреть на вкладке Разработчик в LM Studio. После успешного завершения обработки запроса результаты разделения будут отображены в формате JSON в узле предварительного просмотра ComfyUI 📺.

    Пользовательский узел "Prompt Splitter", входящий в состав Score2Screen, обладает функциональностью автоматического извлечения модели из памяти.

    Установка параметра unload_after в значение True приведет к отправке запроса на извлечение в LM Studio после завершения обработки.

    После успешного извлечения видеопамять GPU будет освобождена, и YuE2 и MiniMax H3 станут доступны для генерации музыки и видео.

    Важно: Если автоматическое извлечение не удалось, проверьте состояние модели и журналы LM Studio.

    Готово! LM Studio и Score2Screen теперь готовы к совместной работе.

    Удачи! И получайте удовольствие от создания замечательных работ! 🎵🎬

    iGor777999Oct 13, 2026· 1 reaction

    @koyan0418439 спасибо друг что потратил свое время ,объяснил все ,спасибо огромное ,и тебе желаю творческих успехов .

    iGor777999Oct 14, 2026

    @koyan0418439 так нИчего и не грузит этот LLM МОДЕЛЬ ЗАГРУЗИЛ В СХЕМЕ ВКЛЮЧАЮ ОШИБКУ ВЫДАЕТ ТО КЛЮЧА НЕ ХВАТАЕТ ..ЧЕГО НАДО НЕПОНЯТНО СЛОЖНО 2026-10-14 21:47:55 [ERROR]

    [LM STUDIO SERVER] { "error": { "type": "model_not_found", "message": "Model with instance identifier 'google/gemma-4-e4b' is not loaded." } } НЕСКОЛЬКО МОДЕЛЕЙ ПРОБОВАЛ ...ТУПО ПОСТРОЕНО КАК ТО ВСЕ В LLM НЕ ИДЕТ И ВСЕ ...НЕЛЬЗЯ ЛИ ПРОЩЕ СДЕЛАТЬ ..В СОСЕДНЕЙ СХЕМЕ https://civitai.red/models/2941836/yue2-simple-workflow-nd ТАМ ПРОСТО ЗАКИДЫВАЕШЬ В ПАПКУ D:\ComfyUI_windows_portable\ComfyUI\models\LLM МОДЕЛЬ И В СХЕМЕ ЭТУ МОДЕЛЬ ВЫБИРАЕШЬ КАК ОН ЭТО СДЕЛАЛ НЕ ЗНАЮ НО ЭТО НАМНОГО ПРОЩЕ ЧЕМ КОВЫРЯТЬ LLM КОТОРЫЙ НЕ ЗАПУСКАЕТСЯ

    iGor777999Oct 14, 2026

    @koyan0418439 ОТКЛЮЧИЛ LLM ОБХОД СДЕЛАЛ НЕ ЗАПУСКАЕТСЯ И ВСЕ ..ОШИБКУ ВЫДАЕТ В СХЕМЕ.

    koyan0418439
    Author
    Oct 14, 2026

    @iGor777999 
    Thank you for the detailed report, and sorry for the trouble! (English below)

    Нашёл причину. После 1-й сцены узел 🧠 выгружает модель из LM Studio (чтобы освободить видеопамять для H3). Для 2-й сцены он брал первую модель из списка скачанных (у вас google/gemma-4-e4b), а если в LM Studio выключена «Just-in-Time model loading», LM Studio отвечает «модель не загружена».

    Я обновил загрузку (те же версии v4.1 / v3.9, внутри ComfyUI-PromptSplitter v2.15): теперь 2-я сцена использует ту же модель, что и 1-я, а если модель не загружена, узел сам загружает её. Пожалуйста, скачайте ещё раз и замените папку ComfyUI-PromptSplitter.

    Если хотите, чтобы всё работало прямо сейчас со старой версией, достаточно одного из этого:

    1. LM Studio → Developer → Server Settings → включить «Just-in-Time model loading».

    2. Или в каждом узле 🧠 Prompt split впишите в поле model точное имя модели (например google/gemma-4-e4b).

    3. Или в каждом узле 🧠 поставьте unload_after = false.

    Если после этого будут другие ошибки, пришлите, пожалуйста, текст ошибки из консоли ComfyUI. Я посмотрю.

    Про папку models/LLM: да, это проще. Я сделал LLM через LM Studio, потому что хотел запускать LLM на другом компьютере в своей локальной сети, а не на том же, где работает ComfyUI. Но я понимаю, что для многих это слишком сложно. Я подумаю, как сделать простой вариант прямо в ComfyUI: модель лежит в ComfyUI/models/LLM, загружается только на время разбивки промпта и сразу выгружается, чтобы не мешать H3.

    ---

    I found the cause. After scene 1 the 🧠 node unloads the model from LM Studio (to free VRAM for H3). For scene 2 it picked the first downloaded model (google/gemma-4-e4b in your case), and when LM Studio's "Just-in-Time model loading" is off, LM Studio answers "model is not loaded".

    I've updated the download (same v4.1 / v3.9, now with ComfyUI-PromptSplitter v2.15): scene 2 now uses the same model as scene 1, and a model that isn't loaded is loaded automatically. Please download again and replace the ComfyUI-PromptSplitter folder.

    To make the old version work right now, any one of these is enough:

    1. LM Studio → Developer → Server Settings → turn on "Just-in-Time model loading".

    2. Or write the exact model name (e.g. google/gemma-4-e4b) in the model field of every 🧠 Prompt split node.

    3. Or set unload_after = false on every 🧠 node.

    If other errors still appear, please paste the error text from the ComfyUI console and I'll take a look.

    About the models/LLM folder: yes, that is simpler. I used LM Studio because I wanted to run the LLM on a different PC on my local network, not on the same machine as ComfyUI. But I understand that this is too complicated for many people. I'll think about an easy option right inside ComfyUI: the model sits in ComfyUI/models/LLM, is loaded only for the prompt split and unloaded right after, so it doesn't get in H3's way.

    iGor777999Oct 15, 2026

    @koyan0418439 Спасибо огроменное за двухстороннюю связь,что вы всегда отвечаете,вы замечательный человек,всегда отвечаете на запрос,спасибо вам.

    iGor777999Oct 15, 2026

    Спасибо друг

    koyan0418439
    Author
    Oct 15, 2026

    @iGor777999 Нет, ничего особенного. Я очень ценю ваш комментарий, потому что, хотя многие люди задумываются об этом, лишь немногие действительно находят время, чтобы оставить отзыв.^^

    koyan0418439
    Author
    Oct 15, 2026

    @iGor777999 
    Привет, Igor! Спасибо ещё раз за отзыв — он помог.

    Я выложил Score to Screen v5.4: теперь всё работает внутри ComfyUI, LM Studio больше не нужен.

    🧠 LLM внутри ComfyUI

    - Просто положите GGUF (те же файлы, что и в LM Studio) в ComfyUI/models/LLM/ и выберите его в новой ноде «🧠 LLM settings». Для картинок положите mmproj в ту же папку — он подключится сам.

    - Работает через официальный llama-server из llama.cpp. Он скачивается сам при первом запуске (CUDA-версия для NVIDIA), запускается только на время разделения промпта и сразу останавливается. Модель загружается и выгружается автоматически, VRAM остаётся свободной для YuE2 и H3. Ошибки model_not_found больше не будет.

    - Модель по умолчанию — Qwen3-VL-4B-Instruct Q4_K_M (~3,3 ГБ, видит картинки), тоже скачивается сама. Ничего не нужно ставить через pip или компилировать.

    - LM Studio (в том числе на другом ПК) по-прежнему работает: backend = lm_studio.

    Также нового:

    - ✍ Prompt check (manual): после разделения промпта запуск ставится на паузу, можно поправить текст каждой сцены и нажать Continue.

    - ⏳ Промпты всех сцен читаются до отрисовки — меньше перезагрузок моделей.

    - 🔍 RTX Video Super Resolution (по желанию, по умолчанию выключено).

    Обновление: замените все 4 папки из custom_nodes/ архива. Если что-то не так — пишите, буду рад помочь!

    —

    iGor777999Oct 15, 2026

    @koyan0418439 ПАПКИ ОБНОВИЛ ,ВОРКФЛОУ ТОЖЕ.LLM НЕ РАБОТАЕТ ТАК ЖЕ ПИШЕТ АПИ API СТАРЫЙ ВСЕ ЛОГИ НЕ ПОМЕЩАЮТСЯ В СООБЩЕНИЕ

    iGor777999Oct 15, 2026

    @koyan0418439 LLM УДАЛИЛ ВЕСЬ МОЗГ ВЫНЕС ..МОДЕЛЬ ЗАГРУЖЕНА ,НЕ РАБОТАЕТ И ВСЕ  

    koyan0418439
    Author
    Oct 15, 2026

    @iGor777999 Спасибо, Igor! Без текста ошибки я, к сожалению, не могу понять причину. Но весь лог не нужен — только небольшая часть.

    Под «логом» я имею в виду текст консоли ComfyUI: чёрное окно, в котором работает ComfyUI (или панель Logs / Terminal в ComfyUI Desktop).

    Самый простой способ: когда появляется окно с ошибкой, скопируйте из него только разделы «Error Details» и «Stack Trace» (без раздела «Logs»). Это всего 15–30 строк.

    Или в консоли: строки от «got prompt» до красной ошибки, и особенно строки с «[PromptSplitter]».

    Жёлтые строки «[DEPRECATION WARNING] … deprecated legacy API …» — это не ошибка, их можно не копировать.

    —

    Thanks, Igor! Without the error text I'm afraid I can't tell what's wrong, but I don't need the whole log — just a small part.

    By "log" I mean the ComfyUI console text: the black window ComfyUI runs in (or the Logs / Terminal panel in ComfyUI Desktop).

    Easiest way: when the error window pops up, copy only its "Error Details" and "Stack Trace" sections (not the "Logs" section). That's only 15–30 lines.

    Or from the console: the lines from "got prompt" down to the red error, especially the ones with "[PromptSplitter]".

    The yellow "[DEPRECATION WARNING] … deprecated legacy API …" lines are not errors, no need to copy them.

    iGor777999Oct 16, 2026

    @koyan0418439  так в comfy то как раз там не видно ошибки в консоли а ошибка в llm в консоли ,модель загрузилась,ключ в настройках нашел,но единственное у меня в llm заканчивается адрес 1234

    iGor777999Oct 16, 2026

    @koyan0418439 вечером еще раз llm поставлю заведу ,чтоб ошибку скинуть,

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 

    @iGor777999 Понятно, спасибо! Адрес с «1234» — это нормально: 1234 — стандартный порт сервера LM Studio.
    Сначала вопрос: у вас локально запущен LM Studio или какой-то другой LLM-сервер (Ollama, text-generation-webui и т.п.)? Какой именно?
    Если вы используете LM Studio и ошибка видна в его консоли, пожалуйста, скопируйте оттуда текст ошибки — обычно это несколько красных строк во вкладке Developer / Server Logs.
    И проверьте, пожалуйста:

    Адрес в ноде PromptSplitter должен быть вида http://127.0.0.1:1234/v1 (если LM Studio на другом ПК — его IP вместо 127.0.0.1).

    Если в LM Studio включено «Require Authentication», ключ в ноде должен совпадать с ключом в LM Studio (или просто выключите эту опцию).

    Имя модели в ноде совпадает с загруженной моделью в LM Studio.
    Кстати, в версии v5.4 LLM работает прямо внутри ComfyUI, поэтому запускать LM Studio больше не нужно. Возможно, так будет проще всего.

    iGor777999Oct 16, 2026

    @koyan0418439 я скопировал с llm и адрес и имя модели там где было скопиповать и вместо вашего http://127.0.0.1:1234/v1 вставил тот что в моем llm http://127.0.0.1:1234

    iGor777999Oct 16, 2026

    @koyan0418439 внутри комфи llm это как? может да проще,как это сделать поподробнее а то мне этот llm за три дня уже в печенках сидит ,психанул вчера удалил его

    iGor777999Oct 16, 2026

    @koyan0418439 еще вопрос я понимаю что я тупой в этой теме,могу я свои стихи закидывать обходя llm ,так и не понял в какое окно это кидать , 

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 @iGor777999 Нашёл причину! В конце адреса обязательно нужно «/v1»: http://127.0.0.1:1234/v1. LM Studio показывает адрес без «/v1», поэтому эту ошибку делают очень многие. Именно из-за этого и была ошибка в LM Studio.

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 
    @iGor777999 Понимаю, три дня — это тяжело 🙂 Раз LM Studio уже удалён, проще всего перейти на v5.4: там LLM запускается прямо внутри ComfyUI, поэтому LM Studio, адреса и ключи больше не нужны.

    Скачайте архив v5.4 и распакуйте его.

    Закройте ComfyUI. Скопируйте 4 папки из custom_nodes/ архива прямо в ComfyUI/custom_nodes/ (старые версии этих папок сначала удалите).

    Запустите ComfyUI и перетащите в окно workflows/score2screen_v5.4_simple_en.json.

    В ноде «🧠 LLM Settings» ничего менять не нужно (backend = gguf). При первом запуске всё скачается само: llama.cpp и модель Qwen3-VL-4B-Instruct (около 3,3 ГБ). Первый раз это займёт немного времени.
    Если у вас уже есть свой GGUF-файл, можно положить его в ComfyUI/models/LLM/, нажать R и выбрать его в gguf_model.
    Если что-то не получится, напишите — разберёмся.

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 
    @iGor777999 Вы совсем не тупой — это хороший вопрос!
    Эта workflow задумана так: вы пишете один текст, а LLM сама делит его на стиль музыки, стихи и описание видео. Поэтому отдельного окна для своих стихов в ней нет.
    Если вы хотите сами вводить стихи и всё остальное вручную, без LLM, то лучше использовать обычные простые workflow для YuE2 и H3 (например, шаблоны в ComfyUI). Там есть отдельные поля Style и Lyrics, и это намного проще.
    Но если хотите оставить эту workflow, можно просто написать свои стихи в текст 1-й сцены с тегами [Verse] / [Chorus] — LLM их сохранит и передаст в YuE2.

    iGor777999Oct 16, 2026

    @koyan0418439 вечером попробую теперь думаю когда вы все разложили по полочкам у меня должно получится,спасибо за ваше терпение к моим вопросам.

    iGor777999Oct 16, 2026

    @koyan0418439спасибо 

    iGor777999Oct 16, 2026

    @koyan0418439 шикарно шикарно..теперь легче все, все сработало как часы. все сгенерировалось ,единственное жаль что поет на энглишь , я прописал в prompt split, scene 1 «Lyrics in Russian.».A Russian song in Russian но не помогло жаль ..а так схема прошла все сгенерировалось идеально ..теперь все легко стало и просто.

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 
    Спасибо! Рад, что всё заработало. 🙂
    Про язык текста: исправил в новой версии v5.6 (PromptSplitter v3.1). Напишите «Lyrics in Russian.» (или весь промпт на русском) — текст песни будет на русском. Если LLM всё же напишет по-английски, он автоматически переспросит, а в стиле YuE2 будет «Russian vocals». Замените папки custom_nodes, перезапустите ComfyUI и обновите страницу (Ctrl+F5).

    iGor777999Oct 16, 2026

    @koyan0418439 вставил куплет припев и свои стихи в текст 1-й сцены с тегами [Verse] / [Chorus] все сработало но половина песни на энглишь половина на русском .все норм .Спасибо друг ты проделал огромную работу ..

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 Я рад, что всё разрешилось.^^

    iGor777999Oct 16, 2026

    @koyan0418439 он две сцены по 10 секунд собирает потом собирает их в одно ,а где время увеличить

    koyan0418439
    Author
    Oct 16, 2026

    @iGor777999 
    В версии 5.6 в левом нижнем углу ComfyUI добавлена ​​кнопка временной шкалы. Нажатие на эту кнопку отображает горизонтальную временную шкалу, позволяющую визуально регулировать длительность сцены, перетаскивая разделительные линии между изображениями влево или вправо. Вверху отображаются настройки регистрации исходных изображений, а справа — длительность сцены. Длительность сцены можно установить максимум на 20 секунд, но это потребляет много памяти. Для H3 рекомендуется устанавливать максимальную длительность сцены примерно в 15 секунд.

    iGor777999Oct 17, 2026

    @koyan0418439 сильно сильно .как ты это делаешь? что за магия? молодец!!!

    koyan0418439
    Author
    Oct 17, 2026

    @iGor777999 
    К сожалению, я не волшебник ^^ Это сила ИИ, поэтому, пожалуйста, используйте Клода, ChatGPT, Gemini и т.д. Уверен, они вам помогут.

    iGor777999Oct 17, 2026

    @koyan0418439 труд и время ваше плюс идеи ,плюс терпение. создаете красоту для всех. спасибо.

    koyan0418439
    Author
    Oct 17, 2026

    @iGor777999 
    Я просто занимаюсь тем, что мне нравится, но я рада и польщена вашими словами. Спасибо. ^^

    iGor777999Oct 20, 2026

    @koyan0418439 привет как дела

    koyan0418439
    Author
    Oct 20, 2026

    @iGor777999 
    Привет! Всё хорошо, спасибо! Недавно мне написали, что этот воркфлоу слишком сложный и запутанный, и спросили, можно ли сделать простую версию без LLM и YuE2, но с редактированием таймлайна. Вот я как раз его и делал ^^
    https://civitai.com/models/3011810/tap-to-screen-minimax-h3-lip-sync-mv-on-your-own-song-1-4-scenes-timeline

    iGor777999Oct 21, 2026· 2 reactions

    @koyan0418439 вы молодец! Идете людям навстречу всегда!

    iGor777999Oct 23, 2026

    @koyan0418439 друг эту модель не тестил ?fastvideo_fasth3_8step_v2_pruned_int8_convrot.safetensors

    koyan0418439
    Author
    Oct 23, 2026· 1 reaction

    @iGor777999 
    Я ещё не пробовал высокоскоростные модели. Сейчас я думаю только о таких вещах, как синхронизация ударных, поэтому хотел бы не торопиться и попробовать различные модели настройки.

    Workflows
    MiniMax H3

    Details

    Downloads
    96
    Platform
    CivitAI
    Platform Status
    Available
    Created
    10/9/2026
    Updated
    11/8/2026
    Deleted
    -

    Files

    custom_nodes_en_v4.0.zip

    Mirrors

    CivitAI (1 mirrors)

    score2screen_v4.0_simple.zip

    Mirrors

    CivitAI (1 mirrors)