A free, step-by-step guide by Joe Hu

You don't need to know how to edit. You need to know what you want.

Not one-shot. My real process: every draft, every note, every retry.

Real draft frames of the Stripe film flowing out of the dark toward the finished film

TL;DR

The whole guide in thirty seconds.

What it is

Every video I've posted since March, more than 100, I made without an editing app. An AI coding tool edits my own clips as code, and I give notes until it's right. Nothing is generated.

What you need

Claude Code or Codex, a folder of your own photos or clips, and patience. Mostly patience.

Free. The guide, and an open-source kit with every prompt and Skill.

Start with two messages

1 · Install the Skill
Install the make-a-video Skill from github.com/hubeiqiao/how-i-make-videos-with-ai
2 · In a folder of your photos or clips
Use the make-a-video Skill. Make a 30-second video from the files in this folder. It is for [who will watch]. After watching, they should [believe or do one thing].

Made this way, no editing app

Selected launch films. Then twelve in six days.

Launch filmsCurrent release and earlier projects

The original Joe Speaking launch took about two weeks in March–April 2026. Watch that archived film. The card below shows the current 1.0 introduction.

With Opus 5.5Sep 23 to 28

12 videos in 6 daysin the spare time around building my app

  • Sep 27
    Release preview v0.9.4
  • Sep 28
    5 interview cuts

Before and now

Before, you learned an editing app. Now you tell the AI.

My camera roll: 898 photos and videos from BlizzCon.

Before. In Premiere or CapCut you sort them and drag every clip by hand. I never learned how.

Now. I pointed Claude Code at the folder and said what I wanted, in plain words.

It edited my real footage. Cuts, music and captions: a 3:15 vlog, 16 versions in half a day.

And it takes my notes exactly. It writes code, so a note changes only the lines it is about. A video model would paint the whole clip again.

This is what AI changes. Not a faster editor: a skill you never had to learn.

Before you start

Four ways to make a video

Which one this guide uses, and when another way is better.

  1. 1By hand, in an editing app

    • Premiere Pro
    • CapCut
    • DaVinci Resolve
    • Good: Full control of every frame.
    • Hard: You learn the app; every change is by hand.
  2. 2A video model paints it

    • Veo (Google)
    • Kling
    • Seedance (ByteDance)
    • Runway
    • Good: Shots you could never film.
    • Hard: Faces, words and logos drift.
  3. This guide

    3An AI writes code that renders it

    • Claude Code
    • Codex
    • Remotion
    • Python
    • FFmpeg
    • HeyGen
    • Good: Your real footage, changed exactly where you point.
    • Hard: A little setup on your computer.
  4. 4An AI runs an editing app

    • Computer use (Claude)
    • Computer use (Codex)
    • MCP
    • Good: A project file you can finish by hand.
    • Hard: Needs the paid app open; scripts can't do every edit.

If you remember one thing

One tip: make it with Opus 5.5. It wins the lottery far more often.

Medium effort is the default. If you want better drafts, turn it up.

Your part: the same with any modelThe AI's part: shorter with a better model

Earlier models

First draftFixesAssemblyThe Skill

Opus 5.5

First draftFixesAssemblyThe Skill
  • Know what you want
  • Gather your files
  • Watch and write notes
  • Choose what stays
  • Check it on a phone

Illustrative, from my experience. Real times are in the chart below.

It's a gacha

Every draft is a pull. SSR is the one you ship.

Most pulls are N or R. A better model is a rate-up banner: more SR and SSR. You still pull, and you still pick. Every card is a real draft of my Stripe film.

Earlier models

Opus 5.5

It plays by itself. Rarity is how close a real draft of my Stripe film came to the one I shipped. Rates are illustrative, from my experience.

A better model is still a lottery. It just wins sooner: half a day for BlizzCon, not two weeks.

The method

Five steps. The same with any model.

I used them on every video, from the first chat-app drafts to Opus 5.5. Each step shows what stays yours, and what a better model now does faster.

Prepare

Know what you want. Then gather your files.

Decide who the video is for and what you want them to think and do. Then collect the real files that prove it. They are your story.

