Core APIs

Split Jobs

Turn long-form video into short clips at POST https://api.flikly.ai/api/v1/developer/split-jobs.

V1 input requirements

  • Required: source_asset_id from a completed asset upload (purpose: split_source)
  • Not supported in v1: public URL, YouTube, or remote file inputs. Unknown fields (including url, youtube_url, source_url) are rejected with VALIDATION_FAILED — upload the video as an asset first.

Example request

{
  "source_asset_id": "asset_vid123",
  "target_platforms": ["tiktok", "instagram_reels"],
  "clip_length_preset": "under_60",
  "aspect_ratio": "9:16",
  "caption_style": "clean",
  "clip_style": "viral_hooks",
  "max_clips": 5,
  "language": "en"
}

Clip settings

  • clip_length_preset: under_30, under_60, under_90, auto
  • target_platforms: tiktok, instagram_reels, youtube_shorts, facebook_reels, linkedin, x
  • max_clips: 1–10 (Team default cap 5 unless negotiated on Custom)

Statuses and retrieval

  • GET /split-jobs/{id} — job status and summary
  • GET /split-jobs/{id}/clips — per-clip signed URLs when ready
  • GET /split-jobs/{id}/result — combined result view

Idempotency

Use Idempotency-Key on create — see Idempotency.

Credits and concurrency

Split jobs charge credits on create. Concurrent queued + processing split jobs are limited (Team default: 2). See Usage.

Scopes: split:create, split:read.