Direct-Response Video Editor — Short-Form + VSL Ads (UGC / Story / Animation / Native)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

2000+

HOURS PER WEEK

TBD

DATE UPDATED

Jul 18, 2026

JOB OVERVIEW

We're a story-driven DTC brand hiring a direct-response editor to cut ads for Facebook, Instagram, and TikTok. One brand, long-term, real room to grow with us.

Read this before applying, because it's the whole job:

We are not hiring a videographer. We're hiring an editor who thinks like a marketer. Your work is judged on one thing — did the ad stop the scroll and hold it — not on how cinematic it looks. Clarity beats cleverness. We chase response, not aesthetics. If your instinct with raw footage is to color-grade it, add slick transitions, and "clean it up," we're not a fit — and that's okay.

What you'll actually be cutting
Ads that feel like a real person posted them, not like a brand ran them — UGC-style testimonials, emotional story ads, animation ads, VSLs, AI-voiceover + b-roll ads, text-on-screen ads, native creatives, hooks, product demos. Raw and real beats polished, every time. The goal is to not make it look like an ad.

The craft we expect (this is the standard, not a wishlist)
You understand concepts, not just cuts. You get the idea behind an ad — the angle, the belief it shifts, the emotional arc — and you edit to serve it. You can tell why an ad works, second by second, not just that it "looks clean."
You're not tied to one format — you can build whatever the concept needs. UGC testimonial, story ad, VSL, AI-voiceover-over-b-roll, text-on-screen, split-screen, before/after, static-to-video, animation. You pick the format that serves the idea and you can cut all of them well.
Animation ads. You can build animated story ads and simple 3D/animated explainers that make an invisible mechanism visible — showing the viewer what's happening so the idea lands instantly.
Hook in the first 3 seconds. A pattern interrupt that stops the scroll — never a logo or a polite intro. You understand open loops and curiosity gaps and use them to buy the next second.
Retention over everything. Every second earns the next. You cut to an emotional arc — relatability ? tension ? relief — not to a checklist of clips.
You use contrast to control the eye. Black-and-white with a single accent color, before/after, tension into relief, loud into quiet — visual and emotional contrast to pull attention exactly where it needs to go.
B-roll that matches the voiceover word-for-word, and clean text-on-screen that carries the message with the sound off (feeds autoplay muted). Clips run ~3–5s, natural light, no staged studio look, product revealed late — after the story earns it, never up front.
Sound design as timing, not decoration. Music, zoom, and SFX move with the emotion — the track shifts at each structural beat, the zoom lands on the emphasis line, the punch hits on the reveal.
Keep UGC raw. Slightly awkward, imperfect, conversational — that's the authenticity that converts. Don't polish it out.
Native by default: 9:16 vertical, tight or long depending on the concept, fast clean captions/subtitles, no watermarks or bugs.
Tools & workflow
Editing: Premiere / CapCut / Final Cut — whatever you're fastest and sharpest in. We care about output, not software.
Claude is our brain for everything, and it's a big plus if you already work in it: scripts, natural-speech conversion, creative briefs, ad breakdowns, and second-by-second teardowns all run through Claude. The more fluent you are with it, the faster you'll move.
Plus whatever helps you execute better — AI voiceover (ElevenLabs), AI animation/video generation (Kling, Seedance), and spy research on the Meta Ad Library / AdSpy to study winners and losers. Show us the tools that make you faster and sharper.
You'll live in the research loop: study winners and losers, break them down beat-by-beat, form a hypothesis, iterate fast. You're expected to have opinions on why an ad worked — not just assemble footage.
What we provide
Raw footage, scripts and hooks, creative direction, winning-ad examples, and our internal training so you learn our exact style and keep getting better.

What you keep
Base pay plus a performance bonus on every winning ad you cut. The better your ads convert, the more you make.

How to apply (read carefully — incomplete applications are skipped)
This is the filter, on purpose. Do all three or we move on:

1. Portfolio of real DR ads. 3–5 actual ads you cut — UGC, story, VSL, animation, text-on-screen, whatever you're strongest at — vertical, native, made to sell. No wedding videos, no YouTube intros, no cinematic reels, no motion-graphics showreels. If your best work is polished brand films, we're not your brand.

2. Pick a winning ad you admire (any brand) and tell us, in one paragraph, why it works — second by second. Hook, why it holds, where the emotion turns. We're reading for whether you think in concepts and retention or just "nice edits."

3. Answer this: You get raw phone footage of a customer talking about our product — a little awkward, natural light, not "produced." Do you (a) polish it into a clean cinematic testimonial, or (b) keep it raw and slightly imperfect — and why?

Bonus if you've edited ecommerce ads before, can move between formats (UGC, VSL, animation, text-on-screen), work in Claude, communicate clearly, and turn revisions around fast.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0048
Controller Execution Time ( Jobseekers / Job )  0.0346
Total Execution Time  0.0403
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,432 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Direct-Response-Video-Editor-Short-Form-VSL-Ads-UGC-Story-Animation-Native-1691758
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0169 seconds)  (Hide)
0.0007   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0043   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1691758
 LIMIT 1 
0.0016   SELECT *
FROM `employers`
WHERE `employer_id` = 937449
 LIMIT 1 
0.0037   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1691758
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-23',ej.date_added) duration_daysDATEDIFF('2026-07-23',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-23',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1691758' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691758 
0.0007   UPDATE employer_jobs SET hit_counts '***Jul-18-2026=571***Jul-19-2026=18***Jul-23-2026=2' WHERE job_id'1691758'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jul-2026=590' WHERE job_id'1691758'  
0.0018   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1691758' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691758 
0.0017   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '937449'
AND `date_added` >= '2022-06-08' 
0.0005   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)