<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jun Heo</title>
    <description>The latest articles on DEV Community by Jun Heo (@heojunfoi).</description>
    <link>https://dev.to/heojunfoi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4142133%2F7069eb23-4362-46ce-bc10-d590fd23b744.png</url>
      <title>DEV Community: Jun Heo</title>
      <link>https://dev.to/heojunfoi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/heojunfoi"/>
    <language>en</language>
    <item>
      <title>What is Ludyte? An AI video generator that runs an AI film crew before it renders</title>
      <dc:creator>Jun Heo</dc:creator>
      <pubDate>Mon, 28 Sep 2026 01:08:26 +0000</pubDate>
      <link>https://dev.to/heojunfoi/what-is-ludyte-an-ai-video-generator-that-runs-an-ai-film-crew-before-it-renders-165o</link>
      <guid>https://dev.to/heojunfoi/what-is-ludyte-an-ai-video-generator-that-runs-an-ai-film-crew-before-it-renders-165o</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I work on Ludyte. This post explains what it is and how it works, with a real run from the product. Drafted by an AI agent and approved by me before publishing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ludyte&lt;/strong&gt; (&lt;a href="https://share.ludyte.com/junfoi" rel="noopener noreferrer"&gt;share.ludyte.com/junfoi&lt;/a&gt;, built by NationA) is an AI video generator. You describe a video in plain English, an AI agent asks a few questions, a set of AI "crew" roles (direction, camera, lighting, editing, sound) review the request and write a shot plan, and then it generates the video. It's a subscription with one flat monthly price and no credits.&lt;/p&gt;

&lt;p&gt;It is not "Luddite" (the 19th-century movement), and it is not Luden AI or LuDe, which are different products. The name is a joke on Luddite: a tool that's on the side of the people doing the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  One real run, step by step
&lt;/h2&gt;

