Log in
WorkflowBy HypernaturalVersion 1, updated

Microdrama episode

hn/workflow-microdrama-episode

Make one episode of a vertical soap-style microdrama (Part 1, 2, …) from a premise in a sentence or two: write a hook-first script, cast faces and voices, record the lines and the lead's inner voiceover, build location plates, render each scene as one long Seedance 2.5 reference-to-video take driven by the cast, the locations and the scene's whole voice track, then cut, fix in-world text, title, score and finish. Reach for it for microdramas, vertical drama series, soap or revenge shorts, a cliffhanger episode for TikTok or Reels, or the next part of one.

SKILL.md

The person brings an idea: a premise in a sentence or two ("a nurse finds out her husband is married to someone else", "a CEO goes undercover at her own company"), and which part of the series it is. You deliver one episode: 9:16, 45–60 s, everything generated, the cast speaking lip-synced lines in cast voices, usually over the lead's inner voiceover, scored, and ending on a cliffhanger that loops back into the open.

The route: two or three long Seedance 2.5 reference-to-video takes, one per location group, each driven by the cast's views, the location plates and the scene's whole voice track, then cut, reordered and scored locally. Gate every look: script, faces, voices, stills, locations, scenes, cut and music.

Start from the idea

Ask only what the idea doesn't answer: which part this is and what came before; who the lead is and how they look (microdrama leads are usually striking and glamorous; follow the person); the tone (revenge, romance, thriller, comedy). The default format is 9:16, 45–60 s, on-screen dialogue plus the lead's inner voiceover.

For Part 2 or later, read the earlier episode's AGENTS.md and carry its cast sheets, voices, location plates and grade forward unchanged.

Steps

  1. Write the script as script.md to the shape below, then llm-convert-written-script for timings. Gate: the script.
    • The hook (first 1–2 s) is the most shocking image in the episode, often the cliffhanger's moment or prop pulled to the front: a text message, a face frozen in shock, someone where they shouldn't be. It works with the sound off and raises a question.
    • A present-day confrontation, short and charged, 1–3 lines.
    • A flashback or setup ("48 HOURS EARLIER") told mostly in the lead's inner voiceover: 4–5 short, punchy sentences, each with its own beat on screen.
    • The turn back to the hook, ending on a reaction or one word. No end card: the last frame loops into the cold open.
    • About 3 scenes and 10–12 beats, one sentence per line. A cast of 2–3 on screen and 3–5 locations: every person and place is a reference to build and hold. Each scene's dialogue and action fit in about 30 s, Seedance's limit per take.
  2. Cast faces. Three castings of each on-screen character at once on nano banana Pro, each a 2x2 sheet (front close-up, profile, full front, full back) at 1:1 2K. When the story needs the same face twice (twins, doubles, a disguise, a past self), edit the picked sheet on nano banana Pro edit: "keep the face exactly identical, change only the styling", and pick the take most different in silhouette (hair, colours, wardrobe). Split every sheet into single views (python-split-character-sheet). Gate: a face per character.
  3. Cast voices (guide-cast-a-voice, elevenlabs-voice-search): three auditions per character on their own lines. Two roles can share one voice, told apart by direction tags alone (sweeter, slower, colder). Gate: a voice per character.
  4. Record the track (elevenlabs-tts-v4): each on-screen line as its own take, the whole voiceover as one take with [long pause] between sentences. Find sentence boundaries with silencedetect (noise=-38dB, d=0.25); whisper's word times are too coarse to cut on.
  5. Set the look. One hero still of the hook or confrontation (nano banana Pro edit with the character views, 9:16 2K). Gate: it sets the grade. Then the other beats' stills referencing it, all at once (nano-banana-stage-cast-in-set); check on-screen text and that the right person is in each. Gate: the stills, as a set. They are for the look and the plates; the renders never see them (Dead ends).
  6. Location plates (guide-design-a-set). For each location, edit an approved still to remove the people and vehicles, keeping the grade; make an interior seen only from outside as a new still from the matching shots. Conform to 1080x1920 (python-conform-to-1080p). Gate: the plates.
  7. Scene tracks. Per scene, lay its lines onto one mono 48 kHz WAV with adelay at the times you want, padded to a whole second. Note each line's start and end.
  8. Render the scenes on Seedance 2.5 reference-to-video, all at once, at 720p (seedance-2-5-prompt-format; the prompt shape is in references/scene-prompt.md): the cast's views (face plus full front each) and that scene's plates as images, no storyboard stills and no first frame; the scene track as @Audio1, the duration equal to its length. Price the whole batch against the balance first. Check each take with a frame sheet (fps=0.5,tile) and a whisper transcript: every line heard once, mouths closed on the voiceover. Gate: the scenes, joined.
  9. Cut (local). ffmpeg-scene-cuts (0.15) inside each take, then reorder in one filter graph: cold open, confrontation, flashback, turn.
    • Re-lay the voiceover sentence by sentence from the clean take onto the beats the person names, each sentence's first syllable at a cut plus about 0.25 s. Mute the take's own audio under the voiceover: Seedance re-voices it at its own pace.
    • Slow a shot (setpts plus minterpolate, 0.7x) to make room rather than rushing a line. Keep the take's own audio where people speak on screen.
  10. Fix in-world text with overlays: Seedance gets numbers and UI words wrong. Draw a crisp replacement (a message bubble, a sign) as a full-frame PNG with PIL and lay it over the model's own.
  11. Titles (the time jump), composited, never rendered into a take (guide-add-titles-and-motion-graphics): an elegant letter-spaced serif with a soft dark glow and an alpha fade.
  12. Music (elevenlabs-generate-music): three instrumental beds at the cut's length in three moods that suit the tone; render the cut once per bed. The bed at 0.2 under dialogue and 0.42 under the voiceover, then loudnorm to -14 LUFS, -1.5 dBTP (ffmpeg-normalize-loudness, with its target changed for social). Gate: music and cut together. Expect frame-level trim notes (start later, end earlier so it loops) and apply them exactly.
  13. Finish (guide-prepare-renders-for-delivery): deliver the 720p cut, and offer 1080p as a topaz-upscale of the approved cut. Then deliver the round (core skill).

