Quickstart
This guide walks through the smallest end-to-end flow: take a public video URL, generate a folder of AI-selected clips, and render one of them at full quality.
-
Create an API key.
Open Settings → Developers, give the key a label (e.g.
quickstart), and copy the secret. You’ll only see it once.The full bearer value looks like
<uuid>-<teamId>. -
Generate clips from a public URL.
Terminal window curl -X POST https://api2.choppity.com/v1/clips \-H "Authorization: Key $CHOPPITY_KEY" \-H "Content-Type: application/json" \-d '{"source": { "url": "https://example.com/podcast.mp4" },"criteria": "funny moments","target_duration": 60}'const res = await fetch('https://api2.choppity.com/v1/clips', {method: 'POST',headers: {Authorization: `Key ${process.env.CHOPPITY_KEY}`,'Content-Type': 'application/json',},body: JSON.stringify({source: { url: 'https://example.com/podcast.mp4' },criteria: 'funny moments',target_duration: 60,}),});const { job_id } = await res.json();import os, requestsr = requests.post("https://api2.choppity.com/v1/clips",headers={"Authorization": f"Key {os.environ['CHOPPITY_KEY']}"},json={"source": {"url": "https://example.com/podcast.mp4"},"criteria": "funny moments","target_duration": 60,},)job_id = r.json()["job_id"]You get back a
job_idimmediately. The pipeline runs in the background. -
Poll for the results.
Terminal window curl https://api2.choppity.com/v1/clips/$JOB_ID \-H "Authorization: Key $CHOPPITY_KEY"When
statusflips todone, the response contains aclips[]array withpreview_urls you can preview straight in the browser. -
Render a clip at full quality.
Terminal window curl -X POST https://api2.choppity.com/v1/clips/$CLIP_ID/renders \-H "Authorization: Key $CHOPPITY_KEY"Then poll
GET /v1/renders/:render_iduntilstatusisdone— the response will includeoutput_url, a one-hour signed MP4 link. -
Publish the clip to your socials.
When the clip’s preview is ready, Choppity automatically generates a draft post per connected platform with an AI-written caption.
Terminal window # Read draftscurl https://api2.choppity.com/v1/clips/$CLIP_ID/posts \-H "Authorization: Key $CHOPPITY_KEY"# Optionally tweak a captioncurl -X PUT https://api2.choppity.com/v1/posts/$POST_ID \-H "Authorization: Key $CHOPPITY_KEY" \-H "Content-Type: application/json" \-d '{ "caption": "My final caption" }'# Publish immediatelycurl -X POST https://api2.choppity.com/v1/posts/$POST_ID/publish \-H "Authorization: Key $CHOPPITY_KEY" \-H "Content-Type: application/json" \-d '{}'No need to render first — the worker triggers a fresh render the moment the publish task fires. See Posts for the full draft → edit → publish reference.
Next steps
Section titled “Next steps”- Authentication — bearer JWT vs API key
- Posts — publish to YouTube / TikTok / Instagram / LinkedIn
- Socials — list connected platforms
- Webhooks — stop polling
- Errors — error envelope and codes