Fablori for developers and agent builders
Video as one API call.
Send a sentence or a website. Get back a finished, narrated MP4 in a few minutes, from your code or from your agent's tools.
REST API, MCP server and an agent skill on one key. Get an API key
curl https://fablori.com/api/v1/videos \
-H "Authorization: Bearer $FABLORI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "Explain compound interest to new savers", "seconds": 40}'
The call
One POST makes one video. You send what it should say, in a sentence or two, or the address of a public website. Fablori's director writes the voiceover and the storyboard, a scout finds real royalty-free photos and moving footage, one narrator reads it in one take, licensed music goes under the voice, and captions go on top.
The reply comes back at once with an id. Nothing waits on your connection: you ask for the status when it suits you, and download the file when it says done.
Keys look like fab_live_ followed by a long random tail. Send one as Authorization: Bearer or X-API-Key. Each key is shown once and stored only as a hash; an account can hold ten.
curl https://fablori.com/api/v1/videos \1 One endpoint for story, launch and ad videos. Up to 10 creates a minute per account.-H "Authorization: Bearer $FABLORI_API_KEY" \2 Keep the key in the environment. A bad or revoked key gets a 401 that says so.-H "Content-Type: application/json" \3 JSON in, JSON out.-d '{"prompt": "...", "seconds": 40}'4promptis 10 to 2000 characters. Or sendwebsiteinstead for a launch video.
// 200, straight away
{ "id": "ebe1f62b-7489-44c4-9dec-d06d5136f17a",
"status": "planning",
"progress": "the director is writing the storyboard" }
After the call
- planningCharged now, one video from your balance, against the length you asked for. The director writes the storyboard. The API does not stop for approval.
- renderingFootage found and credited, one narrator, music mixed under, captions. A few minutes.
- done
download_urlneeds the same key.studio_urlopens it in the studio to change the storyboard and cut again. - failedThe take did not finish and the video goes back to your balance.
errorsays why.
GET /api/v1/videos/:id, polled every 20 to 30 seconds. Fields as the API returns them; title and length from the explainer in our gallery.
Shapes and formats
Three fields decide what comes back. aspect picks one of three shapes. ad_format picks one of six YouTube ad formats and, when you send it, fixes both the shape and the length. style picks one of eleven looks for a story video.
aspect
"16:9"wide, the default
"9:16"tall, for Reels, TikTok, Shorts"1:1"squaread_format. Each one is a hard cap: the render never runs a second over, captions are on.| value | format | length | shape | skip |
|---|---|---|---|---|
bumper6 | Bumper | 6 s | 16:9 | cannot be skipped |
instream15 | Non-skippable | 15 s | 16:9 | cannot be skipped |
skip30 | Skippable | 30 s | 16:9 | after 5 s |
skip60 | Skippable, long | 60 s | 16:9 | after 5 s |
shorts15 | Shorts ad | 15 s | 9:16 | swipeable |
shorts30 | Shorts ad | 30 s | 9:16 | swipeable |
GET /api/v1/styles returns all of it, styles, aspects, tones and ad formats, and needs no key.
Launch videos (from website) take their colours, fonts and logo from the site instead of a style.
Now set your own.
Set your own call
A specimen page. Every setting below re-sets the request four ways, with the limits the API really applies. Blue marks the lines that just changed.
This page is setting the specimen as you scroll. Change anything to take over.
create_video
Notes on this request
For agents
The same calls are tools on Fablori's MCP server at https://fablori.com/api/mcp. It speaks streamable HTTP, stateless JSON-RPC 2.0, with the same key and the same balance as the API. In Claude Code it is one line:
claude mcp add --transport http fablori https://fablori.com/api/mcp --header "Authorization: Bearer fab_live_..."
Any other MCP client takes the same address and header. When the agent connects, the server tells it what a video costs and to poll get_video every 20 to 30 seconds until the status is done.
tools/listcreate_video | Make a video from prompt or website, with optional aspect, seconds, style, ad_format. Returns an id at once. |
|---|---|
get_video | Status, scenes, and when done a download_url and studio_url. |
list_videos | The most recent videos on the account, up to 50. |
share_video | Turns on a public watch link for a finished video, or off again. |
account | Videos left, the price per video, where to buy more. |
The skill file
For agents that read skills, Fablori publishes one. It tells the agent how to write a brief, which fields to send, how to poll, and when to stop. It also tells it to say what a video costs and get a clear yes before it spends one.
Save it into your agent's skills folder, for Claude Code that is .claude/skills/fablori/, and keep your key in FABLORI_API_KEY.
---
name: fablori
description: Make finished, narrated videos
with Fablori from one sentence (story
videos, short ads, explainers) or from a
public website (launch videos). ...
---
## Before you start
- The user needs a Fablori API key. ...
- Every video costs one video from their
balance ... Say so and get a clear yes
before you create one.
- If the balance is empty, the API answers
402 with buy_more_url. Give the user that
link; do not retry.
/skills/fablori/SKILL.md, shortened where marked.What a call costs
A call that makes a video costs one video from the same balance as the studio. Your first video is free once you confirm your email, through the API too. After that a video is $5 pay as you go, $4 on Creator, or $3 on Studio.
It is charged when you create it, against the length you asked for. If the render does not finish, the video goes back to your balance. When there is nothing left, the API answers 402 with a buy_more_url. Status checks, lists and downloads cost nothing.
| plan | per video | longest | also |
|---|---|---|---|
| First video | free | 30 s, 720p | small end card |
| Pay as you go | $5 | 60 s, 1080p | no end card, kept until used |
| Creator, $20 a month | $4, 5 included | 90 s | extra videos $4 |
| Studio, $45 a month | $3, 15 included | 3 min | extra $3, all three shapes from one storyboard, front of the queue |
Colophon
This page was set in Literata and Red Hat Mono. Every request printed on it uses the field names, limits and messages of /api/v1 and /api/mcp as they run today, and every video on it was made by Fablori.
To make your first one, get an API key and send the call from chapter IV, or hand your agent the skill file and let it ask you first.