> For the complete documentation index, see [llms.txt](https://doc.autoreach.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.autoreach.tech/ai-video-and-reels/setup-and-costs.md).

# Setup, Requirements & Costs

Reel generation uses several AI providers under the hood. Because AutoReach runs them with your own API keys, you connect those providers once, then generate as many reels as you like.

## Required API Keys

Add these in **Settings → AI & Models**. Reel generation needs all of them:

| Provider       | Used for                                                  |
| -------------- | --------------------------------------------------------- |
| **Anthropic**  | Writing the script and planning the visual cuts           |
| **OpenAI**     | Transcribing the voiceover to build synchronized captions |
| **ElevenLabs** | Generating the voiceover                                  |
| **fal.ai**     | Generating the imagery, motion, and on-camera lipsync     |

An optional **Pexels** key lets AutoReach pull in stock footage for some shots.

If a required key is missing, the reel fails with a configuration error that tells you which provider to connect.

## Character Photo and Voice

For formats with an on-camera presenter (Talking Head, UGC, UGC with Inserts), set up a character so the presenter looks and sounds like you. Both live on the account's **Videos** tab.

### Character Reference Photo

Upload a reference photo of the person who should appear on camera, and label the angle it shows (front, left profile, right profile, looking up, looking down, or other). A clear, well-lit, front-facing photo gives the most consistent results across reels. AutoReach reuses this reference so the presenter stays recognizable from one video to the next.

If you change the photo, the cached description refreshes automatically on the next reel.

### Voice

Pick an **ElevenLabs voice** for the account. You can use one of ElevenLabs' prebuilt voices or a voice you have cloned in ElevenLabs. The selected voice is used for every reel on that account until you change it.

## Costs

Each reel's cost depends on its format, quality preset, and duration, and is split across the providers above (script, voiceover, transcription, image generation, and video generation). Higher quality and longer durations cost more; the **Fast** preset and shorter formats are the cheapest.

AutoReach shows a **cost estimate** in the generation modal before you commit, and records the actual cost once the reel finishes. Because generation runs on your own provider keys, these charges come from those providers directly.

To keep costs down while experimenting, use the **Fast** quality preset and shorter formats (Short Motivational, UGC) until you have a topic and look you are happy with, then switch to **Full** for the reels you plan to publish.

## Storage and Expiry

Finished videos are stored for **3 days**, then removed. Download any reel you want to keep. The script and caption remain visible in the reel's history entry, but the MP4 itself is gone after expiry, so save the file locally or repost it before then.

## When a Reel Fails

Failures are labeled with a short category so you know what to do:

| Category        | What it usually means                                                                |
| --------------- | ------------------------------------------------------------------------------------ |
| **Config**      | A required API key or character photo is missing                                     |
| **Script**      | The script could not be generated; retry usually clears it                           |
| **Voice (TTS)** | Voiceover generation failed (check your ElevenLabs key and voice)                    |
| **Visuals**     | Image generation failed; retry resumes from this step                                |
| **Lipsync**     | The on-camera lipsync step failed                                                    |
| **Render**      | The final assembly failed                                                            |
| **Refusal**     | A provider declined the request on content-policy grounds; adjust the topic or brief |

In almost every case, click **Retry**: it resumes from the failed step and reuses everything that already succeeded, so you do not pay to redo the whole video. For a refusal, soften or reword the topic and creative brief before retrying.

## Next Steps

* [**Creating a Reel**](/ai-video-and-reels/creating-a-reel.md): Formats, inputs, and the generation lifecycle
* [**AI Model Configuration**](/settings-and-configuration/ai-models.md): Where API keys are managed


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.autoreach.tech/ai-video-and-reels/setup-and-costs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
