agentleFS
vargHQvargHQ/skills/varg-dropship-reel/SKILL.md

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

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
  1. Very specific:

    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.

    line 67
  2. Distinctive:

    Check the result: watch it once with sound and once muted.

    line 126
  3. Very specific:

    Don't repost other people's videos as the hook.

    line 148
  4. Distinctive:

    Keep Burj Khalifa out of focus in paid ads (Emaar wants approval for ad use).

    line 150

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

BeatTimePictureHow we make it
Hook0-13 sThe product in action: real-looking phone or security-cam footagevarg-product-hook (Seedance 2.5 from product photos)
Price math13-27 sLaptop, hand with a marker points at cost, sell price, demand chartReal screenshots on a green-screen desk photo → Kling 4 adds the hand (or film it)
Steps27-53 sThe same desk and the same app UI in every shot, the pen walks through each screenSame, one shot per screen
CTA53-60 sNight skyline through an apartment window, iPhone lookWan 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:

  1. Hook: AI remake from product photos (default) / your own footage. Archetype: backyard camera, torture test, problem → solution, satisfying close-up, gift reaction.
  2. Laptop shots: full AI from screenshots (default) / film them yourself (free, looks 100 % real, guide in references/screen-demo.md).
  3. Ending: AI night skyline (default, make once and reuse) / your own phone clip / stock.
  4. 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):

  1. Once: a desk photo with a MacBook whose screen is flat chroma green (gpt_image_2_5, prompt in the reference).
  2. Screenshots of every screen the script names, same size: your real store and tool, or assets/demo-app.html (scripts/screenshot.mjs).
  3. node scripts/screen-on-laptop.mjs plate.png frames/ screens/*.png: each screenshot warped onto the green screen, pixel-exact.
  4. 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.json

4. 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.json

For 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.

ReelHookLink
LED pet nail clippersatisfying close-up (cat, then dog)https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_782920d92e94.mp4
Solar security lightbackyard security camera + "Backyard camera caught this ❌" overlay; the AI video step on varg.aihttps://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_d45406f8d0db.mp4
Cut-resistant glovestorture test (knife, mandoline)https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_631fb721a315.mp4
Heated neck massagergift 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.mp4

Tutorial 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).

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.