Skip to main content
The TrueFan API lets you generate videos from templates you’ve built in the TrueFan editor — programmatically, from your own backend, at any scale from a single video to a batch of thousands. You build a template once in the editor — avatar, script, branding, variables for anything that should change per video — then call the API to fill in those variables and get a rendered video back.

Quickstart

Generate your first video in under 5 minutes

Authentication

Create an API key and make your first authenticated request

Generate videos

Render one video, or hundreds, in a single call

Webhooks

Get notified the moment a video finishes, instead of polling

How it fits together

1

Build a template

In the TrueFan editor, build a video and save it as a template. Create variables in the script for anything that should change per video — a name, a score, a product — the API can fill these in per-request.
2

Look up what the template needs

Call Get template schema to get the exact variable names and an example payload — every template has a different set of variables, so this is computed live from the template itself rather than documented statically.
3

Generate

Call Generate videos with a list of rows — one row for a single video, many for a batch.
4

Get the result

Poll the status endpoints, or configure a webhook to be notified when rendering completes.

Base URL

API keys are created and managed from the dashboard — see Authentication for how to use one.

Design principles

An API key belongs to one workspace. Every template you can list, and every generation you create, is scoped to that workspace — the same one your team already collaborates in on the TrueFan dashboard.
You never need to describe a video’s avatar, layout, or branding in the request — that’s already saved in the template. You just reference it by template_id and supply variables, computed live at generation time.
Generation takes rows — a JSON array of {variable: value} objects, one per video — directly in the request body. There’s no CSV to format or file to host; if your data already lives in a database or spreadsheet, you serialize it straight into the request.