AI Video Automation Platform - DEVELOPER

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

TYPE OF WORK

Any

SALARY

1000

HOURS PER WEEK

20

DATE UPDATED

Jul 2, 2026

JOB OVERVIEW

I'm building an internal web platform that turns a script into a finished YouTube video automatically.
I want to upload a script, select a saved AI character (avatar) and voice, and click Create. The system then automatically via API:

Generates the voiceover
Generates AI avatar footage of the character speaking the script
Pulls matching stock b-roll for each scene
Assembles the complete edited video (avatar intro, b-roll body, split-screen segments) — no human editor

These channels are the output format and quality we're building toward. Watch a few videos before applying:

----------
----------
----------
----------
----------

Dashboard steps & capabilities:
Script upload ? automatic scene breakdown with timestamps and b-roll keywords (LLM API)
Character library — save avatars per channel + create new ones (AI image ? animated talking avatar)
Voice library — saved voices per character
Auto-pull b-roll from Pexels/Pixabay APIs matched to each scene
Auto-generate avatar footage speaking the script (typically the opening minutes + transitions, not the full runtime)
Auto-assemble the final video following editing rules (avatar open ? b-roll ? split-screen ? avatar close)
Render queue, project history, per-video cost tracking

Requirements:

Total generation cost must land around $3-5 per video (15–20 min videos). Expensive convenience APIs like HeyGen can't be the default — use low-cost or open-source approaches (open-source lip-sync on rented GPUs, budget TTS, free stock APIs, FFmpeg assembly), or propose your own way to hit the number. Will still have access to Heygen and other tools
Every layer must be swappable — voice, avatar, b-roll, and rendering providers can be switched later without rebuilding. Option to select program wanted. Choose between VO tool or Avatar tool. The APIs stay stored in the dashboard.
Fully automated end-to-end — script in, video out. A simple review screen to swap clips before final render is a plus.

Relevant skills: FFmpeg / programmatic video assembly, AI media pipelines (ComfyUI, Replicate, fal.ai, RunPod), TTS and image/video generation APIs, full-stack web development.

To apply, start your application with the word BISON and answer:

How would you build this, layer by layer, with the specific tools you'd use and cost per video?
Show me anything you've built involving AI video, avatars, or automated media.
Timeline to a working v1?

Final step before hiring is a small paid test: I give you a short script, you produce a 2-minute sample video.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0184
Total Execution Time  0.0198
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,376 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/AI-Video-Automation-Platform-DEVELOPER-1680784
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0127 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1680784
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 846588
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1680784
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-13',ej.date_added) duration_daysDATEDIFF('2026-08-13',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-08-13',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1680784' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1680784 
0.0010   UPDATE employer_jobs SET hit_counts '***Jul-02-2026=732***Jul-03-2026=133***Jul-04-2026=75***Jul-05-2026=59***Jul-06-2026=9***Jul-07-2026=12***Jul-08-2026=19***Jul-09-2026=18***Jul-10-2026=10***Jul-11-2026=2***Jul-12-2026=1***Jul-13-2026=1***Jul-14-2026=6***Jul-15-2026=4***Jul-16-2026=1***Jul-17-2026=3***Jul-20-2026=5***Jul-21-2026=6***Jul-22-2026=7***Jul-23-2026=2***Jul-24-2026=5***Jul-25-2026=2***Jul-26-2026=4***Jul-27-2026=3***Jul-28-2026=2***Jul-30-2026=3***Jul-31-2026=6***Aug-02-2026=2***Aug-03-2026=1***Aug-05-2026=1***Aug-06-2026=1***Aug-07-2026=2***Aug-12-2026=1***Aug-13-2026=1' WHERE job_id'1680784'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1128***Aug-2026=9' WHERE job_id'1680784'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1680784' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1680784 
0.0067   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '846588'
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)