Jobs & Webhooks

ReelForger render and music-generation jobs are asynchronous.

Async lifecycle

  1. Submit request
  2. Receive job_id
  3. Retrieve status via polling or webhooks
  4. Download output_url on completion

Inline transcription jobs can progress through:

  • queued
  • transcribing
  • rendering
  • completed
  • transcription_failed
  • failed

Polling

Use GET https://api.reelforger.com/v1/jobs/{jobId} for render jobs until terminal state:

  • completed
  • transcription_failed
  • failed

Use GET https://api.reelforger.com/v1/music/jobs/{jobId} for music generation jobs until terminal state:

  • completed
  • failed

Job responses include billing metadata for transparency:

  • billing.transcription_credit_cost
  • billing.transcription_duration_seconds_billed
  • billing.render_credit_cost
  • billing.total_credit_cost

Transcription billing rules:

  • 1 credit per 5 seconds transcribed, rounded up.
  • Charged only when ReelForger successfully performs transcription.
  • If transcription does not produce a valid result, no transcription charge is applied.
  • If transcription succeeds and render later fails, transcription remains billable while render follows normal refund policy.

Webhooks

Provide webhook_url at request time to receive completion/failure events.

Render events:

  • success event: video.render.completed
  • failure event: video.render.failed

Music events:

  • success event: music.generation.completed
  • failure event: music.generation.failed

Webhooks support retries and signature verification (ReelForger-Signature).

If you provide request metadata, ReelForger includes it in the webhook payload for both render and music jobs.

See this page as the canonical webhook/job retrieval reference.

ReelForger