Submit a source video `url` (YouTube, Vimeo, Google Drive, Dropbox, OneDrive,
Rumble, or a direct video file) to turn into viral clips, with an optional
`title`. Returns the new video `id` (a hashid) and its `status`.
Processing is ASYNCHRONOUS: this returns `status: "downloading"` or a
paused `pending_credits` state. Poll get_video_status with the returned `id`
while processing moves. Do not poll `pending_credits`: when a failed payment
caused the pause, the result includes `payment_required: true`, a message,
and `billing_url`; show that guidance so the user can repair payment.
Optionally pass an `agent` id (a hashid from list_agents) to process the video
with that agent's settings (caption preset, composition defaults, …); omit it to use
the team's defaults.
Safe to retry: submitting the same url + agent again returns an existing run
for it from the last 24h (still processing, or completed) as `deduped: true`
instead of starting a second run. Submitting the same url with a DIFFERENT
agent starts a new run (so you can re-process a source with another agent). A
previously *failed* url can be resubmitted to retry it.
Errors: an unsupported/invalid URL is rejected and an agent not on your team
is rejected. A missing subscription or insufficient credits parks the video
in `pending_credits`; direct the user to OpenClip before checking again.
ConnectorOAuth