clips_from_video
Find clips in a video AND cut up to 5 of them, under ONE payment. This is the alternative to calling find_clips and then clips_from_job yourself — prefer it whenever the user wants clips delivered end-to-end from a video they have not yet uploaded. CARD PAYMENT ONLY — this chain authorizes a Stripe hold (up to $4.50) before the final price is known (the total depends on how many clips are found and delivered), a shape MPP push settlement cannot express. A caller with no card-checkout capability (a wallet-only MPP agent) should NOT call this tool — call find_clips then clips_from_job instead, paying per step in USDC. Two-call flow: (1) call with filename and content_type (video only) — and an optional query to switch clip discovery from "best clips" to matching specific content (e.g. "the part about pricing") — to receive {job_id, status: "awaiting_payment", checkout_url}; (2) once the user says they have authorized payment, call again with the SAME job_id (no other fields needed) to recover state — this returns the same checkout_url if still unauthorized, or an upload step once the card hold is authorized (the client performs the upload, never you). Retrying with a NEW call instead of the same job_id authorizes a SECOND card hold for the same video — always resume with job_id, exactly like every other job-creating tool here. The card hold authorizes the worst case (one $2.00 find_clips analysis plus up to 5 × $0.50 clips), not a charge — the customer is charged once, at the end, for exactly what was delivered (fewer clips than the maximum is normal, not a failure). Clips are auto-selected by score and delivered as a clips-manifest output alongside the transcript and clip candidates on the same job. Poll with get_job_status(job_id) for the transcript and candidates; the clips themselves land as the job progresses through its chained stages. Set orientation to choose the shape: vertical (the default) cuts 9:16 clips for TikTok, Reels and Shorts; horizontal cuts 16:9 clips for YouTube or a website embed. horizontal CUTS the clips and hands them back — it does not upload or publish anything to YouTube; publishing is publish_to_youtube, a separate job the user has to ask for. Pick from what the user says they want the clips FOR, and if that is genuinely ambiguous, ask rather than guessing — the two produce different files at the same price. orientation: "vertical" clips are burned with word-level captions by default (center-third placement, uppercase, one short line per card); pass captions: false to render them without. orientation: "horizontal" clips never get captions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| job_id | No | ||
| captions | No | ||
| filename | No | ||
| job_type | Yes | ||
| thread_id | No | ||
| orientation | No | ||
| content_type | No |