Step 2: finalize the uploaded file into a clippable video (auto-clips for active plans)

rightsConfirmed must be the USER's attestation that they hold the rights — agents must ask, never assume. Pass linkSourceVideoId (a parked detected video from /videos) to attach the file to it: un-parks it and keeps its YouTube attribution. Idempotent per uploaded object. After an ambiguous PUT (timeout, dropped connection, or 412 on a retried PUT), call this with the same key first; cancel the slot only if it answers 400 (the bytes never landed).

post/api/v1/videos/complete

Request

  • Base URL: https://everpop.app
  • URL: https://everpop.app/api/v1/videos/complete
  • Auth: HTTP bearer

Request body

keystring required
titlestring
rightsConfirmedunknown required
linkSourceVideoIdstring
renderMode'auto' | 'manual'

auto: an account with automatic clipping on starts a render with its saved settings, and that render is this video's one monthly allowance. manual: no automatic render; pass it when you will call POST /api/v1/clip with your own options. The choice is durable — a retry that omits it keeps it.

Response

Idempotent adoption result. autoClipping=true means a render is already running; parked=quota means the file is safe but monthly videos are used up.

okunknown required

Changes

No recorded changes to this operation across all 1 revision of this API.