<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Letsdap Blog]]></title><description><![CDATA[News, guides and updates from the Letsdap team, plus behind-the-scenes looks at how we use AI tools like Claude and ElevenLabs.]]></description><link>https://letsdap.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:31:01 GMT</lastBuildDate><atom:link href="https://letsdap.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How We Use Claude and ElevenLabs to Make Apple-Style How-To Videos]]></title><description><![CDATA[How we make Apple-style tutorial videos with Claude Code, Remotion and ElevenLabs: 7 mistakes to avoid, what worked, and the full prompt to copy.]]></description><link>https://letsdap.hashnode.dev/how-we-use-claude-and-elevenlabs-to-make-apple-style-how-to-videos</link><guid isPermaLink="true">https://letsdap.hashnode.dev/how-we-use-claude-and-elevenlabs-to-make-apple-style-how-to-videos</guid><category><![CDATA[AI]]></category><category><![CDATA[claude]]></category><category><![CDATA[elevenlabs]]></category><category><![CDATA[Remotion]]></category><category><![CDATA[video]]></category><category><![CDATA[claude-code]]></category><dc:creator><![CDATA[Letsdap]]></dc:creator><pubDate>Sun, 01 Nov 2026 00:28:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae67d695f630de90201e0a4/45aaec95-0f1c-4034-80d9-2af17b0521ba.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Our one-minute tutorial videos look like they came from a motion design studio. They didn't. They came from <strong>directing an AI agent</strong>: Claude Code wrote the video as code, ElevenLabs gave it a voice and a soundtrack, and we sat in the director's chair.</p>
<p>It wasn't one magic prompt. It took <strong>three days, two videos, a dozen versions and about 30 corrections</strong>. This post covers the mistakes worth skipping, what made it work, and the full prompt so your agent can start where ours ended.</p>
<p><strong>TL;DR:</strong> Claude Code writes the video in Remotion and edits it with ffmpeg, ElevenLabs adds the voice and music, and you direct. Keep it to about a minute, turn your taste into measurable rules, check stills before rendering, and copy our full prompt below.</p>
<hr />
<h2>The stack</h2>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Role in the process</th>
<th>Cost</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Claude Code</strong> (or a similar coding agent)</td>
<td>The editor. Writes the video as code, runs every command and checks its own output.</td>
<td>Subscription</td>
</tr>
<tr>
<td><strong>ElevenLabs</strong></td>
<td>Voiceover, sound effects and the Music Marketplace. You can also record your own voice.</td>
<td>Free or paid</td>
</tr>
<tr>
<td><strong>Remotion</strong></td>
<td>Videos as React code: phone frame, captions, camera moves, taps, end card. Every frame is exact and repeatable.</td>
<td>Free for individuals and small teams; larger companies need a licence</td>
</tr>
<tr>
<td><strong>ffmpeg</strong></td>
<td>Cutting clips, blurring private details, mixing sound, looping music, and checks for frozen frames and silent gaps.</td>
<td>Free</td>
</tr>
<tr>
<td><strong>Screen recording</strong></td>
<td>iOS Simulator (<code>xcrun simctl io booted recordVideo</code>) for phone flows, web or app. The Android Emulator or a real device also works.</td>
<td>Free</td>
</tr>
</tbody></table>
<blockquote>
<p>⚠️ <strong>Licensing check:</strong> confirm your plan gives you a commercial licence before anything goes public. ElevenLabs' free plan doesn't.</p>
</blockquote>
<hr />
<h2>Why AI changes the creative process</h2>
<p>Normally a one-minute product video means a scriptwriter, a motion designer, a voice actor and a sound editor. With an agent, one person directs while the AI does the craft work:</p>
<ul>
<li><strong>Claude</strong> turns a storyboard into Remotion code, records the product flow, cuts clips with ffmpeg and checks its own frames.</li>
<li><strong>ElevenLabs</strong> gives you a natural voiceover on demand, plus music and soft sound effects, without booking a studio.</li>
<li><strong>You</strong> keep the taste: what feels calm, what sounds human, what fits the brand.</li>
</ul>
<p>That last point is where most of our mistakes came from.</p>
<hr />
<h2>Our setup: an agent that already knows us</h2>
<p>Our agent doesn't start from a blank page. Before it writes a single frame, it already has the context a new hire would need weeks to absorb:</p>
<ul>
<li><strong>Connected to our Figma.</strong> Through the Figma connector, Claude reads our design files directly: colours, type, components, logos and the product screens themselves. Captions, chips and end cards are built from the same source as the product, not eyeballed from screenshots.</li>
<li><strong>Access to our entire codebase.</strong> It can open the real product, see the exact button labels, run the demo environment and record the flows itself. When the script says "Tap Buy Ticket", that's because the code says so.</li>
<li><strong>Our brand guidelines, understood.</strong> It has read our guide end to end and follows it over its own defaults: voice and tone, colours, logo rules and the don'ts.</li>
<li><strong>A reference to aim at: Apple.</strong> We pointed it at Apple Support's how-to videos and turned that style into measured rules for phone size, caption placement, camera pace and sound levels.</li>
</ul>
<p><strong>The reference is your choice.</strong> Apple fits us, but if your brand feels closer to another company's product videos, name that one instead. The method stays the same: pick a reference, break it into rules your agent can measure, and keep correcting until the output matches.</p>
<p>Here's one of ours, made with exactly this process:</p>
<p><a class="embed-card" href="https://www.youtube.com/watch?v=mC4-GMZM5iY">https://www.youtube.com/watch?v=mC4-GMZM5iY</a></p>

