Community project · Not a Microsoft product · Prompts, skills and examples

Make animated videos with one prompt

The prompts, source code and reusable skills behind a set of code-drawn animated videos, made with Claude Opus 5.5 in the GitHub Copilot app, plus a step-by-step guide so you can make your own.

There's no video-generation model involved. Copilot writes every scene, character, sound effect and line of music as code, renders the frames in Microsoft Edge and encodes an MP4. You review it, give feedback and go again.

01 prompt → 02 Copilot → 03 code → 04 MP4Review and iterate
How a video is made Your prompt goes to Claude Opus 5.5 in the GitHub Copilot app. Using the skills, it writes code for the scenes and cast, the music and sound effects, and the voiceover. Microsoft Edge renders the frames and ffmpeg encodes an MP4. You review the MP4 and send feedback, which loops back to Copilot. 01 · YOUR PROMPT 02 · COPILOT APP 03 · CODE (WITH SKILLS) 04 · RENDER 1Your promptcontext, style and sources 2GitHub Copilot appClaude Opus 5.5Reasoning: High Scenes and castCanvas · SVG · WebGL Music and SFXsynthesised in code VoiceoverEdge neural TTS 4MP4Edge renders framesffmpeg encodes REVIEW · GIVE FEEDBACK · ITERATE FIRST CUT UNDER 30 S
  • 5 example videosAll watchable; four with full source
  • 8 reusable skillsEngines, cast, style rules and gotchas
  • 1 prompt templateThree inputs: context, references, sources
  • 6 setup stepsFrom install to your first MP4
  • Opus 5.5With reasoning effort set to High
  • No video modelEverything is drawn in code
  • No npmPython 3 and Microsoft Edge only
  • MIT licenceShared as is

Read this first

A community project

Not a Microsoft product

This is a personal, non-commercial community project. It isn't supported, endorsed or maintained by Microsoft or GitHub, and it's shared as is under the MIT licence. Results vary from run to run: the same prompt will give you a different video each time.

  • Everything is generated code. Copilot wrote the engines, characters, music and voiceover scripts. Read it before you run it, as you would any code from the internet.
  • The characters are fictional. Sofia and her colleagues aren't real people. Microsoft product names and logos appear as fan references.
  • Respect other people's work. The P(doom) remake is shared silent, with full credits, because the song isn't ours to redistribute. Do the same with any music or artwork you don't own.

Step by step

Guide to video creation

Six steps from a blank folder to your first MP4. A first cut usually takes well under an hour; iterating is where it gets good. Select a screenshot to enlarge it.

  1. Install the GitHub Copilot app

    Download and sign in to the GitHub Copilot desktop app. You'll also want Python 3 and Microsoft Edge; Copilot can install the Python packages it needs.

  2. Create a local folder

    Keep it outside OneDrive or any other synced folder. Copilot writes lots of files (frames, renders, audio), and syncing slows everything down.

    File Explorer with a new, empty folder for video projects, outside OneDrive. (enlarge)
  3. Connect to the folder in the app

    In the GitHub Copilot app, go to Projects → + → Open folder and pick the folder you just created.

    GitHub Copilot app with the plus menu under Projects open, showing the Open folder option. (enlarge)
  4. Start a new session in the folder

    Select the project and choose + New session.

    The New session button for the project in the GitHub Copilot app. (enlarge)
  5. Select Claude Opus 5.5, with reasoning High

    Reasoning effort changes how much work the model puts in. Higher effort gives more complex results, but takes longer.

    The model picker with Claude Opus 5.5 selected and reasoning effort set to High. (enlarge)
  6. Modify a prompt and send it

    Start from the starter prompt or one of the example prompts. Replace [Context] with your story, [Reference Videos] with screenshots, MP4s or links to videos you like, and [Extra Sources] with anything else Copilot should use. You can ask Copilot to tailor the prompt for you first. Then watch the MP4, give specific feedback and iterate.

Copy and adapt

The starter prompt

