Input
{{ studioMode === 'edit' ? 'Drop the still to edit. An optional second still applies image 2 onto image 1. Both run on Beast; files are removed from the desktop after save.' : 'Drop a still, describe the motion, then relay the job to the local desktop.' }}
Still loaded · preview hidden
Toggle Hide input still off to show it
{{ studioMode === 'edit' ? 'Image 1' : 'Choose an image' }}
Browse the library or upload a new PNG, JPG, or WEBP
Image 2 · optional
{{ editRefFile ? 'Two-image branch on. Image 2 is applied onto image 1.' : 'One-image branch on. Add a second still to transfer details from image 2.' }}
Paste a block. Text before the first marker is shot 1. Put shot 2, shot 3 on their own lines to queue extensions — a line like Shot Type will not start a new shot. Every shot uses the duration slider. The Comfy identity prefix is prepended to every shot, and the same Picture 1 / extra stills are sent with each shot.
Write camera, action, and audio. That is the dynamic action prompt. We concatenate the <Picture 1> identity prefix in front of it and send the result to Reference to Video, not Image to Video.
Pass {{ index + 2 }}
Prompt sent to Reference to Video
Identity prefix
{{ identityBoilerplate(extraIdentityPictures) }}
Dynamic action prompt
{{ identityActionPrompt }}
Concatenated result
{{ composedIdentityPrompt }}
Add a first shot, then shot 2 for an extension.
{{ index === 0 ? 'Initial' : `Extension ${index}` }} · shot {{ shot.n }} · {{ formatClipDuration(duration) }}
{{ identityPrompting ? buildIdentityPrompt(shot.prompt, extraIdentityPictures) : shot.prompt }}
Extension #{{ index + 1 }}
Save to library
Output preview hides library thumbs and autoplay. Click the player or still to reveal; click anywhere else on the page to hide it again. Folder default applies to output preview when you pick a new still.
MiniMax graph
Picture 1 is the start still and stays Picture 1 on every shot, including queued extensions. Extra stills map to Picture 2–5. Empty extra slots reuse the start still.
Generation settings
Aspect ratio / resolution
Output {{ outputSize.width }} × {{ outputSize.height }}{{ aspect === 'auto' ? ' · matching the still' : '' }}
Steps
{{ turbo ? 'Default 1.5 with Turbo LoRA' : 'Default 4.0 with High-Fidelity' }}
Sampler & scheduler
Image edit settings
Flux.2 Klein 9B on Beast. Sidecar is off. {{ imageComfyBadge.label }}
Beast {{ imageBeastHost || imageComfyHost || 'unset' }}{{ comfyOk ? (comfyBusy ? ' · busy' : ' · free') : ' · offline' }}
Graph default is 20 steps, CFG 1, euler. A second still switches the two-image branch on.
{{ editBlockReason }}
Held jobs
Comfy was still busy after 3 minutes. Click one to restore the still, prompt, and settings.
Output
{{ editElapsedLabel }} · chain {{ editChainStep }}/{{ editChainTotal }} · step {{ editStep }}/{{ editMaxStep }}
{{ elapsedLabel }} · chain {{ chainStep }}/{{ chainTotal }} · step {{ step }}/{{ maxStep || defaultVideoSteps(turbo, videoWorkflow) }}
Video is using Beast. This edit waits in the Comfy queue.
Image edit is using Beast. Video waits until that finishes.
Step {{ chainStep }}/{{ chainTotal }}{{ chainLabel ? `: ${chainLabel}` : '' }} · {{ overallProgress }}% overall
- {{ part.label }} {{ part.prompt }} {{ formatClipDuration(part.duration) }}
Extend this clip
Continue from the last frame with a new motion prompt, then stitch the segments together.{{ extendSaveName ? ` Saves as “${extendSaveName}”.` : '' }}
{{ lastFrameLoading ? 'Reading last frame…' : 'Last frame preview unavailable' }}
Step {{ editChainStep }}/{{ editChainTotal }}{{ editChainLabel ? `: ${editChainLabel}` : '' }} · {{ editOverallProgress }}% overall
- {{ part.label }} {{ part.prompt }}
Library
Generated outputs only. Uploaded stills live in the image picker.
{{ libraryEmptyLabel }}
-
{{ collectionTitle(entry.group) }}
{{ familyScript(entry.group.parts) }}{{ clipMetaLine(entry.group.head) }}
-
{{ item.name || item.prompt }}
{{ clipMetaLine(item) }}
{{ stillCollectionTitle(entry.stillGroup) }}
{{ stillFamilyScript(entry.stillGroup.parts) }}{{ stillMetaLine(entry.stillGroup.head) }}
-