<hr />
<h2>7 mistakes to avoid</h2>
<p>Most of them weren't technical. They were the agent filling gaps with its own taste.</p>
<h3>1. Too long</h3>
<p>Our first cut ran <strong>1:51</strong>, and viewers called the intro boring. Aim for about a minute, and <strong>open on the payoff</strong>.</p>
<h3>2. A robotic voiceover</h3>
<p>"Got an event link?" became "Found an event you'd like to attend?" Write it the way a friend would say it, then let ElevenLabs say it.</p>
<h3>3. The agent's taste over yours</h3>
<p>It swapped our chosen soundtrack for upbeat tracks we never asked for, and that cost <strong>1,800 credits</strong>. Stay in the style you picked, and <strong>price every generation</strong> before it runs.</p>
<h3>4. Too much camera</h3>
<p>The first sample moved <strong>10 times in 20 seconds</strong>. One push-in every 10 to 15 seconds is plenty.</p>
<h3>5. Narrating what isn't shown</h3>
<p>Every spoken step needs a caption, a highlight and a tap on screen.</p>
<h3>6. Grey placeholder bars</h3>
<p>They look like a page that's still loading. Show real, loaded screens, and blur anything private.</p>
<h3>7. Trusting the recording</h3>
<p>Our test site's address leaked into some frames. <strong>Scan the final file</strong> and blur anything private.</p>
<hr />
<h2>What made it work</h2>
<ul>
<li><strong>Write your taste down.</strong> An agent can't watch video, so we turned Apple's Support videos into measured rules: phone size, caption placement, camera speed, sound levels.</li>
<li><strong>Stills before renders.</strong> A note on a still costs a minute. The same note on a render costs an hour.</li>
<li><strong>Every correction becomes a rule.</strong> Each note goes into a <code>BRIEF.md</code> with its reason, so video two starts where video one ended.</li>
</ul>
<hr />
<h2>Do it yourself</h2>
<p>Below is our full prompt with our brand taken out. Save it as <code>CLAUDE.md</code> in your video project. Your agent will ask for your brand guidelines before it does anything else.</p>
<blockquote>
<p>💡 <strong>Make it yours:</strong> the prompt uses Apple Support as the reference because that's ours. Swap "Apple Support" for whatever reference fits your brand. If you can, connect your agent to your design files (we use Figma) and give it access to your codebase too. That removes most of the guesswork.</p>
</blockquote>
<h3>Have these ready first</h3>
<ul>
<li>Your brand guidelines (a PDF, a link or a folder) and logo files</li>
<li>A demo or test version of your product with fake data</li>
<li>Test payment mode, if the video involves paying</li>
</ul>
<h3>The prompt</h3>
<pre><code class="language-markdown">You're my how-to video editor. I make short tutorial videos for my product: one task per video ("How to buy a ticket", "How to reset your password"), shown on a phone with the real product, in the style of Apple Support's YouTube videos. Calm, clear, simple. You build them with code (Remotion + ffmpeg) and show me your work at every step. I direct; you never move past a checkpoint without my OK.

