Render verified data videos from code.
One call runs the whole pipeline: profile → insights → AI story → claim verification → render. Plan limits (watermark, resolution, render minutes) apply exactly as in-app.
You'll need a free account to mint a key: sign in, then create one under Settings → API keys. Keys are shown once — store yours securely.
POST /api/v1/renders
CSV in, queued render out. Rate limit: 10 renders/min per workspace.
curl -X POST https://furlen.pro/api/v1/renders \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"csv": "month,revenue\n2025-01,120000\n2025-02,145000\n2025-03,210000",
"audience": "investor",
"outputFormat": "video_16_9",
"format": "mp4",
"resolution": "1080p"
}'audience: investor · executive · linkedin · youtube · internal_team · client_report · student — outputFormat: video_16_9 · video_9_16 · video_1_1 — format: mp4 · gif — resolution: 720p · 1080p · 4k (capped by plan).
GET /api/v1/renders/:id
Poll every few seconds; renders typically take 30–90s. downloadUrl appears when completed.
{ "renderId": "…", "status": "completed", "progress": 100,
"format": "mp4", "resolution": "1080p",
"downloadUrl": "/api/render-jobs/<id>/download" }Errors
Errors return a JSON body with a stable error string and the matching HTTP status.
400 { "error": "invalid_request", "message": "csv is required" }
401 { "error": "unauthorized", "message": "Missing or invalid API key" }
402 { "error": "plan_limit", "message": "4k renders require the Pro plan" }
429 { "error": "rate_limited", "message": "10 renders/min per workspace" }
500 { "error": "render_failed", "message": "Render worker error — safe to retry" }402 plan-limit and 401 auth errors are terminal — fix the request. 429 and 500 are safe to retry with backoff.
MCP server for AI agents
Let Claude (or any MCP client) render verified data videos: the furlen-mcp server exposes furlen_render and furlen_render_status.
{
"mcpServers": {
"furlen": {
"command": "npx",
"args": ["-y", "furlen-mcp"],
"env": { "FURLEN_API_KEY": "sg_live_..." }
}
}
}