The product
The productproves what it is
App Store image
App Store imageshows what users say
Usage dashboard
Usage dashboardproves AI at scale

The brief

Who watches
The team hiring for the role
They should believe
He builds real products with AI and helps others do the same.
Then they should
Open my page and get in touch
My real folder: one folder per section ↗
Workshop photo
Workshop photoproves people came
Campus email
Campus emailproves the result
Syllabus
Syllabusproves faculty adopted it

Stays yoursWhat you want, and your real files. No model can invent them.

Faster with Opus 5.5It asks you the questions first, then finds and sorts your files.

Done when every part of your outline points to a real file.

I wrote who would watch and what I wanted from them, then collected every file that could prove it. AI can help you search and sort; you decide what goes in.

Your turn3 actions and a prompt to copyOpen
Prompt for this stepShow
Copy, fill the [brackets], paste
Here is my goal and my material.
Audience: [who will watch].
After watching, they should believe: [one sentence].
Then they should: [one action].
It will be posted on: [platform]. Length: [about 60 seconds]. Shape: [16:9 / vertical].
My files are in originals/: screenshots, photos, logo, fonts and earlier work.
Before you plan anything, ask me the questions you need answered. Then list what each file proves, flag any claim that has no file behind it, and propose an outline of 6 to 10 sections. Do not write scenes or render anything yet.
Before you show me the outline, check your own work: confirm every claim in it has a file behind it, and mark any that does not.

Draft

Get the whole draft once. Then react.

A complete draft is a lottery ticket. Its only job is to be judged. If it has a voice, lock the words first.

Complete, start to finish Timed to the voice Reads like slides No hook

My tenth full draft, every section in order. Not good, and that was the point: now I could see what to fix. It's a lottery ticket ↑

Stays yoursJudging it. Keep a draft that is roughly right; ask again if it is far off.

Faster with Opus 5.5Good drafts come far sooner. Wissal's birthday film: an approved cut in 37 minutes.

Done when a playable video exists from the first word to the last.

I ask for the complete video, not a perfect opening. I lock the spoken words first, so every picture can land on them.

Your turn3 actions and a prompt to copyOpen
Prompt for this stepShow
Copy, fill the [brackets], paste
Using notes/outline.md and originals/, first write the narration as natural spoken English, about [120] words (roughly two words per second of video), and a storyboard in notes/beats.csv: one row per phrase with the words, the file from originals/ that appears (or "missing: needs a screen recording or a generated image"), the text on screen and how things move. Stop so I can approve the words and the storyboard.
After I approve them, build the complete first draft. Time every section to the narration and keep each section a separate, editable scene. Ease every movement, and carry something across from one scene to the next rather than a hard cut, unless the story needs the cut. Include every section; do not polish only the opening. Render a quick lower-resolution preview first (working/out/draft-v1-preview.mp4) and give me a link to open it. Export full quality only after I approve.
Before you show me each one, check your own work: compare the script length with the target, confirm every phrase has a picture or is marked missing, render stills at the key moments into one contact sheet, confirm no text is cut off or overlapping, and check the voice loudness.

Direct

Point at the problem. Fix one section at a time.

Pause where it feels wrong and write a numbered note. Fix one section, round after round, then lock it.

The opening, round by round

Stays yoursWatching every round yourself, and deciding when a section is done.

Faster with Opus 5.5It checks its own work first, so rounds go faster: 16 BlizzCon versions in half a day.

Done when every section has an approved file name and you have nothing left to say.

On the Stripe film the opening alone took seven rounds. Each time I paused where it felt wrong, took a screenshot and wrote a numbered note. When it was right I said: lock this one, it's the template.