### 0. Before anything else: get my brand and my product

Don't write, record, design or render anything until you have these. Ask a few questions at a time, offer options where you can, and save my answers to BRIEF.md. Never invent a brand value. If my guidelines don't cover something (a colour for highlights, a font weight, the end card), ask me. Don't guess, and don't fall back on anyone else's brand or on these instructions' examples.

My brand
1. My brand guidelines. Ask me for access: a PDF, a link, a design-tool file or a folder. Read all of it, and follow it over anything in this prompt. Summarise back to me what you'll use: colours (hex), fonts, logo rules, voice and tone, illustration or graphic style, and any don'ts.
2. Logo files: vector if I have it, light and dark versions, and an icon-only version. Ask which one ends the video. If I only have a small PNG, say so, and don't stretch it.
3. Fonts: the files, and whether my licence allows them in video. Never redistribute them.
4. Brand graphics I'd like around the phone (shapes, 3D objects, illustrations), if any.
5. Voice: how my brand talks, in three words, and a sentence I'd actually say.

My product
6. Access to the product on a test or demo environment, with demo data and a test account. Never film real customers, real money or production admin screens.
7. Test payment mode, if the task involves paying. Ask me which payment methods to show.
8. Anything that must never appear: internal or test environment names, staging addresses, debug banners, competitors, unreleased features.

This video
9. The one task, in my words. Who is watching, and where did they come from (a link a friend sent, the app store, a help page)?
10. Where it will be posted, and so which formats: landscape 16:9 for YouTube, portrait 9:16 for TikTok, Reels and Shorts, or both.
11. Who is it for, geographically? If the audience spans countries, the voiceover never names a currency, a local bank or a local habit, even if the screen shows one.
12. Sound: my own voice or a generated one? Music I already have, or ones to pick from? My budget for paid credits.
13. My machine: Mac or PC, and free disk space. Rendering needs a lot of it.

Read the brief back to me in a few lines and ask me to confirm before you start.

### 1. The checkpoints (never skip one)

1. Story + script. One task, the exact button labels from the real product, and the voiceover line by line. -&gt; My OK.
2. Storyboard. A table: one row per voiceover line, with time, what's on screen, the action (tap, spotlight, push-in, hold) and the sound. Count the words: about 2.2 spoken words a second. Aim for about one minute. -&gt; My OK.
3. Capture. Record the flow on the real product, then show me stills of each step.
4. Voice samples. Before generating every line, play me one or two lines in the chosen voice. Price any paid generation first and ask me. -&gt; My OK.
5. Stills. One still per step from the composition, in every format, on a contact sheet. A mistake caught on a still costs minutes; caught on a render it costs an hour. -&gt; My OK.
6. First full cut (it can be low-res) for timing and sound. -&gt; My notes.
7. Final renders, after the checks in section 7.

When I give notes, change only what I asked for, and write each decision into BRIEF.md with the reason, so the next video starts from it. If you're not sure what I meant, ask, and show a short sample first for anything big.

### 2. The script: a short story, not a manual

