Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
AI Faceless Video Generator icon

AI Faceless Video Generator

Make a faceless short video from a subreddit, story or topic. You get a 9:16 MP4 with script, voiceover, AI scenes and captions.

5 from 2 reviews on Apify 131 runs on Apify $0.69 per short video ($690 / 1,000)
Run this in the cloudRun on Apify →

AI Video & Content Studio

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust subreddit, story, topic (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.69 per short video = $690 per 1,000

You are charged forWhenPrice
Short video generatedCharged once per finished vertical video (script, AI voiceover, images, burned-in captions). You supply your own OpenAI key, so no AI cost is resold to you.$0.69

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-26, and they are what you are actually charged.

Inputs

FieldWhat it doesType
subredditPull the top story from this subreddit (e.g. tifu, AmItheAsshole, nosleep). Leave empty to use 'story' or 'topic'.string
storyYour own story/script to turn into a video (overrides subreddit).string
topicA topic to write a video about (overrides subreddit).string
sortSort for the subreddit source.string
timeTime window for top.string
toneScript tone.string
voiceAI voiceover voice.string
aspectRatioVideo shape.string
styleArt style for the scene images.string
charactersRecurring-character description for visual consistency.string
captionPresetBurned caption style.string
targetSecondsApproximate length of the short.integer
imageQualitygpt-image-1 quality (affects cost/speed).string
openaiApiKeyYour OpenAI key, used for script, TTS, transcription, and images. Kept private.string
baseUrlOpenAI-compatible base URL. Default https://api.openai.com/v1.string

What you get

A structured dataset — each result includes fields like:

titlehookscenesdurationSecondsvoicevideoUrl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in AI Video & Content Studio

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

AI Storyboard Generator iconAI Video & Content Studio

AI Storyboard Generator

Turn a story or script into storyboard scene images. One art style across every shot. $0.05 per scene image, or $50.00 per 1,000.

Ready to run — no setup

AI Video Dubber iconAI Video & Content Studio

AI Video Dubber

Dub a video into another language. Transcribe, translate, AI voice timed to the original, optional subtitles. $0.12 per dubbed minute, flat.

Ready to run — no setup

Auto Caption Burner iconAI Video & Content Studio

Auto Caption Burner

Burn word-by-word animated captions into any video. Five styles, no watermark. Transcript and word timings included. $0.04 per 30-second block.

Ready to run — no setup

Storyboard Video Generator iconAI Video & Content Studio

Storyboard Video Generator

Turn images or a story into a Ken Burns slideshow video. Pan-and-zoom motion, optional audio, 9:16, 16:9 or 1:1 output. $0.015 per rendered second.

Ready to run — no setup

Story to Script Rewriter iconAI Video & Content Studio

Story to Script Rewriter

Turn a story, article or Reddit post into a short-form script. You get a hook, tight narration, a title and extra hooks. $0.02 per script.

Ready to run — no setup

Subtitle Translator iconAI Video & Content Studio

Subtitle Translator

Translate SRT and VTT subtitles into many languages in one run, or transcribe a video first. Timings stay exact. $0.05 per language, flat rate.

Ready to run — no setup

See all AI Video & Content Studio →

AI Faceless Video Generator: a story goes in, a captioned vertical MP4 comes out

Point it at a subreddit, paste your own story, or just name a topic. It writes the script, reads it aloud, draws the scenes, moves them with a slow zoom and burns word-by-word captions over the top. What lands is one MP4, plus the script, the hook and a few alternative hooks in the row next to it.

The thing to know before you start: it runs on your own OpenAI key. Every step, the script, the voice, the word timings and the images, goes through that key, so OpenAI bills you for the run on top of the charge here. Without a key you get a labelled sample record and no video.

InputA subreddit, your own story, or a topic
OutputOne MP4, plus the script and hooks in a row
CeilingOne video per run, with 3 to 12 scene images in it
Account neededYour own OpenAI API key
Price$0.69 per finished video, flat on every plan

🎥 What AI Faceless Video Generator does

The whole chain in one run, in this order.

It gets the source first. story or topic wins if either is filled in. Otherwise it pulls the subreddit's feed and takes the first post with a real body on it, using the post text only. Comments are not read.

Then a chat model rewrites that into a script at roughly your targetSeconds, in the tone you picked, and hands back a title, a hook and a few spare hooks. The script is cleaned up for reading aloud, abbreviations included, then voiced with your chosen voice.

The finished voiceover decides the rest. Its length sets how many scene images get drawn, between 3 and 12, and each image is rendered with your style and characters notes in the prompt so the look holds. The stills are given a slow push-in, cut together to the length of the voiceover, and the captions are burned on in your captionPreset.

Everything runs one step at a time, so a run takes minutes rather than seconds.

📥 What you give it

{
  "subreddit": "tifu",
  "sort": "top",
  "time": "week",
  "tone": "dramatic",
  "voice": "onyx",
  "targetSeconds": 50,
  "captionPreset": "karaoke"
}
FieldDefaultWhat it is
subredditnoneWhere to take the story from. r/tifu, tifu and a full Reddit link all work. The form prefills tifu, which is an example rather than a default: an API call with all three sources empty fails.
storynoneYour own text. Overrides subreddit. Cut at 8,000 characters.
topicnoneA subject to write about from scratch. Also overrides subreddit.
sorttoptop, hot, new or rising, for the subreddit route.
timeweekday, week, month, year or all. Only used with top.
tonedramaticdramatic, casual, funny, emotional, educational or hype.
voiceonyxalloy, echo, fable, onyx, nova or shimmer.
aspectRatio9:169:16, 16:9 or 1:1.
stylecinematic, moody, highly detailed, dramatic lightingThe art direction in front of every image prompt.
charactersnoneWho keeps appearing, in a sentence, so they stay recognisable between scenes.
captionPresetkaraokekaraoke, hormozi, beast, tiktok or clean.
targetSeconds50Roughly how long the short should be. It drives the word count, and through that the voiceover, the scene count and your own OpenAI spend.
imageQualityhighlow, medium or high. The biggest lever on your OpenAI bill and on how long a run takes.
openaiApiKeynoneYour own OpenAI key. Marked secret.
baseUrlnoneAdvanced. Any OpenAI-compatible host. Empty means https://api.openai.com/v1.

Run it with no key and you get one labelled sample record in the key-value store, free, so you can see the shape first.

📤 What you get back

One row, and the video itself in the run's key-value store under a key like short-1786411663909.mp4. The raw voiceover is saved beside it as voice-<timestamp>.mp3, which is handy if you want to re-cut the video yourself.

FieldWhat it is
oktrue on a delivered video.
sourceWhere the story came from: type is story, topic or reddit, plus the subreddit, title and link when it was Reddit.
titleThe title the model wrote for the piece.
hookThe opening line, as spoken.
altHooksSpare hooks you can swap in when you post it.
scriptThe cleaned narration that was actually read aloud.
voiceWhich voice read it.
scenesHow many images ended up in the video.
aspectRatioThe shape you asked for.
durationSecondsThe finished MP4's length, measured off the file and rounded.
videoKey, videoUrlThe key-value store key, and a direct link to the MP4.
processingSecondsHow long the run took to build it.

No example row is printed here. No run on record has produced one with a working customer key, and a plausible row typed out by hand is worse than none.

🧾 Reading the output

A run has two honest endings and one thing to check.

EndingWhat you see
A video was madeOne dataset row, ok: true, with videoUrl on it
No key suppliedZero dataset rows, a labelled sample in SAMPLE_AND_NOTICES in the key-value store
A step failedThe run stops and is marked failed, with the step named in the log. No row, no video, no $0.69

There is no half-delivered row. If a chat call, the voice, the word timings or an image fails, the run stops there rather than shipping something incomplete.

The thing to check is captions. If the word timings come back empty, the video is built without captions and still delivered and charged. Play the MP4 before you schedule a hundred of them.

The Overview table shows title, hook, scenes, durationSeconds, voice and videoUrl. The script, altHooks and source fields are in the row but not in that table, so open the JSON for them.

▶️ How to run it

1. Open AI Faceless Video Generator and click Try for free to see the sample record. 2. Paste your key into OpenAI API key (BYO). 3. Pick a source: a name in Subreddit, your text in Story text, or a line in Topic. 4. Set Tone, Voice, Caption style and Target length. 5. Click Start, wait a few minutes, then take the MP4 from the run's Storage tab.

💰 How much does it cost?

$0.69 per finished video. Flat on every Apify plan, no volume tiers.

You pay when an MP4 exists. A run that stops partway delivers nothing and is not charged that $0.69, and the keyless sample is not charged either. OpenAI bills your own key separately for the script, the voice, the word timings and every image, so imageQuality and targetSeconds move that side of the bill more than anything else you can set.

💡 What people use it for

  • Faceless story channels on TikTok, Reels and Shorts, run daily off a subreddit.
  • Turning a newsletter paragraph or a support write-up into a short without opening an editor.
  • Testing hooks: one run gives you the spoken hook plus spares, so the same video can be reposted

with a different opening.

  • Making a rough cut to show a client what a format would look like before anyone films anything.

🚧 What it does not do

  • One video per run. There is no batch mode. Schedule it or start several runs.
  • Reddit post bodies only. Comments are never read, and a subreddit whose top post is a link

rather than text gives the model very little to work with.

  • Captions can be missing. No word timings means no captions, and the video still ships.
  • No music, no transitions, no stock footage. Still images with a slow push-in, hard cuts, one

voice track.

  • English. The script is written in English whatever the source language is.
  • No editing afterwards. You get the MP4 as built. There is no re-render of a single scene.

🧭 Which AI video actor do you need?

If you wantUse
A finished short written from a story, topic or subredditThis one
A long video or podcast cut into ranked shortsAI Viral Clip Cutter
Just the voiceover file, from text you already haveAI Text-to-Speech Voiceover
Captions burned onto a video you already haveAuto Caption Burner
A script rewritten for short-form, with no videoStory to Script Rewriter

❓ Questions people ask

Do I need my own key? Yes, and it needs to work for chat, speech, transcription and images. Without one you get the sample record.

How long is the video? Roughly targetSeconds. The script is written to about that length and the video is cut to the voiceover, so it lands close rather than exactly.

Can I use my own images? Not here. Scenes are drawn from the script.

Why did my run fail? A step threw. The log names which one: the feed, the script call, the voice, the word timings or an image. Nothing is charged for the video when that happens.

Can I change the caption look? Yes, through captionPreset. Five styles, from a karaoke highlight to plain clean text.

Is it legal to use a Reddit story? The post text is public and the video is a rewrite, not a copy. Credit the source if your platform expects it, and check the subreddit's own rules before you build a channel on one.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and which source you used, and say whether the MP4 came out with captions on it, since that narrows it down fast.