Prompt · version 1
Turn my assembly brief into commands
Ask an assistant to translate your choices into a local edit.
Example: Six pictures with unequal durations and a finished sound mix.
Show the full prompt
The published prompt stays unchanged.
Turn pictures, narration and chosen clips into a movie. Try a tested FFmpeg recipe, watch your first cut, and revise its timing.
Go to My experimentExplore
Watch · Assemble · Revise
Story Studio gives you a story, picture choices and a sound plan. Here, make those choices into a movie you can watch, keep and change.
FFmpeg is a media tool that runs on your computer. It converts, cuts and combines files; it does not invent your story or choose its pacing. An AI assistant can help translate your decisions into commands. You decide whether the result works.
Six still pictures follow unequal passage timings, with about four seconds of final-picture hold.
Credit: Story and direction: Renaissance Solutions. Artwork created with OpenAI; existing Speechify George narration and project-synthesized sound cues. See the retained credit record. Credit details
Picture two arrives one second later; narration, picture three and total duration stay in place.
Credit: Story and direction: Renaissance Solutions. Artwork created with OpenAI; existing Speechify George narration and project-synthesized sound cues. See the retained credit record. Credit details
Read the transcript and sound descriptions · Download captions · Source credits
Download the movie example package. It contains six pictures, finished narration, timing sheets, readable filter files, commands, captions, credits, practice clips and reference movies. Extract it into a new folder before running anything.
A terminal is a place to type instructions. A command names a tool, its inputs, and what to produce. Run one command at a time; wait until the prompt returns. Long commands below are still one line.
Open Terminal from Applications → Utilities. If Homebrew is already installed, run brew install ffmpeg. Otherwise use the FFmpeg download page or the Homebrew installation guide to choose an installer for your Mac. FFmpeg links to third-party compiled builds; you do not need to compile its source.
Open a new Terminal window and run ffmpeg -version, then ffprobe -version. Both should print version information. Type cd with a trailing space, drag your extracted example folder into Terminal, then press Return. Run pwd and ls to confirm that you see the pictures and narration.
Use a Windows build linked from the FFmpeg download page. Extract it into a stable folder such as C:\Tools\ffmpeg; locate the bin folder containing ffmpeg.exe and ffprobe.exe. Add that bin folder to your user Path in “Edit environment variables for your account,” then open a new PowerShell window.
Run ffmpeg -version and ffprobe -version. In File Explorer, open your extracted example folder, type powershell in its address bar, and press Enter. Run Get-Location and Get-ChildItem to check the folder. The one-line commands below use double quotes and work as PowerShell syntax. Native Windows execution has not been tested.
Run ffprobe -v error -show_streams -show_format narration.mp3. Look for codec_type=audio, duration, sample rate and channels. Inspect a video the same way to see its picture dimensions, frame rate and audio streams. A filename extension alone does not tell you which streams it contains.
The example folder holds picture-01.webp through picture-06.webp, narration.mp3, the two .filter.txt files, and supporting text files. Reference outputs are in reference/; your new outputs appear beside the inputs. Keep real extensions: renaming a PNG to JPG does not convert it.
Protect the originals: every export uses -n, which refuses to replace an existing file. For another attempt, change only the output name. Quote paths containing spaces, for example "my narration.mp3". FFmpeg works locally; an external AI service has its own file-handling rules. You can ask for help using filenames and ffprobe details without uploading media.
Listen for the start of each passage and note its time. Subtract one picture’s start from the next to get its duration. For example, the second picture starts at 11.500 seconds and the third at 18.638, so picture two lasts 7.138 seconds. Equal picture durations would lose this relationship.
The filter file fits each image inside a 1920 × 1080 canvas with padding, keeps it still, and joins the six segments. Its end_frame values express duration in 30 fps frames. The command adds the finished narration and keeps the final picture until about four seconds after the audio ends.
56.800 seconds; six still pictures, finished narration and about four seconds of ending silence. Image boundaries are rounded to the nearest 30 fps frame.
Expected file: first-cut.mp4. Keep every input file.
The workshop and bird cues are already in this narration. Preserve that mix: do not add those effects again.
The second version holds picture one for one more second and shortens picture two by the same amount. Picture three still starts at 18.638 seconds; the soundtrack and total duration stay in place. Watch around 11–13 seconds in both versions.
56.800 seconds; six still pictures, finished narration and about four seconds of ending silence. Image boundaries are rounded to the nearest 30 fps frame.
Expected file: revised.mp4. Keep every input file.
Keep an unchanged copy of the example. Give your assistant your filenames, measured passage starts, finished audio duration and the downloaded timing sheet. Ask it to propose updated filter values and a new output name, then approve the timing yourself.
At 30 fps, calculate each cumulative change time × 30 and round to the nearest frame. Subtract adjacent frame positions for each segment’s end_frame; this avoids accumulating rounding error. Set the final frame position to the narration duration plus about four seconds, rounded up. The command’s -t value is the total frame count divided by 30.
For more or fewer pictures, update the inputs, filter labels and concat count together. If an assistant cannot inspect or align your audio, it must say so; listen and supply the times. Recheck caption text and timing whenever narration changes.
The package includes two short pan-and-zoom practice clips made locally from the story pictures. They have different dimensions and frame rates; one has no audio, the other has a quiet tone. They demonstrate editing mechanics, not new story scenes.
First trim each clip and make their dimensions, frame rate and audio layout agree. The first command mutes original sound and supplies silence. The second retains its original audio. Use the timing sheet to make that choice for your own clips.
Three seconds, padded to 1080p, with a silent audio track. Adding silence makes later joins predictable.
Expected file: clip-a.mp4. Keep every input file.
Three seconds of portrait video with side padding and its quiet practice tone retained.
Expected file: clip-b.mp4. Keep every input file.
Six seconds: the cut is at three seconds. This re-encodes for consistent output; arbitrary camera clips are not safe to join with stream copy.
Expected file: joined-clips.mp4. Keep every input file.
Two seconds, including a silent audio track.
Expected file: still-clip.mp4. Keep every input file.
Eight seconds: a still picture followed by the two practice clips.
Expected file: mixed.mp4. Keep every input file.
Copy or re-encode? Stream copying (-c copy) avoids re-encoding, but joining requires matching codecs, stream layouts and time bases. Cuts may be limited by keyframes. These joining recipes re-encode normalized clips for consistent boundaries; use copying only after inspecting compatibility. The caption recipe below shows a safe copy of an already finished picture and soundtrack.
Think of narration, music, original clip sound and effects as separate layers. Write down when each starts, how long it lasts, and its level. A sound may start before a cut or continue after it. A quiet moment can work without another effect.
These practice commands cut six excerpts from the supplied finished recording, then join them in story order. Run all six trim commands before the join. With your own recordings, choose the takes and trim their boundaries first. These commands preserve sample rate/channel compatibility by converting to 48 kHz stereo WAV.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-01.wav. Keep every input file.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-02.wav. Keep every input file.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-03.wav. Keep every input file.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-04.wav. Keep every input file.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-05.wav. Keep every input file.
A practice excerpt from the existing finished mix. Your own takes can be separate recordings; retain the originals.
Expected file: take-06.wav. Keep every input file.
The six practice WAV takes reassembled. Use the completed listening copy as the input to your picture sequence; do not add its existing effects again.
Expected file: joined-takes.wav. Keep every input file.
First complete “Trim a video,” “Trim another video,” and “Join the normalized clips” above to create joined-clips.mp4. The sound exercise uses a quiet synthetic bed and a one-second cue. The cue starts at 2.5 seconds and crosses the cut at 3 seconds. Replace these practice tones with your own permitted music or effects when telling your story.
The cue begins at 2.5 seconds and lasts one second, crossing the cut at 3 seconds. Bed and clip sound stay separate until this export. These are synthetic practice tones, not a music recommendation.
Expected file: sound-across-cut.mp4. Keep every input file.
Sound description: a soft low tone under two clips; a higher cue crosses the cut at three seconds. No speech. Download the sound exercise.
For the narration comparison, first run “Trim practice take 1” in the six-takes section to create take-01.wav.
The six-second bed ends before the narration; every word should remain clear. Listen and lower the bed further if needed. This is an optional comparison, not an instruction to remix the finished Story Studio narration.
Expected file: speech-with-bed.wav. Keep every input file.
Listen to the narration excerpt with and without the bed. Keep every word clear. The example gain values are starting points, not universal loudness settings; lower a layer if it distracts. Keep separate sources so the mix can be revised.
Watch from beginning to end with sound on. Check picture changes, speech clarity, clipped tails, silent gaps, captions and the final hold. Open the exported file in another player or on the intended device. A successful command is only the first check.
Video and audio are copied unchanged. Switch captions on in a supporting player; keep the SRT and transcript for players without subtitle support.
Expected file: story-captioned.mp4. Keep every input file.
A WAV audio file, including the ending silence; the movie is unchanged.
Expected file: listening-copy.wav. Keep every input file.
A 720p derivative. Keep the 1080p export and originals.
Expected file: viewing-720p.mp4. Keep every input file.
The captioned MP4 carries selectable subtitles, including ending credits. Keep the separate SRT, VTT and transcript too: subtitle support varies between players. Review passage-aligned caption timing and readability for your audience. Retain CREDITS.txt and check permissions before sharing beyond the lesson.
Your editable project here is the source media, filter files, commands and timing sheet. Keep the first cut, final export, original takes, captions, credit record and revision notes together.
-n is protecting your previous take. Choose a new output filename.setsar=1). Black bars are preferable to distortion; choose another framing deliberately if needed.-shortest, which can remove the ending hold.ffmpeg -encoders. Do not simply change the output extension.Open any approach to inspect its starting material, human work, outputs, and sequence.
Use My experiment to note your audience, material, limits, equipment, and sharing restrictions. Every field is optional. “Try with our example” fills only an empty goal and constraints field.
Prompt · version 1
Ask an assistant to translate your choices into a local edit.
Example: Six pictures with unequal durations and a finished sound mix.
The published prompt stays unchanged.
Decide
Use a few criteria and a separate must-have list. An unknown must-have remains unresolved.
Each change supports its passage; timings can be unequal.
Acceptable: You can explain and revise each picture change.
Music and effects support the narration without duplicating its existing mix.
Acceptable: Listen from beginning to end and lower distracting layers.
Retain originals, timing sheet, commands, captions and credits.
Acceptable: A second cut can be made without replacing the first.
What an AI response says. Follow the sources before relying on it.
What an opened source states. This does not prove product performance.
What RS observed in a dated, bounded trial.
What is unknown, unverified, or outside the trial.
Prompt · version 1
Describe what you saw or heard, then make one traceable change.
Example: A picture arrives early, or a sound masks one word.
The published prompt stays unchanged.
Experiment
Compare a first cut with one deliberate timing revision.
Make the repairer movie, then move the second picture from 11.5 to 12.5 seconds while keeping the third picture and the soundtrack in place.
Download the example package. Use its six pictures, narration, first-cut.filter.txt and revised.filter.txt.
No account, paid generation or upload is required. Allow time for installation and rendering.
Watch first-cut.mp4 with picture two starting at 11.5 seconds.
Watch revised.mp4 with picture two starting one second later.
Only one candidate? Compare the provided reference movies before installing anything.