For developers & teams
Our pipeline.
Your product.
Long videos in, finished shorts out — cut, subtitled, in the right format. The same pipeline as the studio, driven from your code: create a job, poll its status, download the clips.
Four steps to a clip.
01
Create a key
In your account under “API keys”, create a key (a free account is enough). It is shown exactly once — store it safely and treat it like a password.
02
Create a job
POST a video URL (YouTube, Twitch VOD or Kick VOD). The response contains the job ID; the required credits are reserved and only charged on success.
curl -X POST https://www.lucflow.de/api/v1/jobs \
-H "Authorization: Bearer lf_DEIN_KEY" \
-H "Content-Type: application/json" \
-d '{"source_url": "https://www.youtube.com/watch?v=…",
"options": {"format": "9:16", "content_type": "gaming"}}'
# → {"id": "…", "status": "queued", "reserved_credits": 42, …}03
Poll the status
A job takes a few minutes (depending on video length and queue). Poll the status — e.g. every 30 seconds — until it reads done.
curl https://www.lucflow.de/api/v1/jobs/JOB_ID \
-H "Authorization: Bearer lf_DEIN_KEY"
# → {"status": "processing", "progress": 55, …}04
Download the clips
Once done, the same request returns the clip list with title, length, viral score and a download URL per clip. Files stay available for 14–30 days depending on your plan.
# Sobald status = "done":
# {"clips": [{"id": "clip_1", "title": "…", "score": 87,
# "download_url": "https://www.lucflow.de/api/v1/jobs/…/download"}]}
curl -OJ CLIP_DOWNLOAD_URL -H "Authorization: Bearer lf_DEIN_KEY"Reference.
Base URL https://www.lucflow.de/api/v1 — every endpoint expects the key as Authorization: Bearer lf_… and responds with JSON.
POST /jobs
Create a clipping job. Required: source_url; optional options with format (9:16 · 1:1 · 16:9), language (de · en · auto), content_type (gaming · podcast · reallife), clip_mode (basic · anything), clip_length (auto · short · medium · long · xl) and facecam (auto · yes · no).
GET /jobs
Your 20 most recent jobs with status and clip count.
GET /jobs/{id}
Status, progress and — once done — the clip list incl. download URLs.
GET /jobs/{id}/clips/{clipId}/download
Clip file (MP4) as a download stream.
GET /me
Key check: current credit balance and plan.
Credits & limits.
- 1 credit = 1 minute of source video — the same model as the studio, one shared balance for both.
- Credits are only reserved when you create a job; they are charged once the job finishes successfully. If it fails, the reservation is released.
- At most 3 jobs running at the same time per account (studio + API combined) and 10 job requests per minute per key.
- On the Free plan, clips carry the LucFlow badge — same as in the studio.
- Sources: public YouTube videos, Twitch VODs, Kick VODs, and direct .mp4/.mov file URLs. Ongoing livestreams are rejected — clip after the stream has ended.
Error codes.
Errors come as { "error": { "code", "message" } } with a matching HTTP status:
unauthorizedKey missing, invalid or revoked (401).unsupported_sourceURL is not on a supported platform (400).live_url_unsupportedChannel link or still-running stream (400).insufficient_creditsBalance doesn't cover the video length (402).too_many_jobsAlready 3 jobs in flight — wait for one to finish (429).rate_limitedToo many requests — wait a moment and retry (429).The API is new (beta): response details may still change, but existing fields will stay stable. Questions or requests? Reach us via the Discord support button in the corner.