Clipyt API. Create clips with your account.
Automate the same YouTube clip workflow available in Clipyt. Authenticate with an API key from your account, review strong moments, create a clip, poll its render job and download the finished file. Your account plan, clip limits and AI review allowance apply.
Create and protect an API key
Sign in to Clipyt and open Account → API access. Create a named key and copy it when it is shown; Clipyt stores only its hash, so the full key cannot be displayed again. You can keep up to five active keys, revoke one at any time, and see its prefix and last-use time.
Send API keys only from a trusted server over HTTPS. Keep them out of browser code, source control, logs and shared screenshots. A key acts as your account: usage, plan limits and AI review charges belong to the signed-in account.
Authentication and API base URL
Use https://clipyt.lol as the base URL and send the key in the Authorization header. All request and response bodies use JSON unless an endpoint returns a video download redirect.
curl https://clipyt.lol/api/v1/me \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-H 'Accept: application/json'
Review a video and choose a moment
POST a public, supported YouTube watch, youtu.be or Shorts URL to /api/v1/ai-review. The response includes suggested start and end times, titles, reasons, and available captions. Clipyt aims to return at least two clip choices when the source is long enough for separate intervals. Check each segment's quality_status: verified_highlight means that exact source interval passed final audiovisual review; best_available means it did not pass every quality check and should be previewed first; source_excerpt means no distinct moment could be verified, so the excerpt is for manual review. Additional choices are labeled individually and are never presented as verified unless they pass the exact source review. Clipyt ranks editorial signals but does not predict views or guarantee virality.
A successful review, including a best-available result or source excerpt, consumes the same AI review allowance as the web app. Failures before a clip suggestion is returned are not charged. Use start and end from the selected segment when creating the clip.
curl https://clipyt.lol/api/v1/ai-review \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"video_url":"https://www.youtube.com/watch?v=VIDEO_ID"}'
Create a clip
POST to /api/v1/clips with video_url and the selected range. The endpoint applies the same account eligibility, daily duration allowance, maximum clip duration and output validation as Clipyt. The response is an accepted background job; keep its job_id and poll it until status is ready or failed.
For a regular finished clip, auto_edit can be omitted. Automatic editing uses the app’s two-step editor flow: first submit editor_source=true and auto_edit=true for an unstyled MP4 source range of 45 seconds or less, with source framing and audio. That source job can add a brief AI voiceover only when the edit plan judges it useful. Poll the source job, then submit a final render with its source_job_id and edit_plan, plus portrait framing, captions and quality settings. The API does not accept raw audio uploads.
curl https://clipyt.lol/api/v1/clips \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"video_url":"https://www.youtube.com/watch?v=VIDEO_ID","start":42.5,"end":68.2,"quality":"1080","format":"mp4","audio":true,"aspect_ratio":"9:16","subtitles":"burn"}'
Clip request fields
All fields are optional except video_url (or url) and must match the app’s validation. start defaults to 0; end may be omitted when creating a full clip where allowed. Account and runtime settings determine the exact maximum export length and quality.
| Field | Type and accepted values | Default or effect |
|---|---|---|
| video_url / url | YouTube watch, youtu.be or Shorts URL; required | Original video to clip |
| start / end | Numbers in seconds; start ≥ 0, end > 0 | Selected source range; account max clip duration applies |
| quality | 480, 720, 1080, best | 1080 |
| format | mp4 or mov | mp4 |
| audio | Boolean | true |
| full | Boolean | false; request the full Short when applicable |
| aspect_ratio | source or 9:16 | source |
| editor_source | Boolean | false; reusable MP4+audio source, source framing, no styling, range ≤45 seconds |
| auto_edit | Boolean | false; requires editor_source=true; automatic plan may include a useful voiceover |
| source_job_id | UUID | Required when rendering from an editor source |
| edit_plan | Validated automatic-edit plan object | Use the plan returned by the editor-source job |
| subtitles | none or burn | none |
| subtitle_style | clean, bold, boxed, punch, karaoke, pop | clean |
| subtitle_font | classic, tiktok, gotham, anton, barlow | classic |
| subtitle_highlight_color | Six-digit hex color | #c4ff44 |
| subtitle_motion | none, pop or punch | none |
| subtitle_motion_speed | Integer 80–500 | 100 |
| subtitle_position | Integer 10–80 | Automatic |
| subtitle_size | Integer 70–150 | 100 |
| captions | Array up to 400 cues: start, end, text, optional timed words | Empty; text up to 500 characters per cue, up to 120 words per cue |
| video_zoom | Number 0.5–3.0 | 1.0; permanent framing scale |
| video_x / video_y | Numbers −1.0 to 1.0 | 0; horizontal and vertical framing position |
Track a render and download it
GET /api/v1/jobs/{job_id} to read the current status and progress. The job response includes a message, any safe failure detail, the selected range and render settings. When ready, it includes download_url. Call that URL with the same Bearer key; Clipyt verifies account ownership and redirects to a short-lived signed download. Download links expire with the temporary clip, so save the file promptly.
Jobs are private to the account that created them. A guessed or other user’s job ID returns 404. A failed render does not provide a downloadable file; correct the reported issue and create another job.
curl https://clipyt.lol/api/v1/jobs/JOB_UUID \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY'
# Once status is ready, follow the authenticated download redirect.
curl -L 'https://clipyt.lol/api/v1/download/JOB_UUID' \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-o clip.mp4
Endpoints and response behavior
GET /api/v1 returns the API version and documentation URL. GET /api/v1/me returns your current Clipyt account and usage summary. POST /api/v1/ai-review ranks moments; POST /api/v1/clips starts a render; GET /api/v1/jobs/{job_id} polls it; GET /api/v1/download/{job_id} authorizes a download.
Successful clip creation returns HTTP 202 with the accepted job. Validation errors use 422, missing or revoked credentials use 401, an unavailable account feature uses 403, an inaccessible job uses 404, and service or rate limits use 429 or 5xx. Error responses use {"detail":"..."}. Rate-limited responses may include Retry-After. Send only one review per user-selected video moment and poll jobs at a reasonable interval, such as every 2–5 seconds.
Clipyt currently supports API version v1. Requests use HTTPS and JSON. There is no API key retrieval endpoint: create a replacement key if a secret is lost. Revoke compromised keys immediately from Account → API access.
A complete create-and-render workflow
AI review is optional. If you already know the moment, skip it and send timestamps directly to the clip endpoint. For speech-led source videos, call AI review, inspect the returned shortlist, select a moment, create the 9:16 clip, poll until it is ready, then fetch the authorized download. For automatic editing, render an editor source first and use its source_job_id and edit_plan on the final render. You can use source framing, sound, captions and the available editor settings in the same authenticated account workflow.
Clipyt accepts YouTube links, not local-file uploads or arbitrary video hosts. Use only sources you own or have permission to use. A clip’s framing and captions are part of the rendered file when selected; check the output before publishing it.
# 1. Ask Clipyt to prepare the selected moment and its automatic edit plan.
curl https://clipyt.lol/api/v1/clips \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"video_url":"https://www.youtube.com/watch?v=VIDEO_ID","start":42.5,"end":68.2,"quality":"720","format":"mp4","audio":true,"editor_source":true,"auto_edit":true}'
# 2. Poll /api/v1/jobs/SOURCE_JOB_UUID. When ready, retain its edit_plan.
curl https://clipyt.lol/api/v1/jobs/SOURCE_JOB_UUID \
-H 'Authorization: Bearer cy_live_YOUR_API_KEY'
# 3. Send a final request with that response's edit_plan JSON and source_job_id.
curl https://clipyt.lol/api/v1/clips -H 'Authorization: Bearer cy_live_YOUR_API_KEY' \
-H 'Content-Type: application/json' --data-binary @final-request.json
Common questions
Does the API use my Clipyt account and plan?
Yes. API keys are managed in your signed-in account, and API requests use that account’s plan, AI review allowance, export limits and ownership.
Can I create a clip without AI review?
Yes. Send a YouTube URL with start and end timestamps directly to POST /api/v1/clips.
What does best_available mean?
Clipyt could not verify a highlight that passed every quality check, so it returns its strongest candidate with a preview-first label. source_excerpt means no distinct moment was found; review the excerpt manually before rendering or publishing.
Can I recover an API key later?
No. The secret is shown only once at creation. Create a replacement and revoke the lost key.
Can I call the API directly from a website?
Do not expose an API key in browser JavaScript. Keep it on a server you control and call Clipyt from there.