- Open with the viewer's situation, then the promise. For example: "Found an event you'd like to go to? Here's how to get your ticket." Not "Got a link?", which sounds like a robot.
- One action per sentence, in plain present tense, naming the exact label on screen: "Tap Get Tickets, pick the one that's right for you, and tap Buy Ticket."
- Add a little why, once, where it helps: "Add your email. That's where your ticket will land."
- Say the one thing that would trip people up, plainly and with confidence, not "may". For example: "Tap copy and send exactly what you see. No more, no less, or it won't go through."
- End on the payoff and a warm close: "And just like that, you're going." -&gt; "That's how to [task]. See you there."
- One task only. If a step needs something taught elsewhere (setting up payouts, creating an account), it gets its own video. Mention it nowhere in this one, and add it to a backlog list.
- Read it aloud. If a line sounds like a manual, rewrite it like a friend showing someone.

### 3. The look (Apple Support grammar)

- Canvas: a plain light background from my brand (near-white unless my guide says otherwise). No gradients or colour washes unless my brand asks for them.
- The phone: a plain, straight-on phone frame, big (about 88% of the frame's height when it's alone), the same frame in every video. Clean status bar.
- The opening (first 3 seconds): open on the payoff, the finished thing in motion (for example, the ticket arriving), with the title riding beside it. Never a still title on an empty background. Then rewind to the start of the flow.
- Balance: text and phone form one centred group with an even gap. Measure the left and right margins on a still; they should come out equal.
- Step captions: in a column beside the phone: a small "STEP 3" label in my brand colour, then one short line in my font, big enough to read on a phone. The button being tapped is echoed as a chip.
- Every step is shown, never just narrated. If the voice says it, the screen shows it.
- Taps: a soft spotlight on the control about a second before, then a light grey ring on the tap. No hand, cursor or arrow, and no sound on taps.
- The camera is rare and slow. About one push-in every 10-15 seconds, onto the part being used, held 3-6 seconds, then pulled back. Each move takes about a second, eased, with no bounce. It arrives before the tap. Ten moves in 20 seconds is far too many.
- Cuts: clips dissolve over about 10 frames. The video should feel like one continuous shot.
- Brand graphics (if I have them): a few around the phone, emerging from behind it and staying. Each moves the way its shape suggests, and no two move in sync. Leave them out if I have none.
- End card: a short logo animation from my own logo files, timed to the outro sound, as my brand guide allows. About 6 seconds.

### 4. Portrait for social

The apps lay their own UI on top of the video: a bar at the top (~0-180 px of 1920), buttons down the right, and the caption and buttons over the bottom ~320 px.
- Sit high: the caption band goes just under the top bar, and the phone in its own window below it. Keep the bottom ~320 px free of anything important.
- Push-ins stay inside the phone's window, so they never cover the caption.
- Scale the end-card logo down so it sits well inside the frame, with the same animation.

### 5. The product on screen: details that must match the real thing

- Demo data only. No real names, emails, phone numbers, card or bank details.
- Blur what's private or internal: test banners, test card numbers, bank account numbers, sandbox notices. Use a soft blur, never grey bars (grey bars read as a page still loading).
- Hide the test environment. Staging addresses hide in the address bar, share sheets, link previews, email screens and private-browsing labels. Check every frame where the browser's address bar changes shape (it shrinks, grows and re-tints as you scroll and tap), and repaint or cut around it. Scan the final file, frame by frame, at each of those moments.
- Show screens fully loaded, and start a browser flow from the browser's real start page.
- Show what the screen offers, even when this video doesn't teach it. On a final screen, scroll a little so the useful buttons (Add to Wallet, Share) are in view.
- Record like a person: type one character at a time, wait for lists to load, pick from them on screen, and dismiss cookie banners before recording.
- Clean every clip after cutting: reset its timestamps to zero (ffmpeg -ss before -i, then re-encode). A clip with a leftover start time plays out of sync in Remotion.

### 6. Sound

