# Reddit Story Video API

> Generate narrated Reddit-style story videos with an API call: name a subreddit, get back a vertical MP4 with an original story, voiceover, word-timed captions and gameplay background.

- Canonical page: https://www.autofeed.ai/video-api/reddit-stories
- API reference: https://www.autofeed.ai/docs/api
- Publisher: AutoFeed.ai (https://www.autofeed.ai)

Send a subreddit and a comment count. AutoFeed writes an original story in that subreddit's style, narrates it, times the captions to the voice and lays it over a looping gameplay background, then hands you the MP4.

- An original story written in the style of any subreddit, plus 0 to 10 replies read after it
- Background gameplay from 5 pools: Minecraft, GTA V, Subway Surfers, Fortnite, Satisfying
- Word-timed captions with preset or fully custom styling
- Vertical 9:16 only, which is what this format is made for

## Example request

Costs 1,000 credits, the same as in the dashboard.

```bash
curl -X POST https://www.autofeed.ai/api/v1/videos \
  -H "Authorization: Bearer $AUTOFEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "reddit_stories",
    "input": {
      "subreddit": "AskReddit",
      "commentsCount": 3,
      "backgroundCategory": "Minecraft",
      "captionStyle": "YouTuber"
    },
    "webhookUrl": "https://example.com/webhooks/autofeed",
    "idempotencyKey": "order-1042-reddit-stories"
  }'
```

202 Accepted:

```json
{
  "id": "1c9d6c3e-1f5b-4d2e-9c31-2b8b0f0f9a11",
  "type": "reddit_stories",
  "status": "processing",
  "costInCredits": 1000,
  "createdAt": "2026-11-02T12:00:00.000Z"
}
```

`video.completed` webhook body:

```json
{
  "id": "1c9d6c3e-1f5b-4d2e-9c31-2b8b0f0f9a11",
  "type": "reddit_stories",
  "status": "completed",
  "error": null,
  "costInCredits": 1000,
  "createdAt": "2026-11-02T12:00:00.000Z",
  "completedAt": "2026-11-02T12:03:41.000Z",
  "url": "https://.../1c9d6c3e-1f5b-4d2e-9c31-2b8b0f0f9a11.mp4"
}
```

## Input fields

| Field | Type | Default | Notes |
|---|---|---|---|
| `author` | string (max 100) | "AutoFeed.ai" |  |
| `subreddit` | string | "AskReddit" | The subreddit whose style the story is written in. Any name, not only the dashboard suggestions. |
| `flairs` | string (max 500) | "" (none) |  |
| `commentsCount` | integer 0-10 | 3 | How many replies are read after the story. Capped at 10, because each one adds narration at a flat price. |
| `backgroundCategory` | "Minecraft" \| "GTA V" \| "Subway Surfers" \| "Fortnite" \| "Satisfying" | "Minecraft" | The gameplay pool. The clip itself is picked at random from that pool on our side. |
| `music` | string (max 255) | "none" |  |
| `voice` | string | "JBFqnCBsd6RMkjVDRZzb" |  |
| `captionStyle` | one of 14 values | "YouTuber" |  |
| `customCaptions` | object | - | Required when captionStyle is "Custom". Any field you leave out comes from the preset. |

Included with Ultimate. Rendered files are kept for 14 days.

## Frequently asked questions

### Are these real Reddit threads?

No. The story and the replies are written fresh for every request, in the style of the subreddit you name, so there is no third-party post in the video and no thread to pick. You choose the subreddit, optional flairs and how many replies to read.

### Can I get a horizontal Reddit video?

Not from this type. Reddit Stories renders 9:16 only, and the schema has no format field for it, so sending one is a 400 rather than a silently ignored setting.

### How is a Reddit story video billed?

From the same credit balance as the dashboard, at the same price per video. The cost is in the 202 response before any work starts, and a failed render refunds it.
