Video Editor for Facebook Ads – Direct Response + AI B-Roll

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

TYPE OF WORK

Full Time

SALARY

500

HOURS PER WEEK

40

DATE UPDATED

Sep 25, 2026

JOB OVERVIEW

ABOUT US
We are a fast-growing European e-commerce brand selling in several countries. We run Facebook and Instagram ads every day, test new products every week and scale the winners. That means we need a lot of new ads, fast.

We are not looking for someone who makes beautiful videos.
We are looking for someone who makes videos that SELL.

WHAT YOU WILL DO
- Edit short video ads (15–90 seconds, 9:16 and 4:5) from our existing b-roll library
- Create new b-roll with AI (Higgsfield, account provided) whenever our library doesn't have the right shot
- Create at least 3 hook variations (the first 3 seconds) for every ad
- Turn our winning ads into new versions: new hooks, new angles, new formats
- Add subtitles and on-screen text so every ad works with the sound off
- Deliver around 20 ads and variations per week

YOUR KEY SKILL: THE RIGHT B-ROLL FOR EVERY LINE OF THE SCRIPT
Every line of the voiceover needs a shot that makes it instantly clear, even with the sound off:
- The script names a problem → we SEE the problem
- It explains how the product works → we SEE the mechanism
- It makes a claim → we SEE the proof
- It presents the solution → we SEE the product in use
B-roll is not decoration. It is the argument.
When the right shot doesn't exist in our library, you create it with AI: realistic, clean and usable.

YOU DON'T NEED TO SPEAK OUR LANGUAGES, BUT YOU MUST MASTER CHATGPT AND GEMINI
Our ads run in Portuguese, Slovak and other European languages. The voiceovers are provided. You use ChatGPT and Gemini to:
- Translate and understand every script, line by line
- Write the on-screen text in the target language
- Shorten or adapt part of a script when it is too long or doesn't work in another language
Every text in our ads must be 100% native and correct in the target language. You know how to ask AI for natural, native wording (never word-for-word), and you double-check every text with the other tool before delivering.

FINAL CHECK WITH GEMINI BEFORE EVERY DELIVERY
When an ad is finished, you upload the video to Gemini and ask it to review everything: spelling and grammar of the on-screen text, subtitles vs. voiceover, translation quality, cut-off text, visual errors in the AI b-roll.
Gemini tells you either what must be fixed, or that the ad is ready to be tested.
You fix everything it finds, and you only deliver an ad once Gemini confirms it is ready to be tested.

MUST HAVE
- A portfolio of direct-response ads you edited (UGC ads, TikTok Shop, e-commerce brands). Links required.
- A real understanding of direct response: hook, retention, pacing, proof, offer, call to action
- You already edit with Canva or with your own editing software (CapCut, Premiere Pro, DaVinci Resolve...)
- You already use AI tools to create images or videos (Higgsfield, Kling, Veo, Runway, Midjourney...)
- You use ChatGPT and Gemini every day: to get native, correct texts in any language and to review finished videos
- Good written English
- Stable internet and a backup for power or internet outages
- Full-time availability (40 hours/week). Mostly async, with a short daily check-in during your afternoon (European morning)

NICE TO HAVE
- Experience with European or multi-language ads
- Basic motion graphics
- You know what hook rate and hold rate mean, and you have already looked at your ads' results in Meta Ads Manager

NOT A FIT IF
- Your portfolio is mostly weddings, corporate or cinematic videos
- Your ads start with a logo or a slow intro
- You care more about transitions than about clarity

WHAT WE OFFER
- Starting salary: USD 500/month
- Salary review after your first month, then every 3 months: your salary grows with the quantity and the quality of the ads you deliver
- The results of YOUR ads every week, so you learn what sells and keep improving
- A long-term, full-time position (the first month is a paid trial)

HOW TO APPLY
Start your application with the words "HOOK FIRST". Applications without them will not be read.
Then send us:
1. 3 to 5 links to direct-response ads you edited, and what you did on each one
2. The editing software and AI tools you use
3. Short answers to these 3 questions:
a) What do you put in the first 3 seconds of an ad, and why?
b) Send us one video ad you think sells very well (link) and explain in 3–5 lines why it works.
c) The script says: "Your coffee gets cold before you finish it? This mug keeps it hot for 12 hours." Which shots would you use for this line, and why?

NEXT STEPS
Shortlisted candidates do a paid test (USD 20, 48 hours): we send you b-roll, a script and a voiceover in one of our languages. You edit 1 ad + 3 hook variations with the on-screen text in that language, run the final Gemini check (send us its verdict), and list the AI b-roll you would create for the missing shots, with your prompts. Then a short call, and we start.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0121
Total Execution Time  0.0133
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,088 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Video-Editor-for-Facebook-Ads-Direct-Response-AI-B-Roll-1737960
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0060 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1737960
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 937325
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1737960
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-27',ej.date_added) duration_days, DATEDIFF('2026-09-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-09-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1737960' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737960 
0.0008   UPDATE employer_jobs SET hit_counts = '***Sep-25-2026=423***Sep-26-2026=38***Sep-27-2026=3' WHERE job_id= '1737960'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=463' WHERE job_id= '1737960'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1737960' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737960 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '937325'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0004   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)