Your turn3 actions and two prompts to copyOpen
Prompt for this stepShow
Copy, fill the [brackets], paste
I watched draft-v1. My notes:
1. [0:03 or section]: [what's wrong] → [what I want]
2. [0:08 or section]: [what's wrong] → [what I want]
Keep: [what already works].
Sound: [music or no music, and the feel], [voice too loud or too quiet anywhere].
Reference (optional): [video file or link]. Borrow its [pace / type / energy], not its content.
Fix only the [opening] for now. Export working/out/[opening]-v2.mp4 with one second of the neighbouring sections, and keep the previous version.
When I say a section is approved, record its file name in notes/accepted.md and write its rules in notes/style.md: at most three colours, one pair of fonts, one kind of background and one kind of music. Every later section follows that style, and approved sections are never touched again.
Before you show me, check your own work: confirm each note names a moment, what is wrong and what I want (ask me about any that does not), render stills at the key moments into one contact sheet, confirm no text is cut off or overlapping, check the voice loudness, and list each of my notes as done or not.
Magic Move promptShow
Copy, fill the [brackets], paste
Carry the same [element] from [its place in scene A] to [its place in scene B]. It must be one object that moves and resizes continuously, never a crossfade between two copies. Match its crop, background and layer order when it lands. Show me the start, middle and landing frames and a playable preview.

Assemble

Put it together. Listen at every join.

Music, voice and the cuts between sections only show up in the whole film. Check every join, and the music.

The timeline an editor would show you

I never touched it. I read it.

Picture
  1. Hook
  2. Builder
  3. 8 years
  4. Product
  5. Distribution
  6. Methods
  7. Sharing
  8. Close
Voice
Music
Transition frame showing the old dashboard value

A glitch at 0:10 · a split second

Each section looked right on its own. The joined film showed the correct 81.2B, then flashed the old 80.2B for a split second as it cut to the next section.

Stays yoursListening at every join, and choosing the music.

Faster with Opus 5.5It matches loudness across sections and fixes only the join you flag.

Done when you can watch it end to end without wincing once.

I assembled only approved sections, then watched the whole film: once for story, once for sound, once at every join. The music was reshaped around the story: rise at the product, quiet for my origin, celebrate the result.

Your turn3 actions and two prompts to copyOpen
Prompt for this stepShow
Copy, fill the [brackets], paste
Assemble the approved versions in notes/accepted.md into working/out/full-review-v1.mp4. Match voice loudness across sections.
List every join with its timestamp. I will watch the whole film; for any join I flag, fix only that boundary and export again under a new name.
Before you show me, check your own work: render stills just before and just after every join into one contact sheet, look for any old frame that flashes at a cut, confirm no text is cut off or overlapping, check the voice loudness, and list each of my notes as done or not.
Music promptShow
Copy, fill the [brackets], paste
The music should feel [three words, e.g. warm, rising, optimistic]. Here are [2 to 3 tracks I have the right to use]. Pick the tempo for the feeling: about 60 to 80 BPM feels cinematic, 90 to 110 smooth and calm, 115 to 123 confident and kinetic; faster reads as hype.
Make short previews of the same opening, one quiet moment and the ending with each track, picture and narration unchanged.
After I pick one, shape it to the story: rise at [the reveal], settle under [the reflective line], open up at the end. Lower it under speech. Keep sound effects rare: only where they help, and remove any that feel too loud or out of place. Save the plan to notes/music-cues.csv.

Finish

Finish where people see it. Then save it as a Skill.

Check the video, its cover and the post where people will really see them. Then save how you made it as a Skill, a note the AI reads next time. Your next video starts there.

1:30
Forward Deployed AI AcceleratorJoe Hu · YouTube
InstagramInstagram cropped it to a different shape. Only a real test post showed it.

SKILL.md

  1. Give the important result real space.
  2. Let real footage carry the meaning.
  3. Keep the ambitious ending.

Next video starts here

Saved as a SkillThree of its real rules. The next film started from here.

Stays yoursChecking it on a phone, where people will really see it.

Faster with Opus 5.5The Skill is quick to write, and it makes the next one: my v0.9.3 release preview became a Skill, and that Skill made the v0.9.4 preview two days later.

Done when the post preview looks right and the Skill is saved.

I checked the final file, the cover and the post on each platform, then saved what worked. That review became the evidence-led-film Skill in the kit.

Your turn3 actions and two prompts to copyOpen
Prompt for this stepShow
Copy, fill the [brackets], paste
Package the approved film into exports/: final.mp4, a cover image taken from the film, and post copy.
Check duration, resolution, sound and the final second. Save notes/recipe.md with what worked, the approved files and the prompts, so the next video can start from it. Do not publish anything.
Before you show me, check your own work: list the duration, resolution and sound you measured, confirm the first frame works as the cover, and check that the final second ends cleanly.
Save it as a SkillShow
After your first video is approved, paste
This video is approved. Turn how we made it into a reusable Skill, so the next video of this kind starts from it.
Read our whole history for this project: my notes, the versions I rejected and why, and the one I approved.
Write skills/[name for this kind of video]/SKILL.md with: when to use it; what goes in and what comes out; the steps in order; my rules, each one taken from a note I gave or a draft I rejected, with the reason; the files and settings to reuse (fonts, colours, music levels, the ending); and the checks to run before you show me a draft.
Keep it short and specific to my videos. Do not add rules I never gave. Show me the Skill before you save it.
Next time, start with: Use skills/[name]/SKILL.md to make this video from originals/.

After the first one

One careful first version. Then a Skill does the rest.

The first ones are slow. My AI Candidate series got a new opening in each of its first episodes. EP03 took three versions.

Then I saved what I had learned. I asked the assistant to write down every rule behind my notes. That file is the Skill.

Now it repeats. EP04 to EP11: eight episodes in seven days, each accepted on its first render, each in four languages.

Your turn: after your first video is approved, ask your assistant to save it as a Skill. The prompt is in step 5.

I keep one Skill for each kind of video I make now: episodes, shorts, talks, release previews and feature videos. Six of them are in the kit, so you can start from mine.

Made with this kit

Thank you, Hai. Made with this Skill.

A Thanksgiving thank-you to Hai, who has run builder events in Ottawa for two years. I made it with the make-a-video Skill from this guide, from my own photos and Live Photos, in five versions.

0:474:5Oct 20265 versions

The kit · free

The five steps, ready for your assistant.

One line installs them. Then open a folder of your own photos or clips and say what you want.

how-i-make-videos-with-ai320 KB

  • skills/make-a-video/the five steps for your assistant, plus motion-craft rules. Start here.
  • skills/six more Skills I saved from my own videos, as examples
  • all-prompts.txtevery prompt on this page, if you would rather paste them
  • one-page-workflow.pdfthe whole method on one printable page
  • README.mdyour first hour, in four steps

5 itemsYour assistant sets up the folders and Remotion

FreeEvery Skill and prompt from this page

Download the kitvideo-workflow-kit.zip · ZIP · 320 KB Or get it on GitHubhubeiqiao/how-i-make-videos-with-ai · open source

Or install the Skills in one line: npx skills add hubeiqiao/how-i-make-videos-with-ai

  • 1method Skill
  • 6example Skills
  • 9prompts

Or download just one part

The Skills inside: make-a-video, and six examplesShow

Your first hour

Four steps to your first draft.

From nothing installed to a first draft made from your own files.

  1. Get Claude Code

    Pick Opus 5.5. Medium effort is the default; go higher for better drafts. Codex works too.

  2. Add the Skill

    Just ask: “Install the make-a-video Skill from github.com/hubeiqiao/how-i-make-videos-with-ai.” It installs itself.

  3. Say what you want

    Put 10 to 30 of your own photos or clips in one folder, open it and send one message. See the message

  4. React to your first draft

    It sets up Remotion and renders a whole draft from your files. Then write your first note.

Your first messageShow
Copy and paste into Claude Code
Use the make-a-video Skill. Make a 30-second video from the files in this folder. It is for [who will watch]. After watching, they should [believe or do one thing].

Four things that matter more than the tool.

  • PurposeKnow what the video is for.

    Who watches, and what should they do after? The AI builds it, but the result is yours.

  • PatienceBe patient.

    Almost nothing good comes out in one shot, even from the best model. Say what's wrong and pull again.

  • RenderingRender one section at a time.

    A full render is slow. Fix one section, render just that part, check it, move on.

  • TasteYour taste is the job.

    The AI can make a hundred versions. Knowing the good one is yours. Watch the best work you can find to train it.

Questions

What people asked after the Stripe film.

Joe HuOnline · probably rendering

Which editing app did you use?
None. I told Claude Code what I wanted and kept writing notes. I use Codex too, and any agentic coding tool works.
The video itself is code, written in Remotion. So every word, cut and frame does exactly what I say. This page is the long version.
What do I need?
Claude Code or Codex, a folder of your own photos or clips, and patience. Mostly patience.
Then send one line: “Install the make-a-video Skill from github.com/hubeiqiao/how-i-make-videos-with-ai.” It sets up the rest.
Can a good model do it in one shot?
Almost never, even the best one. The Stripe film took 19 versions. My First BlizzCon took 16.
Good videos are polished, not generated. Plan for rounds of notes, and fix one section at a time.
What about music and sound effects?
Ask the AI. Give it the feel in three words; it places the music, lowers it under your voice and adds sound effects only where they help.
It can check copyright too: ask where each track and clip comes from and what its license allows. The old film clips in my trailer are public domain, checked that way.
Why does my motion look like a template?
Without limits, a model falls back to its defaults: a centred title on a gradient, everything fading in together. Give it a banned list, springs instead of straight moves, and changes that land on the beat.
The make-a-video Skill has these as motion-craft rules, adapted from @twoclipping's open template.
Is it free?
Yes. The guide is free and the kit is open source (MIT), on GitHub.
Remotion is free for individuals and teams of up to three. Its license has the details.

Still have a question? Ask me on X or LinkedIn, or write to hi@hubeiqiao.com. The kit is on GitHub.

End credits

Five films. Then twelve in six days.

Directed by
Joe Hu
Built by
Claude Code and Codex
Made with
Remotion, FFmpeg and Gemini 3.8 Flash TTS

The films

  • Stripe application film 19 versions · Codex with GPT-6 Astra
  • Joe Speaking 1.0 October 2026 · English introduction
  • Original Joe Speaking launch (archive) March–April 2026 · Claude Code
  • Ontario immigration story Codex, then Kiro CLI
  • My First BlizzCon 16 versions · Claude Code, Opus 5.5
  • Wissal's birthday Claude Code, Opus 5.5

The week with Opus 5.5

  • Release preview v0.9.3 Sep 25
  • Release preview v0.9.4 Sep 27
  • Builder Sundays talk Sep 27
  • Advanced examiner Sep 27
  • This guide's trailer Sep 27
  • Five interview cuts Sep 28
Music, Stripe film
“Reaching Out” by Michael Ramir C.
Music, trailer
An original ragtime score, written as code
Then, on repeat
100+ Joe Speaking videos from six Skills
Archival film
Prelinger Archives, U.S. National Archives
Prod.
How I Make Videos
Director
Joe Hu
Roll
5 films
Take
V23

That's a wrap.

Five films, then twelve in six days. Now make yours.

Back to step 1
What is real on this page?

Every frame labelled as a draft, round, before or after comes from a real version saved while making that film. The step posters use examples from different films. What a better model speeds up is my own experience across these videos, not a benchmark. My notes are translated from Chinese and lightly shortened. The lottery hit rates are illustrative. In "After the first one", the counts and dates come from the saved video files (dated by the file), the pictures are the first frames of those finished videos, and the Skill rules are shortened from the real Skill; "100+" counts finished files, language versions included. The four black-and-white clips in the takeaway are not mine: they are public-domain archival films, The Alchemist in Hollywood (1940), Twenty-Four Hours of Progress (1950), The Photographer (1948, Edward Weston at work) and Farmer Miller Goes Into High Gear (1920), from the Prelinger Archives and the U.S. National Archives on the Internet Archive.

Support the guide

This guide is free. If it helped, buy me a coffee.

Any amount is welcome. It keeps the guide free and updated with every new video I make.

Support with Stripe

Secure checkout by Stripe.

Your download has started

Enjoy the kit. If it helps, buy me a coffee.

Any amount helps keep the guide free.

Support with Stripe

Launch

Stripe application film

0:00
0:00