Add your own API
Every stage of a film can run on your own engine. Pick it in the Engines panel on the create form; your key stays in your browser and is sent only to that provider.
Script & shot plan — any LLM
OpenAI, Gemini, Groq, OpenRouter and Anthropic are built in. For Your own API, give an HTTPS URL that accepts POST {"prompt": "…"} (with your bearer token if you set one) and returns {"text": "…"}, where the text is the JSON plan below. The prompt we send asks for exactly this shape:
{
"title": "Kush and the Nile",
"minutes": 10,
"style": "eerie",
"chapters": [
{
"title": "The river",
"shots": [
{
"image": "https://…/shot1.jpg",
"card": "Meroë, Kingdom of Kush, c. 300 BC",
"question": "Who built these?",
"credit": "Excavation reports, Meroë",
"secs": 8
},
{
"prompt": "photorealistic recreation of…",
"card": "",
"secs": 8
}
]
}
],
"sources": [
"…"
]
}
A shot needs an image (HTTPS URL or data:image/…;base64) or a prompt (we make the image). secs 2–30. Up to 600 shots.
Images — any image API
fal.ai, Gemini and your own worker come from your Engines settings. For Your own API: HTTPS URL, POST {"prompt": "…", "size": "768x512"} → {"url": "https://…"} or {"base64": "…", "mime": "image/png"}.
Run the whole thing yourself
Our worker is open source. It pulls jobs from https://hathor.soapbox.community/video-studio/api/worker/next with a token, renders with FFmpeg, and sends the film back — see integrations/video_studio_worker.py in the repository.