AI Influencer Workflow

Status: Coming soon

End-to-end recipe-first workflow to generate a short social reel from clips + audio, with validate-before-render and async retrieval.

Coming soon

This workflow is intentionally published as a roadmap page. The final production walkthrough may evolve before it is marked live.

Recipes-first path

This walkthrough intentionally uses the recommended Recipes path at /v1/recipes/render.

User request

Create a 15-second social reel from my highlight clips, add narration, and return a final output URL I can post.

Required assets

  • 1 voiceover audio URL
  • 2-4 background media URLs (video or image)
  • transcript_words array (AssemblyAI-style text/start/end ms)
  • optional webhook URL for completion delivery

Chosen ReelForge path

  • Choose recipe: voiceover_explainer
  • Validate payload first (recommended for production reliability)
  • Render via recipe endpoint
  • Retrieve via jobs polling or webhook callback

Operational examples

Render request payload (recipe)

{
  "recipe_id": "voiceover_explainer",
  "style_preset": "karaoke_yellow",
  "idempotency_key": "influencer-flow-001",
  "variables": {
    "voiceover_audio_url": "https://samplelib.com/lib/preview/mp3/sample-15s.mp3",
    "background_assets": [
      "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
      "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4",
      "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4"
    ],
    "transcript_words": [
      { "text": "The", "start": 0, "end": 900 },
      { "text": "striker", "start": 900, "end": 1900 },
      { "text": "gets", "start": 1900, "end": 2800 },
      { "text": "past", "start": 2800, "end": 3600 },
      { "text": "the", "start": 3600, "end": 4300 },
      { "text": "defender,", "start": 4300, "end": 5600 },
      { "text": "takes", "start": 5600, "end": 6600 },
      { "text": "the", "start": 6600, "end": 7300 },
      { "text": "shot,", "start": 7300, "end": 8700 },
      { "text": "and", "start": 8700, "end": 9500 },
      { "text": "it", "start": 9500, "end": 10200 },
      { "text": "is", "start": 10200, "end": 10900 },
      { "text": "a", "start": 10900, "end": 11600 },
      { "text": "beautiful", "start": 11600, "end": 13400 },
      { "text": "goal!", "start": 13400, "end": 15000 }
    ],
    "hook_text": "Watch this crazy play!",
    "cta_text": "Follow for more highlights"
  },
  "webhook_url": "https://example.com/reelforge/webhooks"
}

Validate response (trimmed realistic)

{
  "success": true,
  "data": {
    "valid": true,
    "estimated_total_duration_seconds": 15,
    "estimated_credit_cost": 15,
    "warnings": []
  },
  "request_id": "req_01hxyz"
}

Render response (trimmed realistic)

{
  "success": true,
  "job_id": "8f1fd0fe-63a5-4fef-8f2c-8f1225f6d309",
  "request_id": "req_01hxyz"
}

Job retrieval response (trimmed realistic)

{
  "success": true,
  "data": {
    "id": "8f1fd0fe-63a5-4fef-8f2c-8f1225f6d309",
    "status": "completed",
    "output_url": "https://signed-url.example/video.mp4",
    "error_message": null,
    "created_at": "2026-03-10T12:00:00.000Z",
    "updated_at": "2026-03-10T12:00:21.000Z",
    "total_duration_seconds": 15,
    "credit_cost": 15
  },
  "request_id": "req_01hxyz"
}

Final output preview

Flagship workflow output

Representative social-video style sample preview for rollout validation.

Make/Zapier mapping tips

  • Map incoming clip/audio variables directly to the request payload; avoid rebuilding JSON dynamically in multiple steps.
  • Use a stable idempotency_key pattern per scenario run to prevent accidental duplicate charges.
  • If webhooks are unavailable in your tool, poll /v1/jobs/{jobId} every 5-10 seconds until terminal status.

Advanced fallback

If your workflow needs frame-level sequencing or layouts recipes cannot express, switch to the Timeline API as an advanced fallback.