AI Faceless Video Generator — Story to Short in 1 Run
Pricing
from $690.00 / 1,000 short video generateds
AI Faceless Video Generator — Story to Short in 1 Run
Make a faceless short video from a subreddit, a story or a topic. The AI writes the script and reads it out loud. It makes the scenes and burns in word-by-word captions. You get a vertical MP4, the hook and the script. $0.69 per video, flat.
Pricing
from $690.00 / 1,000 short video generateds
Rating
5.0
(2)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
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.
| Input | A subreddit, your own story, or a topic |
| Output | One MP4, plus the script and hooks in a row |
| Ceiling | One video per run, with 3 to 12 scene images in it |
| Account needed | Your 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"}
| Field | Default | What it is |
|---|---|---|
subreddit | none | Where 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. |
story | none | Your own text. Overrides subreddit. Cut at 8,000 characters. |
topic | none | A subject to write about from scratch. Also overrides subreddit. |
sort | top | top, hot, new or rising, for the subreddit route. |
time | week | day, week, month, year or all. Only used with top. |
tone | dramatic | dramatic, casual, funny, emotional, educational or hype. |
voice | onyx | alloy, echo, fable, onyx, nova or shimmer. |
aspectRatio | 9:16 | 9:16, 16:9 or 1:1. |
style | cinematic, moody, highly detailed, dramatic lighting | The art direction in front of every image prompt. |
characters | none | Who keeps appearing, in a sentence, so they stay recognisable between scenes. |
captionPreset | karaoke | karaoke, hormozi, beast, tiktok or clean. |
targetSeconds | 50 | Roughly how long the short should be. It drives the word count, and through that the voiceover, the scene count and your own OpenAI spend. |
imageQuality | high | low, medium or high. The biggest lever on your OpenAI bill and on how long a run takes. |
openaiApiKey | none | Your own OpenAI key. Marked secret. |
baseUrl | none | Advanced. 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.
| Field | What it is |
|---|---|
ok | true on a delivered video. |
source | Where the story came from: type is story, topic or reddit, plus the subreddit, title and link when it was Reddit. |
title | The title the model wrote for the piece. |
hook | The opening line, as spoken. |
altHooks | Spare hooks you can swap in when you post it. |
script | The cleaned narration that was actually read aloud. |
voice | Which voice read it. |
scenes | How many images ended up in the video. |
aspectRatio | The shape you asked for. |
durationSeconds | The finished MP4's length, measured off the file and rounded. |
videoKey, videoUrl | The key-value store key, and a direct link to the MP4. |
processingSeconds | How 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.
| Ending | What you see |
|---|---|
| A video was made | One dataset row, ok: true, with videoUrl on it |
| No key supplied | Zero dataset rows, a labelled sample in SAMPLE_AND_NOTICES in the key-value store |
| A step failed | The 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
- Open AI Faceless Video Generator and click Try for free to see the sample record.
- Paste your key into OpenAI API key (BYO).
- Pick a source: a name in Subreddit, your text in Story text, or a line in Topic.
- Set Tone, Voice, Caption style and Target length.
- 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 want | Use |
|---|---|
| A finished short written from a story, topic or subreddit | This one |
| A long video or podcast cut into ranked shorts | AI Viral Clip Cutter |
| Just the voiceover file, from text you already have | AI Text-to-Speech Voiceover |
| Captions burned onto a video you already have | Auto Caption Burner |
| A script rewritten for short-form, with no video | Story 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.