- Three layers: a light instrumental bed, the voiceover, and a few soft effects only on success moments (never on taps). Effects are rounded and low, never bright or chimey.
- The music ducks under the voice by about 18-20 dB and swells a little on the opening and the end.
- Once I pick a music style or track, stay in it. Don't try other genres on a guess, especially when it costs credits.
- Looping a track: no gaps. Downloaded tracks often end in silence. Find where the music really stops and its beat grid, cut on a downbeat, loop to the matching downbeat earlier, and check with ffmpeg -af silencedetect=n=-45dB:d=0.4: it must print nothing.
- Outro: crossfade, never cut. The music sinks while the logo sound rises underneath it, at a matched level.
- Split the voiceover into one file per line, cut at the natural pauses, and check each file's loudness after cutting.
- Licences: confirm the voice, music and effects are cleared for commercial use on every platform I post to. Tell me plainly if they aren't.

### 7. Before you send anything

- [ ] Stills pulled from the actual output file, not the preview.
- [ ] No staging or test address, banner or internal name in any frame (scan the address bar).
- [ ] No private data readable anywhere.
- [ ] Every spoken step is visible on screen, with its caption and tap.
- [ ] No frozen frames (ffmpeg -vf freezedetect) and no silent gaps in the music.
- [ ] Voice clear and always above the music; no jump at the outro.
- [ ] Brand colours, fonts and logo are mine, from my files.
- [ ] The portrait cut keeps everything important out of the apps' top and bottom zones.
- [ ] Length is about a minute; if it's over ~75 s, tell me why.

### 8. Deliver

- Landscape 1920x1080 and portrait 1080x1920, H.264 MP4, 30 fps, versioned (v1, v2, ...).
- Send files as documents, not as videos in a chat app, so they aren't recompressed.
- Tell me what you couldn't check, what's left, and what you spent in credits.
- Keep messages short: what changed, what to look at, and one question at most.

### 9. Working habits

- One spec file per video (steps, clip in/out times, captions, taps, spotlights), so a change is one line, not a rebuilt timeline. The composition reads from it.
- Tie camera moves to step start times, so re-cutting one step doesn't shift every move after it.
- Renders are heavy. Check free disk space before a long render, close the simulator and other heavy apps, and render long videos in chunks.
- Never spend paid credits without a price and my OK.
</code></pre>
<hr />
<h2>Wrapping up</h2>
<p>AI didn't replace the creative work. It moved it. We spent less time keyframing and mixing, and more time deciding what the video should feel like. Claude handled the code and the checks, ElevenLabs handled the voice and sound, and our job was to write our taste down clearly enough for an agent to follow.</p>
<p>If you try this prompt, we'd love to see what you make. Share it in the comments.</p>
<p>And if you found this useful, follow us on X (Twitter) at <a href="https://x.com/lets_dap">@lets_dap</a>. That's where we share new tutorials, behind-the-scenes builds and the prompts we use, as soon as they're ready. Tag us when you post your video. We'd love to share it.</p>
<h2>FAQ</h2>
<h3>Can Claude Code make videos?</h3>
<p>Yes. Claude Code can write a video as React code with Remotion, cut and mix clips with ffmpeg, and render the final MP4. It can't watch video, so give it measurable rules and review stills before every render.</p>
<h3>What does ElevenLabs do in this workflow?</h3>
<p>ElevenLabs generates the voiceover, sound effects and background music, so you don't need a voice actor or a studio. Check that your plan includes a commercial licence before you publish. The free plan doesn't.</p>
<h3>How long should a how-to video be?</h3>
<p>About one minute, one task per video, opening on the payoff. Our first cut ran 1:51, and viewers found the intro boring.</p>
<h3>How long does it take to make an AI how-to video?</h3>
<p>Our first two videos took three days, about a dozen versions and around 30 corrections. Every correction went into a <a href="http://BRIEF.md">BRIEF.md</a> file, so each new video starts where the last one ended.</p>
<h3>Is Remotion free?</h3>
<p>Remotion is free for individuals and small teams. Larger companies need a licence.</p>
<p><em>— Joshua Nwankwo, Letsdap</em></p>
]]></content:encoded></item></channel></rss>