&lt;p&gt;Here is the exact flow from the demo short (&lt;a href="https://youtube.com/shorts/sU5hcQz2yZU" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. One plain sentence&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A video for my small candle shop's Instagram. Someone lights a candle at the counter. Cozy vibe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No lens names, no lighting terms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Three quick questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The agent (Luna) asks one thing at a time, with tap-to-answer options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose the subject → &lt;em&gt;The shop owner&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Candle-lighting action → &lt;em&gt;A match slowly catches the wick&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Choose the setting → &lt;em&gt;Warm wood and candle shelves&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. The crew review&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before anything renders, the request goes through separate reviews: direction, framing and camera, color and lighting, editing and sound. Then the reviews are merged into one reply.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. A shot plan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The result is a plan you can read before generating:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;01 · A Quiet Moment at the Counter&lt;/strong&gt; — "A steady, intimate view follows the shop owner bringing a match to the candle wick. The wick catches, the match withdraws, and the small flame settles while the warm shelves remain softly visible behind the counter."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;02 · The Flame, Then the Shop&lt;/strong&gt; — "Begin close on the match and wick as the owner lights the candle, then gently ease back to reveal the owner's hand, the warm wooden counter, and candle shelves in the same cozy shop."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Two takes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both shots render (9:16, 5 seconds each at "Better" quality). If one misses, you reroll it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the crew step matters
&lt;/h2&gt;

&lt;p&gt;Most AI video models reward people who already know camera vocabulary. "Slow push-in, 35mm, practical lighting from the left" gets better results than "cozy candle video", and that knowledge is the real barrier. The crew step moves that work into the tool: it turns a vague brief into specific direction, camera and lighting choices you can read and change.&lt;/p&gt;

&lt;p&gt;It also changes what a failed clip costs you. On credit-based tools, every reroll is paid for, including the ones you throw away. That makes people stop at "good enough".&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing (as of September 2026)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Monthly&lt;/th&gt;
&lt;th&gt;Billed yearly (per month)&lt;/th&gt;
&lt;th&gt;Videos per request&lt;/th&gt;
&lt;th&gt;Max quality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Better (9 videos total)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creator&lt;/td&gt;
&lt;td&gt;$39&lt;/td&gt;
&lt;td&gt;$31&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Better&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$59&lt;/td&gt;
&lt;td&gt;$47&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Better&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Max&lt;/td&gt;
&lt;td&gt;$99&lt;/td&gt;
&lt;td&gt;$79&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Best&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every paid plan has unlimited generations, unlimited remixes, all AI crew roles and commercial use. Plans differ by speed, how many videos run at once, and top quality, not by a generation cap. The terms state there is no cumulative cap on paid plans.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Ludyte really unlimited?&lt;/strong&gt;&lt;br&gt;
On paid plans there's no cumulative generation cap. Plans differ in speed and queue size (Creator: 1 video at a time; Max: up to 7 in queue).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What model does it use?&lt;/strong&gt;&lt;br&gt;
Ludyte runs the open-weight MiniMax H3 model on its own GPU infrastructure. That's what makes a flat price possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does chatting with the agent cost anything?&lt;/strong&gt;&lt;br&gt;
No. Chat has an hourly message limit per plan (60 per hour on Creator, more on higher plans), but it doesn't use credits, because there are no credits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What can I give it as input?&lt;/strong&gt;&lt;br&gt;
Text, images, video, audio, documents, or a URL. You can also start from a community "remix" of someone else's video.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I use the videos commercially?&lt;/strong&gt;&lt;br&gt;
Yes, including on the free plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who makes it?&lt;/strong&gt;&lt;br&gt;
NationA, the team behind Neuroid (CES 2026 Best of Innovation).&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;You can make 9 videos free: &lt;strong&gt;&lt;a href="https://share.ludyte.com/junfoi" rel="noopener noreferrer"&gt;share.ludyte.com/junfoi&lt;/a&gt;&lt;/strong&gt;. That's my personal share link; it goes to the normal sign-up.&lt;/p&gt;

&lt;p&gt;If you'd rather keep your own workflow, the crew idea is also available as an open-source agent skill for Claude Code and other agents: &lt;a href="https://github.com/HEOJUNFO/ai-film-crew" rel="noopener noreferrer"&gt;ai-film-crew&lt;/a&gt;. It plans shots and fixes prompts for any video model.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>video</category>
      <category>generativeai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>What one usable AI video clip actually costs in 2026 (8 tools, real math)</title>
      <dc:creator>Jun Heo</dc:creator>
      <pubDate>Mon, 28 Sep 2026 01:01:52 +0000</pubDate>
      <link>https://dev.to/heojunfoi/what-one-usable-ai-video-clip-actually-costs-in-2026-8-tools-real-math-175f</link>
      <guid>https://dev.to/heojunfoi/what-one-usable-ai-video-clip-actually-costs-in-2026-8-tools-real-math-175f</guid>
      <description>&lt;p&gt;Every AI video pricing page tells you what a generation costs. None of them tell you what a &lt;em&gt;usable clip&lt;/em&gt; costs, and that's the number that hits your card.&lt;/p&gt;

&lt;p&gt;The gap is the keeper rate. If one in five takes is good enough to use, your real price is five times the sticker. I checked the official pricing and help pages of eight tools on September 28, 2026 to put numbers on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one formula
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cost per usable clip = (plan price ÷ generations per month) × takes per keeper
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;"Takes per keeper" is the part nobody publishes. It depends on the shot: a talking head might land in two takes, liquid or hands can take ten. So I ran it at three rates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cheapest paid plan, 5-second clip, monthly billing
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool, plan&lt;/th&gt;
&lt;th&gt;Model / clip&lt;/th&gt;
&lt;th&gt;Per generation&lt;/th&gt;
&lt;th&gt;Keep 1 in 3&lt;/th&gt;
&lt;th&gt;1 in 5&lt;/th&gt;
&lt;th&gt;1 in 10&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pika Starter, $10&lt;/td&gt;
&lt;td&gt;Pika 2.5, 720p, 5s&lt;/td&gt;
&lt;td&gt;$0.22&lt;/td&gt;
&lt;td&gt;$0.67&lt;/td&gt;
&lt;td&gt;$1.11&lt;/td&gt;
&lt;td&gt;$2.22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Luma Plus, $30&lt;/td&gt;
&lt;td&gt;Ray3.2, 720p, 5s&lt;/td&gt;
&lt;td&gt;$0.30&lt;/td&gt;
&lt;td&gt;$0.90&lt;/td&gt;
&lt;td&gt;$1.50&lt;/td&gt;
&lt;td&gt;$3.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hailuo Standard, $14.99&lt;/td&gt;
&lt;td&gt;H3, 768p, 5s&lt;/td&gt;
&lt;td&gt;$0.37–0.52&lt;/td&gt;
&lt;td&gt;$1.11–1.56&lt;/td&gt;
&lt;td&gt;$1.85–2.62&lt;/td&gt;
&lt;td&gt;$3.70–5.25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kling Standard, $8.80*&lt;/td&gt;
&lt;td&gt;Video 3.0, 720p, 5s&lt;/td&gt;
&lt;td&gt;$0.40&lt;/td&gt;
&lt;td&gt;$1.20&lt;/td&gt;
&lt;td&gt;$2.00&lt;/td&gt;
&lt;td&gt;$4.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google AI Pro, $19.99&lt;/td&gt;
&lt;td&gt;Veo 3.1 Fast, 8s&lt;/td&gt;
&lt;td&gt;$0.40&lt;/td&gt;
&lt;td&gt;$1.20&lt;/td&gt;
&lt;td&gt;$2.00&lt;/td&gt;
&lt;td&gt;$4.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Higgsfield Starter, $19&lt;/td&gt;
&lt;td&gt;Kling 3.0, 720p, 5s&lt;/td&gt;
&lt;td&gt;$0.53–0.70&lt;/td&gt;
&lt;td&gt;$1.58–2.11&lt;/td&gt;
&lt;td&gt;$2.64–3.52&lt;/td&gt;
&lt;td&gt;$5.28–7.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dreamina Basic, $15**&lt;/td&gt;
&lt;td&gt;Seedance 2.0 Fast, 720p, 10s&lt;/td&gt;
&lt;td&gt;~$0.79&lt;/td&gt;
&lt;td&gt;$2.37&lt;/td&gt;
&lt;td&gt;$3.95&lt;/td&gt;
&lt;td&gt;$7.89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Runway Standard, $15&lt;/td&gt;
&lt;td&gt;Gen-4.5, 720p, 5s&lt;/td&gt;
&lt;td&gt;$1.44&lt;/td&gt;
&lt;td&gt;$4.32&lt;/td&gt;
&lt;td&gt;$7.20&lt;/td&gt;
&lt;td&gt;$14.40&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;*Kling lists $10 and bills $8.80/month after a discounted first month. **Dreamina's first month is 90% off until Oct 9; the per-clip cost is derived from its own "19 videos a month" estimate. Ranges mean the published credit cost for that clip varies between official sources. Veo clips are 8 seconds, so it's not a perfect match. I checked from outside the US and some pages show regional promos, so treat the numbers as ±20%. Full sources at the end.&lt;/p&gt;

&lt;p&gt;Two things stand out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The spread is huge.&lt;/strong&gt; The same 1-in-5 keeper rate costs $1.11 on one tool and $7.20 on another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality settings multiply everything.&lt;/strong&gt; 1080p, audio or a "quality" model tier usually costs 2–5x the base credits. Veo 3.1 Quality is $2.00 per generation before any rerolls.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Rejected takes are billed everywhere
&lt;/h2&gt;

&lt;p&gt;I looked for each tool's refund policy. The pattern is the same everywhere I could find it: &lt;strong&gt;failed generations&lt;/strong&gt; (errors, blocked content) get credits back, &lt;strong&gt;finished-but-unwanted&lt;/strong&gt; ones don't. Runway's help center says it directly: credits come back only when a generation "ends in a generation error".&lt;/p&gt;

&lt;p&gt;That's fair from the provider's side, since the GPU time was spent. But it means the table above is the real cost, not a worst case.&lt;/p&gt;

&lt;p&gt;Other things that raise the effective price:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No rollover.&lt;/strong&gt; Unused credits expire at the end of the month on every plan I checked except Runway Max (one month of carryover).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Unlimited" mostly went away.&lt;/strong&gt; Runway ended its Unlimited plan for new subscribers on June 1, 2026 (legacy plans keep it until November 30). Other "unlimited" or "relaxed" modes I found are limited to specific models, time windows, or are just a discount.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intro promos.&lt;/strong&gt; Several tools show first-month discounts. Budget for month two.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to lower your cost per keeper
&lt;/h2&gt;

&lt;p&gt;The formula has two levers: price per generation and takes per keeper. Most people only shop the first one. The second one is usually bigger.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One action per clip.&lt;/strong&gt; Most wasted takes I see try to fit two things into five seconds ("she picks up the cup and walks to the window"). Split it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say the camera.&lt;/strong&gt; "Static shot", "slow push in", "handheld" removes a whole axis of randomness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Describe the subject the same way every time&lt;/strong&gt; across shots. Changing adjectives changes faces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead with the action,&lt;/strong&gt; not the scenery. Models spend the first second on what you mention first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I packaged these checks as a free, open-source agent skill that turns a one-line idea into a shot list with one prompt per shot: &lt;a href="https://github.com/HEOJUNFO/ai-film-crew" rel="noopener noreferrer"&gt;ai-film-crew&lt;/a&gt; (MIT, works with any model). In one test, replanning a single prompt this way took a spill shot from "barely happens" to landing in 10 out of 10 generations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The other option: stop counting
&lt;/h2&gt;

&lt;p&gt;Disclosure: I work on &lt;a href="https://share.ludyte.com/junfoi" rel="noopener noreferrer"&gt;Ludyte&lt;/a&gt;, an AI video app with no credits. Paid plans are a flat monthly price ($39 Creator, $59 Pro, $99 Max), with no cap on how many videos you generate. The terms say so. The tiers change speed and how many run at once, not how many you get.&lt;/p&gt;

&lt;p&gt;The trade-off is time, not money. The Creator plan runs one generation at a time, and a 15-second "Better" clip can sit in the queue for a while when servers are busy. If you need 50 clips by tonight, a credit plan with fast queues may be the better tool. If you reroll a lot and hate watching a counter, flat pricing changes how you work: you try the weird idea.&lt;/p&gt;

&lt;p&gt;There are 9 free videos with no card if you want to test it against the numbers above: &lt;a href="https://share.ludyte.com/junfoi" rel="noopener noreferrer"&gt;share.ludyte.com/junfoi&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources (checked September 28, 2026)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Runway: &lt;a href="https://runway.com/pricing" rel="noopener noreferrer"&gt;pricing&lt;/a&gt; · &lt;a href="https://help.runwayml.com/hc/en-us/articles/46974685288467-Creating-with-Gen-4-5" rel="noopener noreferrer"&gt;Gen-4.5 credits&lt;/a&gt; · &lt;a href="https://help.runwayml.com/hc/en-us/articles/34266159290003-Can-I-have-credits-refunded" rel="noopener noreferrer"&gt;credit refunds&lt;/a&gt; · &lt;a href="https://help.runwayml.com/hc/en-us/articles/52068047744019" rel="noopener noreferrer"&gt;Unlimited is switching to Max&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Kling: &lt;a href="https://kling.ai/app/membership/membership-plan" rel="noopener noreferrer"&gt;plans&lt;/a&gt; · &lt;a href="https://kling.ai/blog/kling-video-3-0-credit-cost-guide" rel="noopener noreferrer"&gt;Video 3.0 credit guide&lt;/a&gt; · &lt;a href="https://kling.ai/quickstart/klingai-video-3-model-user-guide" rel="noopener noreferrer"&gt;Video 3.0 user guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Higgsfield: &lt;a href="https://higgsfield.ai/pricing" rel="noopener noreferrer"&gt;pricing&lt;/a&gt; · &lt;a href="https://higgsfield.ai/creator-hub/help-center/troubleshooting/generation-is-stuck-or-failed" rel="noopener noreferrer"&gt;failed generations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Luma: &lt;a href="https://lumalabs.ai/pricing" rel="noopener noreferrer"&gt;pricing&lt;/a&gt; · &lt;a href="https://lumalabs.ai/legal/billing-policy" rel="noopener noreferrer"&gt;billing policy&lt;/a&gt; · &lt;a href="https://lumalabs.ai/learning-hub/dream-machine-credit-system" rel="noopener noreferrer"&gt;credit system&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Hailuo: &lt;a href="https://hailuoai.video/subscribe" rel="noopener noreferrer"&gt;plans&lt;/a&gt; · &lt;a href="https://hailuoai.video/doc/payment-policy.html" rel="noopener noreferrer"&gt;payment policy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pika: &lt;a href="https://pika.art/pricing" rel="noopener noreferrer"&gt;pricing&lt;/a&gt; · &lt;a href="https://pika.art/apps/pika-2-5" rel="noopener noreferrer"&gt;Pika 2.5&lt;/a&gt; (credit cost shown on the generate button)&lt;/li&gt;
&lt;li&gt;Google: &lt;a href="https://gemini.google/us/subscriptions/?hl=en" rel="noopener noreferrer"&gt;Google AI plans&lt;/a&gt; · &lt;a href="https://support.google.com/flow/answer/16526234?hl=en" rel="noopener noreferrer"&gt;Flow credits&lt;/a&gt; · &lt;a href="https://support.google.com/flow/answer/16353333" rel="noopener noreferrer"&gt;failed generations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dreamina: &lt;a href="https://dreamina.capcut.com/pricing/dreamina-price" rel="noopener noreferrer"&gt;pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prices change often and some pages show regional discounts. If you spot a number that's out of date, tell me in the comments and I'll update the table.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>video</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I rerolled one AI video prompt 10 times. The prompt was the problem, not the dice.</title>
      <dc:creator>Jun Heo</dc:creator>
      <pubDate>Fri, 25 Sep 2026 02:22:42 +0000</pubDate>
      <link>https://dev.to/heojunfoi/i-rerolled-one-ai-video-prompt-10-times-the-prompt-was-the-problem-not-the-dice-5bbe</link>
      <guid>https://dev.to/heojunfoi/i-rerolled-one-ai-video-prompt-10-times-the-prompt-was-the-problem-not-the-dice-5bbe</guid>
      <description>&lt;p&gt;When an AI video clip comes out wrong, the reflex is to hit generate again. Sometimes that's right: video models are probabilistic, and some takes are just weaker than others.&lt;/p&gt;

&lt;p&gt;But when the same thing goes wrong ten times in a row, it's not the dice.&lt;/p&gt;

&lt;h2&gt;
  
  
  The experiment
&lt;/h2&gt;

&lt;p&gt;I wanted a 5-second vertical clip of a coffee spill in a café. One line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A barista bumps a customer's elbow and a paper coffee cup slips and spills onto the café floor next to white sneakers, slow motion, handheld close-up, warm morning light.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I generated it 10 times with the same settings (9:16, 5 s).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5m944m9z4m9zhubygrkk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5m944m9z4m9zhubygrkk.jpg" alt="Before: ten rerolls where the cup falls, rolls or lands upright, but the coffee barely spills. After: ten generations where the coffee splashes onto the sneaker every time" width="800" height="1227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top row (before):&lt;/strong&gt; the cup falls, rolls, lands upright. The spill, which was the whole point, barely happens in any of them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bottom row (after):&lt;/strong&gt; the same app and settings, with a rewritten prompt for just the spill. The splash lands on the sneaker in 10 out of 10.&lt;/p&gt;

&lt;h2&gt;
  
  
  What was actually wrong
&lt;/h2&gt;

&lt;p&gt;Nothing exotic. Two mistakes that show up in almost every failing video prompt:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Two actions fighting in one clip.&lt;/strong&gt; "A barista bumps an elbow" &lt;em&gt;and&lt;/em&gt; "the cup spills." In 5 seconds the model has to stage a bump, a slip, a fall and a splash. It picks some of that and drops the rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The key action was the last clause.&lt;/strong&gt; The spill came after the barista, the elbow, the cup and the café. Models tend to weight what comes first. Mine kept delivering the setup and skipping the payoff.&lt;/p&gt;

&lt;p&gt;A real film crew would never shoot it that way. The director would break it into shots. The DP would frame the spill tight at floor level with a locked camera, because liquid physics is hard. The script supervisor would flag that one clip is trying to do two things.&lt;/p&gt;

&lt;p&gt;So the rewrite for the spill shot was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Extreme close-up at floor level, 50mm lens, locked-off camera, on clean white leather low-top sneakers standing on a polished grey concrete floor. Black coffee splashes down onto the sneaker toe and spreads across the concrete in a wide splatter, droplets bouncing. 2x slow motion. Warm morning sunlight raking from camera-left, hard highlights on the wet coffee. 35mm film look, fine grain.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;One subject. One action, stated first in its own sentence. One camera instruction. The bump becomes its own shot.&lt;/p&gt;

&lt;p&gt;It isn't perfect. In a few takes the coffee reads a bit syrupy, so the next change would be dropping slow motion to real time. But now I'm fixing texture, not whether the shot happens at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  The checklist
&lt;/h2&gt;

&lt;p&gt;These are the rules I now run every video prompt through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One action and one camera move per shot.&lt;/strong&gt; Two actions means two shots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead with the action.&lt;/strong&gt; Put the event you need first, with a clear start and end.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Describe the frame, not the feeling.&lt;/strong&gt; "Tense" isn't something a camera can see. "Jaw clenched, eyes on the door" is.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name a lens and a light source.&lt;/strong&gt; "50mm, window light from camera-left" does more than "cinematic."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frame hard physics tight.&lt;/strong&gt; Pours, splashes, hands and small objects: close-up, simple background, locked camera.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paste character descriptions verbatim in every shot.&lt;/strong&gt; Paraphrasing a character gives you a different person.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No readable text in frame.&lt;/strong&gt; Add it in the edit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete empty quality words.&lt;/strong&gt; "8k, masterpiece, stunning" push out words that help.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After a bad take, change one thing.&lt;/strong&gt; If you change five things you learn nothing from the reroll.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  I turned it into an agent skill
&lt;/h2&gt;

&lt;p&gt;Running that checklist by hand gets tedious, so I packaged it as an open-source agent skill: &lt;a href="https://github.com/HEOJUNFO/ai-film-crew" rel="noopener noreferrer"&gt;&lt;strong&gt;ai-film-crew&lt;/strong&gt;&lt;/a&gt;. It runs your idea past seven roles, each with one job:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;Catches&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Director&lt;/td&gt;
&lt;td&gt;mood-only beats, slow openings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Production designer&lt;/td&gt;
&lt;td&gt;characters drifting between shots (writes a continuity bible)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DP&lt;/td&gt;
&lt;td&gt;combined camera moves that warp geometry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gaffer&lt;/td&gt;
&lt;td&gt;flat, evenly lit "AI look"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editor&lt;/td&gt;
&lt;td&gt;shots longer than the model can generate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sound&lt;/td&gt;
&lt;td&gt;audio cues sent to silent models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Script supervisor&lt;/td&gt;
&lt;td&gt;continuity, feasibility, slop; can veto any shot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;It has three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plan:&lt;/strong&gt; idea in, shot list and one prompt per shot out&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix:&lt;/strong&gt; paste a failing prompt, get the problems ranked and a rewrite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review:&lt;/strong&gt; describe a bad clip, get the one change to make before rerolling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works with Wan, LTX, HunyuanVideo, Kling, Veo, Seedance, Hailuo and Runway, and it runs in Claude Code, Codex, Cursor or anything else that reads &lt;code&gt;SKILL.md&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add HEOJUNFO/ai-film-crew
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then just ask for a video:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; 15s vertical ad for a handmade ceramic mug, for Kling
&amp;gt; this prompt keeps failing: "a chef flips a pancake in slow motion, cinematic, 8k"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The coffee example and a full Kling ad plan are in the repo's &lt;code&gt;examples/&lt;/code&gt; folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disclosure
&lt;/h2&gt;

&lt;p&gt;I work on &lt;a href="https://share.ludyte.com/junfoi" rel="noopener noreferrer"&gt;Ludyte&lt;/a&gt;, an AI video app, and both rows of clips above were generated there. The skill is MIT-licensed and model-agnostic; nothing in it depends on Ludyte.&lt;/p&gt;

&lt;p&gt;If an adapter for your model is out of date, or you have a before/after that proves a rule wrong, PRs are welcome. The per-model advice goes stale fast.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>promptengineering</category>
      <category>video</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
