Build on the API

Two calls to a finished video, ad, slideshow, image or captioned clip: create it, then poll the job.

API reference

API keys

A key signs your code — or a headless agent — in as you. Send it as the x-api-key header.

Loading your keys…

Base URL
https://api.turboclip.ai/v1
Authentication
x-api-key: tc_sk_…

Examples

Real requests and what they return — copy one, swap in your brief.

A presenter-led product ad — shot list, native lip-synced dialogue, your product in every shot, music under the cut. No shoot, no editor: two calls to a finished ad.

  1. 1

    Send the brief.

    API docs

    One POST — a 24-second vertical product ad: three shots, your real product in frame, music under the cut, captions burned in. The AI writes it, renders it, cuts it. No questionnaire, no shoot.

    Request

    curl -X POST https://api.turboclip.ai/v1/ad \
      -H "Content-Type: application/json" \
      -H "x-api-key: tc_sk_..." \
      -d '{
        "brief": "Launch ad for the Ridgeline Pro hiking jacket. Follow one hiker from a dark trailhead to a sunrise summit. Waterproof, featherlight, built for cold alpine starts. End on the jacket and the tagline: Made for the way up.",
        "settings": {
          "adType": "product",
          "videoModel": "gemini-omni-1.1-flash",
          "aspectRatio": "9:16",
          "duration": 24,
          "shots": 3
        },
        "referenceImageUrls": ["https://cdn.ridgelinegear.com/ridgeline-pro/product.jpg"],
        "music": true,
        "captions": true
      }'

    Response · 200

    { "success": true, "data": { "projectId": "3f2a1b4c-…", "jobId": "9b1c7e2d-…",
        "processType": "full_pipeline_video", "creditsReserved": 105, "creditsRemaining": 895 } }
  2. 2

    Poll one URL.

    That’s the whole loop — no render call, no second endpoint. When status flips to completed, the finished MP4 is right there in the same response, music already under the cut.

    Request

    curl https://api.turboclip.ai/v1/jobs/{jobId} \
      -H "x-api-key: tc_sk_..."

    Response · 200

    { "success": true, "data": { "status": "completed", "creditsConsumed": 105,
        "output": { "type": "video", "videoUrl": "https://…/ridgeline-pro-launch.mp4" } } }