varg-dropship-reel
Skill23 starsChanged 8 months agoMITView on GitHub
Makes the 60-second faceless dropshipping "guide" reel end to end: a viral-looking product hook, a laptop on a zigzag tablecloth with a hand pointing a marker at the product cost, the store price and the demand chart, then each step (research tool → store → AI ad tool → Instagram → supplier ships), and a night-skyline ending shot on an iPhone with "Comment GUIDE". Script template, AI shots on varg (Seedance 2.5, GPT Image 2.5, Wan 3, ElevenLabs), word-by-word lime captions, the comment-to-DM funnel. Use when an e-commerce seller, dropshipper, affiliate of a product-research or AI-ad tool, or course creator asks for a product reel like @tradelle's, "a reel showing a product, its price in China and on Shopify", a "comment GUIDE" reel, a laptop-and-pen screen walkthrough, or one such reel per product every day. Not for the hook alone (use varg-product-hook), talking-head UGC ads, or screen recordings of software with a cursor (find those with video-skills).
- Reads credentials
- Installs packages
- Sends data out
In this repository75 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- ad-creative-testingSkill
- ai-ad-compliance-checkSkill
- ai-ugc-ad-videoSkill
- app-ui-mockupsSkill
- caption-stylesSkill
- character-passportSkill
- code-to-video-previzSkill
- ecommerce-video-adsSkill
- ecommerce-video-editSkill
- edit-footage-with-codeSkill
- find-referencesSkill
- footage-effectsSkill
- gpt-image-2-6Skill
- gpt-image-gifSkill
- gpt-image-markup-editSkill
- gpt-image-sprite-sheetSkill
- gpt-image-sticker-packSkill
- how-to-make-ai-videoSkill
- kinetic-type-artSkill
- kling-4-action-montageSkill
- kling-4-keyframe-filmSkill
- kling-4-promptingSkill
- make-a-woke-profile-with-chatgptSkill
- maps-and-data-motionSkill
- media-downloadSkill
- media-judgeSkill
- motion-formatsSkill
- paper-shadersSkill
- product-photo-to-videoSkill
- product-video-hooksSkill
- short-form-ffmpeg-cookbookSkill
- social-overlaysSkill
- threejs-animaticSkill
- tiktok-shop-videoSkill
- title-designSkill
- transition-craftSkill
- varg-ad-library-remixSkill
- varg-ad-localizeSkill
- varg-ad-variantsSkill
- varg-aiSkill
- varg-birthday-videoSkill
- varg-character-absurdSkill
- varg-character-beautiful-womanSkill
- varg-character-big-guySkill
- varg-character-cartoonSkill
- varg-character-cringeSkill
- varg-character-designSkill
- varg-character-fitnessSkill
- varg-character-grandmaSkill
- varg-character-keynoteSkill
- varg-consistent-charactersSkill
- varg-mascot-jingle-adSkill
- varg-mockupsSkill
- varg-music-videoSkill
- varg-occasion-videoSkill
- varg-podcast-videoSkill
- varg-previzSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 67
Hook (0-13 s): follow varg-product-hook: 2-3 clips of 4-6 s on seedance_2_5, 9:16, 720p, the product photo as @image1.
- Distinctive: line 126
Check the result: watch it once with sound and once muted.
- Very specific: line 148
Don't repost other people's videos as the hook.
- Distinctive: line 150
Keep Burj Khalifa out of focus in paid ads (Emaar wants approval for ad use).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Dropshipping guide reel
One template, a new product every day. Built from four @tradelle reels (Sept-Oct 2026, 56-64 s, 1080×1920) that share the same skeleton and almost the same voiceover; only the product, the prices and the hook change.
| Beat | Time | Picture | How we make it |
| Hook | 0-13 s | The product in action: real-looking phone or security-cam footage | varg-product-hook (Seedance 2.5 from product photos) |
| Price math | 13-27 s | Laptop, hand with a marker points at cost, sell price, demand chart | Real screenshots on a green-screen desk photo → Kling 4 adds the hand (or film it) |
| Steps | 27-53 s | The same desk and the same app UI in every shot, the pen walks through each screen | Same, one shot per screen |
| CTA | 53-60 s | Night skyline through an apartment window, iPhone look | Wan 3 or Seedance 2.5 once, reuse forever |
Captions: 1-2 words at a time, bold uppercase, white with a black outline, prices and keywords in lime, at 60 % of the height. Voice: one flat, confident male narrator, about 2.6 words per second, no music or a very quiet bed.
Generation runs on varg: the varg-ai skill (REST at https://api.varg.ai/v2) or the varg MCP server (https://mcp.varg.ai/mcp: call_tool, get_job, estimate_cost, create_upload). Every call returns a job; poll GET /v2/jobs/{id} until completed, the file is at output.outputs[0].url. Image-to-video jobs took 5-10 minutes in our test; one text-to-video job waited about an hour in the queue. Start them all at once and do the next step while they run.
1. Ask once, then go
Collect: the product (store or supplier link, 1-3 photos), cost price and sell price, which tools the steps name (the research tool, store builder, AI ad tool, supplier: the ones you're an affiliate of, or your own store), the CTA keyword (default GUIDE), and the language.
Then offer these choices in one message, each with a default:
- Hook: AI remake from product photos (default) / your own footage. Archetype: backyard camera, torture test, problem → solution, satisfying close-up, gift reaction.
- Laptop shots: full AI from screenshots (default) / film them yourself (free, looks 100 % real, guide in
references/screen-demo.md). - Ending: AI night skyline (default, make once and reuse) / your own phone clip / stock.
- Voice: ElevenLabs
eleven_v4, voice "Brian" (default) / another voice / your own recording.
Quote the price before generating (POST /v2/estimate or MCP estimate_cost per clip). What our tests paid (Oct 2026): 6 s seedance_2_5 hook clip 231 credits, 5 s laptop shot 79 on kling_v4, the desk photo 22 once, the skyline 60 once, voice 8. The first reel is about 1,250 credits (2 hook clips + 9 laptop shots + skyline); every next product about 860 (2 hook clips + 5 product-specific laptop shots + voice), because the desk, the skyline and 4 of the laptop shots are shared. With real laptop footage, about 470 per reel.
2. Write the script
Fill the template in references/script.md (140-160 words for 55-60 s). Put the exact prices you'll show on screen into the script. No income promises (see the claims section there).
3. Make the pieces (start all video jobs in parallel)
Hook (0-13 s): follow varg-product-hook: 2-3 clips of 4-6 s on seedance_2_5, 9:16, 720p, the product photo as @image1.
Laptop shots (13-53 s): references/screen-demo.md. In short (the UI must be identical in every shot, so no model ever draws the screen):
- Once: a desk photo with a MacBook whose screen is flat chroma green (
gpt_image_2_5, prompt in the reference). - Screenshots of every screen the script names, same size: your real store and tool, or
assets/demo-app.html(scripts/screenshot.mjs). node scripts/screen-on-laptop.mjs plate.png frames/ screens/*.png: each screenshot warped onto the green screen, pixel-exact.- Animate each frame for 5 s on
kling_v4(79 credits): locked camera, static screen, the hand with a marker enters and points along a path in script order. 9 clips per reel; landing, settings, ad tool and flow are shared across products.
Skyline ending (53-60 s): references/cta-and-funnel.md has the iPhone-look prompt. Text-to-video on wan_3 (60 credits for 6 s) did it well in our test. Make 2 variants once and reuse the better one in every reel.
Voiceover:
curl -s -X POST https://api.varg.ai/v2/speech -H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "eleven_v4", "voice": "Brian", "text": "<the script>"}'Word timings for the captions: transcribe the voiceover with groq_whisper_large_v3_turbo. It returns data.words with a start and end per word; whisper_large_v3 returns only sentence chunks.
curl -s -X POST https://api.varg.ai/v2/tools/transcription/call -H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "groq_whisper_large_v3_turbo", "audio_url": "VOICEOVER_URL", "language": "en"}'
# poll the job, then save its result (the object with "words") as words.json4. Cut it
Download every clip into clips/ under the names guide-edl.mjs lists (hook1, hook2, productA, productB, store, home, settings, adpaste, ads, flow, orders, skyline), then:
mkdir -p fonts && curl -sL -o fonts/Bangers-Regular.ttf \
https://github.com/google/fonts/raw/main/ofl/bangers/Bangers-Regular.ttf # free, close to the originals' comic bold
node scripts/captions.mjs words.json captions.ass --keywords "shopify,profit,demand,free,guide,china"
node scripts/guide-edl.mjs words.json clips > edit.json # cuts every screen in on the word that names it
node scripts/assemble.mjs edit.jsonFor a voiceover in another language add --lang es (built in: en, es) or --anchors anchors.json with the same 11 keys; see varg-ad-localize. guide-edl.mjs finds the script's anchor words ("purchased", "sold", "Even after", "Here is how", "First", "Offer", "Then go", "It will", "Start posting", "when a customer", "Comment") and writes one cut per phrase. To cut by hand, edit.json is one entry per cut:
{
"out": "reel.mp4", "voiceover": "vo.mp3", "captions": "captions.ass", "fontsdir": "fonts",
"shots": [
{ "file": "hook1.mp4", "in": 0, "dur": 3.0 },
{ "file": "hook2.mp4", "in": 0.5, "dur": 2.6 },
{ "file": "research.mp4","in": 0, "dur": 3.0 },
{ "file": "store.mp4", "in": 0, "dur": 4.1 },
{ "file": "research.mp4","in": 2.6, "dur": 2.4, "zoom": 1.08 },
{ "file": "skyline.mp4", "in": 0, "dur": 4.6 }
]
}zoom punches in (use it when you reuse a clip), speed below 1 slows a shot, a shot longer than its source holds the last frame, and overlays ([{ "file": "banner.png", "start": 0, "end": 7 }], full-frame PNGs with alpha) put on-screen text with emoji or a CCTV timestamp over the hook. libass can't draw colour emoji, so render those lines as PNGs. Shots should add up to the voiceover length. The script picks up Homebrew's ffmpeg-full by itself when the default ffmpeg can't burn subtitles.
ffmpeg without captions support. Homebrew's ffmpeg has no libass since 2025 (ffmpeg -filters | grep subtitles prints nothing). Install the keg-only ffmpeg-full next to it (brew install ffmpeg-full); it doesn't replace ffmpeg. Seen on macOS 15.1 (2026-10-27): the install upgraded shared libraries, after which the old ffmpeg failed to start (Library not loaded: libx265…) and ffmpeg-full failed on freetype (Library not loaded: /usr/lib/libhvf.dylib). Fix: brew upgrade ffmpeg and brew reinstall --build-from-source freetype. Don't run this on someone's machine without asking: it changes their system Homebrew.
Check the result: watch it once with sound and once muted; every price on screen must match the voice and the caption at that moment.
5. Post and catch the comments
Caption Best time to start is here 🤝 #entrepreneur #onlinebusiness #ecommerce (the originals' exact line), a ManyChat comment trigger on the keyword that DMs the guide, and the AI label where the platform asks for it. Setup and what to put in the guide: references/cta-and-funnel.md.
Tested
2026-10-28, four products end to end on varg with this exact pipeline: one green-screen desk photo (gpt_image_2_5), the demo app's screens via screenshot.mjs + screen-on-laptop.mjs, 24 laptop shots on kling_v4, hooks on seedance_2_5, eleven_v4 "Brian" voices, word timings from local Whisper, guide-edl.mjs + captions.mjs + assemble.mjs. The app looks the same in every shot and the desk never changes; the hand is the only thing that moves.
| Reel | Hook | Link |
| LED pet nail clipper | satisfying close-up (cat, then dog) | https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_782920d92e94.mp4 |
| Solar security light | backyard security camera + "Backyard camera caught this ❌" overlay; the AI video step on varg.ai | https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_d45406f8d0db.mp4 |
| Cut-resistant gloves | torture test (knife, mandoline) | https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_631fb721a315.mp4 |
| Heated neck massager | gift reaction (Father's Day) | https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_3c77d15fbf7e.mp4 |
The first version (2026-10-27) drew each laptop frame with gpt_image_2_5; the UI changed between shots, which is why the steps above keep the model off the screen.
Rules
- Real prices, real store, real screenshots. No fake reviews, sales counts or income claims.
- Don't repost other people's videos as the hook. Remake the idea with your product (
varg-product-hook). - Say it's an ad when you're paid or an affiliate; label AI footage where the platform asks.
- Keep Burj Khalifa out of focus in paid ads (Emaar wants approval for ad use).
- Re-running a byte-identical request is a free cache hit; change a word to get a new take.
Files
reel/
script.md # filled template
product.png # packshot (and any extra product photos)
plate.png # the green-screen desk photo, made once
screens/*.png # screenshots, one per screen named in the script
frames/*.jpg # screen-on-laptop.mjs output, one per screenshot
clips/*.mp4 # hook1-2, laptop shots (productA/B, store, home, settings, adpaste, ads, flow, orders), skyline
vo.mp3 words.json captions.ass fonts/
edit.json reel.mp4Tutorial with all five example videos and the tools compared: https://github.com/vargHQ/how-to-make-ai-videos-for-dropshipping
Related skills
varg-product-hook (the hook), varg-ai (models, uploads, prices, cloud render), media-download (save reference reels), short-form-ffmpeg-cookbook (more edits: zoom punches, speed ramps, loudness), video-skills (other ad formats).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