Choices this workflow makes

  • Long takes per location group, not one clip per shot. The cuts happen inside the take, so performances and faces carry across them and the scene flows.
  • References only. Cast views and empty plates, never the storyboard stills: the stills settle the look with the person and give the plates, nothing more.
  • The whole scene's voice in one track, each line pinned to its time, so Seedance lip-syncs the speakers and keeps every mouth shut through the voiceover.
  • 720p renders, upscale for 1080p. A 1080p render costs about 2.5× and re-performs every take; Topaz on the approved cut keeps what was approved.
  • One voice for a double when the person wants it, told apart by direction.

Dead ends

  • One clip per shot (12 Kling and Seedance clips, 3–6 s each): "too stilted", even with every clip good on its own.
  • One long take with a storyboard still pinned at every cut: every cut landed and it flowed better, but the stills still "broke up the flow". References only was kept.
  • Kling with generate_audio voiced a word the prompt said to mouth silently.
  • A batch failed mid-way on low balance.

Worked example

Part 1 of a twin-reveal thriller: a city lawyer, Nora, finds her identical twin living her life in the suburbs. 9:16, 24 fps, 45.6 s delivered at 720x1280. One face for both sisters, restyled; one library voice (Voice A) for both, the twin sweeter and slower. Four plates: office, hallway, house, kitchen.

PartRouteNote → change
Rough cut, 12 shotsKling v3 Pro 1080p, Seedance r2v + audio on the 3 speaking close-ups"too stilted" → long takes
Take A (office, 28 s), take B (suburbs, 22 s)Seedance r2v 720p, a storyboard still per cut ($26.02)"too many key frames" → references only
Takes A and B againSeedance r2v 720p, cast views plus plates ($26.02)kept; take B drew "12 years" for "32", A's profile UI was gibberish → PIL bubble overlay
Cut v2the text message moved to the front as the hook, the card-decline beat put on its line, 3 beds ($0.48)bed A picked; start at 2.14 s, office at 3.35 s, end at 48.79 s to loop, no end card
Cut v3trims appliedapproved and delivered at 720p

About $56 at list prices plus the abandoned rough cut: $26.02 for the kept takes, $26.02 for the storyboard version, about $3 of faces and stills, $0.68 of plates, $0.48 of music and about $0.15 of voices. Done right first time it is about $31. The 1080p upscale (about $6) was offered, not run.

Related workflows

FAQs

Make one episode of a vertical soap-style microdrama (Part 1, 2, …) from a premise in a sentence or two: write a hook-first script, cast faces and voices, record the lines and the lead's inner voiceover, build location plates, render each scene as one long Seedance 2.5 reference-to-video take driven by the cast, the locations and the scene's whole voice track, then cut, fix in-world text, title, score and finish. Reach for it for microdramas, vertical drama series, soap or revenge shorts, a cliffhanger episode for TikTok or Reels, or the next part of one.

Install Hypernatural Desktop, a free Mac app, and connect it to Claude Code, Codex or Claude Desktop. Then describe the video you want and your agent finds the workflow itself, or paste this page's link (https://hypernatural.ai/skill/hn/workflow-microdrama-episode) and it installs hn/workflow-microdrama-episode and follows it.

It runs Nano Banana Pro, ElevenLabs voice, ElevenLabs music, Seedance 2.5 and fal/fal-ai/topaz/upscale/video. Hypernatural Desktop has every one of them built in, so there are no API keys to set up, though you can bring your own.

The workflow is free. You only pay for the AI generations it runs, and your agent shows you the price of every batch before it spends anything. Editing, captions and titles run on your Mac at no cost.

It calls 16 smaller skills for its steps, including Llm convert written script, Python split character sheet and Cast a voice. Each one is listed on this page, and your agent loads them as the job needs them.

Yes. Ask your agent to adjust it for your job, or to save its own version. You can publish your version under your own handle so anyone can install it.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy