# Pick One Video API

> Generate "Pick One" videos over HTTP: a topic in, 3 to 10 generated images with a hook clip and music out, in 9:16, 16:9 or 1:1.

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

Send a topic and an image count. AutoFeed generates the options, cuts them to the music behind a hook clip and returns the video.

- 3 to 10 generated images, 5 by default
- A hook clip and background music, no narration
- Optional animated images and zoom effect
- Aspect ratios 9:16, 16:9, 1:1

## 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": "pick_one",
    "input": {
      "topic": "Pick your dream supercar",
      "numberOfImages": 5,
      "format": "9:16"
    },
    "webhookUrl": "https://example.com/webhooks/autofeed",
    "idempotencyKey": "order-1042-pick-one"
  }'
```

202 Accepted:

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

`video.completed` webhook body:

```json
{
  "id": "1c9d6c3e-1f5b-4d2e-9c31-2b8b0f0f9a11",
  "type": "pick_one",
  "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 |
|---|---|---|---|
| `topic` (required) | string (max 2000) | - | Required. What the options are about. |
| `numberOfImages` | integer 3-10 | 5 | Price-bearing: each image adds credits. |
| `substyle` | one of 7 values | "Realistic" | Accepted for compatibility with AI Slideshow bodies; the renderer no longer reads it. |
| `music` | string (max 255) | "/ugc-sounds/moods/let-go-slowed.mp3" |  |
| `format` | "9:16" \| "16:9" \| "1:1" | "9:16" |  |
| `animatedImages` | boolean | false | Price-bearing: adds credits per image. |
| `zoomEffect` | boolean | true |  |

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

## Frequently asked questions

### Does Pick One have a voiceover?

No. It is images, a hook clip and music. The schema has no voice field for it, so sending one is a 400.

### How is a Pick One 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. The price scales with the number of images and with animation.
