AI Faceless Video Generator
Turn a subreddit, story or topic into a finished faceless short: AI script, voiceover, cinematic scene images and karaoke captions.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
subreddit,story,topic(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.39 per video = $390 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Video generated | One finished faceless short video. | $0.39 |
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.0000125 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-08, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
subreddit | Pull the top story from this subreddit (e.g. tifu, AmItheAsshole, nosleep). Leave empty to use 'story' or 'topic'. | string |
story | Your own story/script to turn into a video (overrides subreddit). | string |
topic | A topic to write a video about (overrides subreddit). | string |
sort | Sort for the subreddit source. | string |
time | Time window for top. | string |
tone | Script tone. | string |
voice | AI voiceover voice. | string |
aspectRatio | Video shape. | string |
style | Art style for the scene images. | string |
characters | Recurring-character description for visual consistency. | string |
captionPreset | Burned caption style. | string |
targetSeconds | Approximate length of the short. | integer |
imageQuality | gpt-image-1 quality (affects cost/speed). | string |
openaiApiKey | Your OpenAI key — used for script, TTS, transcription, and images. Kept private. | string |
baseUrl | OpenAI-compatible base URL. Default https://api.openai.com/v1. | string |
What you get
A structured dataset — each result includes fields like:
titlehookscenesdurationSecondsvoicevideoUrlExport 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
Turn a story or script into consistent AI scene images with a shared art style and character continuity.
AI Video Dubber
Dub any video into another language: transcribe, translate, AI voice-over timed to the original, plus optional translated subtitles.
Auto Caption Burner
Burn word-by-word animated captions into any video. 5 viral presets, no watermark, transcript and word timings included.
Storyboard Video Generator
Turn images or a story into a Ken Burns slideshow video with pan-and-zoom motion, optional audio and 9:16, 16:9 or 1:1 output.
Story to Script Rewriter
Turn any story, article or Reddit post into a short-form video script: a strong hook, tight narration, a title and alternate hooks.
Subtitle Translator
Translate SRT and VTT subtitles into many languages in one run, or transcribe a video first. Timings preserved exactly. $0.05 per language, flat rate.
Where this tool sits
- Categories
- AI Video & Content Studio
AI Faceless Video Generator
Give it a subreddit, a story, or a topic and it returns a finished faceless short: an AI-written script, an AI voiceover, cinematic scene images with ken-burns motion, and word-synced captions burned in. It runs the whole pipeline in one go, so the output is a ready-to-post vertical video for TikTok, Reels, or YouTube Shorts. Built for people churning out faceless content who don't want to stitch five tools together by hand.
How it works
It pulls the source text (top Reddit post via RSS, or your own story/topic), rewrites it into a tight retention script, generates the voiceover with OpenAI TTS, transcribes that audio back to get per-word timings, generates one scene image per ~6 seconds with gpt-image-1, then animates the stills with ffmpeg ken-burns and burns the captions over the top.
Input
Nothing is strictly required, but you do need to give it a source (one of subreddit, story, or topic) and an OpenAI key. subreddit is prefilled with tifu so a run with just a key will produce something. Run it with no key and it returns one labelled SAMPLE row showing the output shape instead of a video — that row is billed like any other (see Pricing).
| Field | Required | Notes |
|---|---|---|
subreddit | one of source | Pulls the top post with enough body text, e.g. tifu, AmItheAsshole, nosleep. Prefilled tifu. |
story | one of source | Your own text to turn into a video. Overrides subreddit. |
topic | one of source | A topic to write about from scratch. Overrides subreddit. |
openaiApiKey | yes in practice | Bring your own key. Used for script, TTS, transcription, and images. Kept private. |
tone | no | Script tone: dramatic (default), casual, funny, emotional, educational, hype. |
voice | no | OpenAI TTS voice: onyx (default), alloy, echo, fable, nova, shimmer. |
aspectRatio | no | 9:16 (default), 16:9, or 1:1. |
captionPreset | no | Burned caption style: karaoke (default), hormozi, beast, tiktok, clean. |
targetSeconds | no | Approximate length. Default 50. The scene count scales with the final voiceover duration. |
imageQuality | no | gpt-image-1 quality: low, medium, high (default). Drives most of your OpenAI cost. |
style | no | Art direction for the scene images. Defaults to a cinematic, moody look. |
characters | no | Recurring-character description to keep faces and outfits consistent across scenes. |
sort / time | no | Reddit sort (top/hot/new/rising) and time window for top. |
Output
One dataset item per run with the finished MP4 and the metadata around it. The video and the raw voiceover MP3 are written to the run's key-value store. Key fields: videoUrl and videoKey (the MP4), title, hook and altHooks (extra hook options to A/B), script, voice, scenes, aspectRatio, durationSeconds, and source (where the story came from).
Example
{
"subreddit": "tifu",
"tone": "dramatic",
"voice": "onyx",
"captionPreset": "hormozi",
"aspectRatio": "9:16",
"targetSeconds": 50,
"openaiApiKey": "sk-..."
}
Pricing
From 26 August 2026: $0.69 per finished video, plus $0.0000125 each time a run starts. Flat rate — no volume tiers, no plan gates, no subscription.
From that date the charge moves onto the video itself, so only a short that actually finished rendering costs anything:
- a keyless run writes one labelled SAMPLE row previewing the output shape, and is free;
- a run that fails outright (bad subreddit, no usable post, an OpenAI or render error) is free;
- you are charged once, and only once, per delivered
.mp4.
Until 25 August 2026 the older terms still apply: $0.39 per dataset row, where the keyless sample row is charged the same $0.39 and only an outright failure is free.
The run-start fee is charged once per gigabyte of run memory, so at this actor's default 4 GB it works out at $0.00005 a run.
OpenAI usage (script, TTS, transcription, images) runs on your own key and is billed to you by OpenAI directly — none of it is resold through this actor, and imageQuality is the main lever on it. That is why $0.69 undercuts the hosted alternatives on the store, which charge around $0.99–$1.00 for a comparable short because they mark up the model inference they run for you.
Notes
Reddit serves the public RSS feed, which works for top posts but not comment threads, so this reads the post body only. imageQuality: high is the main lever on OpenAI cost and run time. If your story or topic is short, the script model pads to roughly targetSeconds, which can read thin; feed it more source text for better results.