Skip to content

Media ingest

V1 uses hybrid ingest.

POST /v1/frame-submissions accepts metadata plus PNG or other configured small media. This path is optimized for the normal next-frame case.

The API validates:

  • bearer API key scope,
  • idempotency key reuse,
  • content type,
  • byte size,
  • metadata core fields,
  • channel permission.

Large video uses POST /v1/media-uploads to create an upload session. Cloudflare Stream is the primary source of truth for those videos. The frame submission references media_upload_id.

This avoids proxying large video through Supabase Edge Functions.

Media processing creates or updates frame_media rows. The workbench should show original status, delivery provider, Cloudflare asset ID, and whether signed delivery is ready.