Copy it, replace the three highlighted inputs with your own and paste it into your new session. The (Your input: …) lines tell you what goes where:

  • [Context]: what the video is about, who it's for and the story you want to tell.
  • [Reference Videos]: screenshots, MP4s or links to videos and repos whose look you like, and what you like about each.
  • [Extra Sources] (optional): documents, brand assets, a script, music you have the rights to, or facts to get right.

It also points Copilot at four public repos to learn from: JohnHeibel/PDoomVideo for advanced code-driven animation, lemomo-ai/lemo-opuscar for 43 reusable film styles, francozanardi/papermotion for paper-cutout shorts made in code, and this repo, RyanBowie/ai-video-creation-guide, for the example videos and the skills behind them.

I want you to build a short animated video, drawn entirely in code, that brings the context below to life. To start with, keep it under about 30 seconds so I can review it, and produce it as an MP4. Everything in square brackets below is my input. Treat it as the brief. [Context] (Your input: what the video is about, who it's for, the story or key message, and any characters, brand, tone or must-have moments.) [Reference Videos] (Your input: screenshots, MP4 files or links to videos and repos you like. For each one, say what you like about it, for example the art style, colours, characters, pacing, transitions or music. Delete this section if you have none, and Copilot will use the community repos below.) Study my references to understand what makes them work: the art style, colour palette, character design, camera moves, pacing, transitions and how the sound lines up with the picture. For MP4s, pull out stills and listen to the audio. For repos, read the README and code to see how the animation is built. Take inspiration from them, but don't copy them: build something original that fits my context. You can also learn from these public community repos: - JohnHeibel/PDoomVideo (https://github.com/JohnHeibel/PDoomVideo): the source code for the Claude Opus 5.5 music video "I'm Upping My P(doom)", an example of advanced code-driven animation synced to music. - lemomo-ai/lemo-opuscar (https://github.com/lemomo-ai/lemo-opuscar): 43 film styles, each a reusable style prompt plus a short film made entirely in code. - francozanardi/papermotion (https://github.com/francozanardi/papermotion): paper-cutout animated shorts made entirely in code by AI agents. - RyanBowie/ai-video-creation-guide (https://github.com/RyanBowie/ai-video-creation-guide): example videos made with this prompt (a music video, a 90s cel-anime short, a 16 mm explorer film, a paper-cutout RPG short and a data-storytelling bar race) plus the reusable Copilot skills behind them, covering motion graphics, character rigs, retro anime, paper cutouts, voiceover, audio editing and checking the picture lines up with the sound. There are also many other reference repos that show different designs and styles. Go through my references and these repos to decide the most appropriate style for my context. Briefly tell me which style you picked and why, then carry on. Feel free to get creative with this design: cool animations, characters, whatever you need to complete the scene. Also cover the audio: sounds, music, voiceovers or anything else you need. You have creative freedom to build something really quite cool here. [Extra Sources] (Your input, optional: anything else to use, such as documents, brand guidelines, logos, a script or voiceover text, music you have the rights to, or facts the video must get right. Delete this section if you have nothing to add.) Take your time with the generation. Think creatively and make this something really new and fresh.

Also in the repo as prompts/template-prompt.md.

Want narration?

The starter prompt lets Copilot pick a voice. To choose the narrator yourself, add the box below after the prompt. Every voice here is free, with no account or API key. Edge needs an internet connection; the rest run offline on your laptop. These are just an initial example: plenty of other narration models are available, so use whichever suits your video.

Hear the voices first

Watch Eight free AI voices, one sentence to hear each engine, then pick a voice ID from the table. The full list of 40 voices, with style notes, is in voices.json, and the model links are in the video's third-party notices.

A starting set of free voice engines, Microsoft voices first. Other narration models will work too. Licences change, so check each project's repo for its current licence and voice terms before you publish.
EngineExample voice IDsNotesLicence
Edge neural voicesedge:andrew, edge:ava, edge:wizardUses an unofficial online endpoint. For paid or client work, use Azure AI Speech instead.Check the repo and the Microsoft service terms
Windows SAPIsapi:david, sapi:ziraBuilt in and offline, but robotic. Good for a retro computer voice.Windows terms
Kokoro-82Mkokoro:bm_george, kokoro:af_heart, kokoro:bf_emmaNatural and clear. The best all-rounder.Check the repo
Kitten TTSkitten:4-f, kitten:5-mTiny and fast on a CPU.Check the repo
Supertonicsupertonic:M1, supertonic:F1Very fast on a CPU.Check the repo
Pocket TTSpocket:alba, pocket:javertSmall CPU model from Kyutai.Check the repo
Chatterboxchatterbox:calm, chatterbox:excitedEmotion control. Adds an inaudible Perth watermark. Only clone a voice with the speaker's consent.Check the repo
Piperpiper:alan, piper:northernLots of voices and accents. Each voice has its own model card.Check the repo and the voice model cards
Narration: use [edge:andrew] for the narrator. (Your input: any voice ID from the table, for example edge:ava, sapi:zira or kokoro:bm_george.) Use the tts-voiceover skill. Run python ~/.copilot/skills/tts-voiceover/free_tts/free_tts.py --prompt followed by that voice ID, and add the voice notes it prints to this prompt and to the project's PROMPT.md. Write every narrator line to those notes, set that voice in make_voice.py, and put its credit line on the end card. If the engine isn't installed, run free_tts.py --doctor and install what it lists. [Character Voices] (Your input, optional: other voices for other characters, for example “use edge:ava for Sofia and edge:wizard for the wizard”. Delete this section if you only want a narrator.)

This needs the reusable skills installed. To list voices yourself, run free_tts.py --list, or free_tts.py --list GB to filter.

How to add your references

Screenshots

Paste or drag images into the chat with the prompt, then describe them under [Reference Videos], for example “the first screenshot: I like the paper texture and soft colours”.

MP4 files

Copy them into your project folder (for example a references folder) and give the file names. Copilot can pull out stills and the audio to study the style and pacing.

Links

GitHub repos work best, because Copilot can read the README and code. For YouTube and other video sites it can usually only read the page, not watch the video, so add a screenshot or describe what you like.

Use references for inspiration, not copying. Don't ask Copilot to reproduce someone else's characters, artwork or music.

Let Copilot tailor it

Not sure what to write? Paste the template, attach your references and ask: “Rewrite this prompt for a 30-second video about your topic, aimed at your audience, inspired by the references I've attached. Suggest three style options first.”

Optional add-ons

Append any of these to the prompt.

Skills

“Load the skills in ~/.copilot/skills and use whichever fit the style you pick.” See Reusable skills.

Lock a look

“Use the retro-anime skill” for 90s cel-anime, “use the explorer-quest skill” for a vintage 16 mm adventure serial, or “use the paper-cutout skill” for a Paper Mario-style paper theatre.

Self-review

“Take a contact sheet of stills, check each scene against the brief, and rework anything below the bar.”

Check the sync

“Run the av-sync checker on the final MP4 and fix any FAIL findings.”

Examples

The videos

Each one started from a prompt like the one above and was refined over a few rounds of feedback. Each example has its PROMPT.md, with the original request, the beats and the notes that shaped the final cut, and its full source.

Behind the scenes

Silent cut, prompt and stills

Copilot Pop: an “I'm Upping My P(doom)” remake

A Copilot pop idol, Office backing dancers, Clippy and a cute masked shoggoth, remaking the original music video in a papery watercolour, boiling-ink style, synced to the beat. It was adapted from a one-prompt Opus 5.5 video prompt shared by @donaldjewkes.

Why it's silent

The song isn't ours to redistribute, so the full remake is shared without audio. The lyrics still appear on screen and belong to their authors (see credits). Play the song alongside it, or watch John Heibel's original video with sound.

Copilot Pop (silent) – The full remake, beat-synced to the song, with karaoke lyrics and word pops on screen. 2:34 · papery watercolour and boiling ink · 1280 × 720, 30 fps · no audio PromptDownload MP4

Install once

Reusable skills

Copilot skills built up while making these videos: engines, the cast, style rules and hard-won gotchas. Install them once and every new session can use them. In PowerShell:

git clone https://github.com/RyanBowie/ai-video-creation-guide.git cd ai-video-creation-guide New-Item -ItemType Directory -Force "$env:USERPROFILE\.copilot\skills" | Out-Null Copy-Item .\skills\* "$env:USERPROFILE\.copilot\skills\" -Recurse -Force
SkillUse it for
motion-graphicsStory, pacing, transitions and SVG explainer videos. The entry point that routes to the others.
character-rigThe papery watercolour Canvas cast (Copilot idol, Office dancers, Clippy and more) and a beat-synced music-video engine.
retro-animeA 90s cel-anime, arcade and visual-novel look with a CRT pass. The Sofia Retro engine.
explorer-questA vintage explorer and adventure-serial look with a 16 mm film pass and a parchment world map. The Sofia Explorer engine.
paper-cutoutA paper-cutout, Paper Mario-style paper theatre with torn edges, sticker lettering, card flips and a turn-based RPG battle kit. The Paper Copilot engine.
tts-voiceoverVoiceover with word timings, plus a voice picker for 40 free local voices (Kokoro, Piper, Kitten TTS, Supertonic, Pocket TTS, Chatterbox, Edge, Windows SAPI) that adds the chosen voice's notes to your prompt.
audio-editCutting and fading songs and voiceover without clicks, while keeping the animation in sync.
av-syncChecking that the visuals line up with the voiceover, sound effects and beats.

Hands on

Run the examples yourself

You need Windows with Microsoft Edge and Python 3. No npm.

Play in the browser

pip install --user playwright imageio-ffmpeg edge-tts cd examples\sofia-retro python -m http.server 8000

Open http://localhost:8000/sofia-retro.html and press Space. R restarts and the arrow keys skip.

Render the MP4

python export_mp4.py python stills.py 5 20 40 python make_voice.py

Renders 1920 × 1080 at 30 fps, grabs stills at the given seconds and regenerates the voiceover. The same works in examples\sofia-explorer. In examples\paper-copilot, open paper-copilot.html and run python export.py. In examples\launch-race, run python build_data.py to refresh the data, then python export.py. In examples\voice-showcase, run python export_mp4.py (the voices are already bundled in voice.js). To regenerate them, install the engines listed in make_voices.py and run python make_voices.py, then python assemble.py.

Thanks

Credits and licence

  • John Heibel: JohnHeibel/PDoomVideo, the original “I'm Upping My P(doom)” video and code that inspired all of this.
  • donald (@donaldjewkes): the one-prompt Opus 5.5 video prompt the P(doom) remake was adapted from.
  • Song: “I'm Upping My P(doom)”, lyrics by osmarks, built on an opening verse and chorus by MusicPerson, with lines from the EleutherAI Discord and help from Claude. Originally generated with Udio (November 2024); the “Claude-Pop” version is by deckard (@slimer48484). The song and lyrics belong to their authors and aren't covered by this repo's licence; the remake is shared silent.
  • LemoLab: lemomo-ai/lemo-opuscar (MIT), the film-style references. Parts of the Sofia engines are adapted from it; see each example's THIRD_PARTY_NOTICES.md.
  • Franco Zanardi: francozanardi/papermotion (MIT), paper-cutout shorts made in code. The style reference for Paper Copilot; its engine was written from scratch and uses none of that code.
  • Jonathan C. McDowell: GCAT (CC BY 4.0), the launch data behind One rocket breaks the chart. Its look follows the lemo-opuscar Data Storytelling style; the engine was written from scratch.
  • Natural Earth (public domain): the world map coastlines in Sofia Explorer.
  • Voiceovers: Microsoft Edge neural TTS through edge-tts.
  • Free TTS engines in Eight free AI voices: Windows SAPI, Piper, Kitten TTS, Kokoro-82M (through kokoro-onnx), Supertonic, Pocket TTS, Chatterbox and edge-tts. Each clip stays under its model's and voice's licence, and some are non-commercial (for example the Piper ryan voice, CC BY-NC-SA). The notices list every licence and link the 21 GPU models shown in the video.

The code, prompts and skills are under the MIT licence. Sofia and her colleagues are fictional.