The Crayo Developer API is a REST interface that runs auto clipping, AI voiceovers, image generation, and short-form video rendering from your own code with one bearer key. It is for developers, agencies, and product teams putting Crayo inside their own apps and pipelines.
Call Crayo from your own product: auto clipping, AI voiceovers, images, and rendered short-form video over one REST API.
Get your API key
Every endpoint lives under https://api.crayo.ai and takes a single bearer key. Here is a full AutoClip job, start to queued.
curl -X POST "https://api.crayo.ai/v1/autoclip" \
-H "Authorization: Bearer $CRAYO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "cm7x1k2p40001abcd",
"clip_count": 5,
"clip_length": 60,
"edit_level": "full"
}'const response = await fetch("https://api.crayo.ai/v1/autoclip", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CRAYO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
asset_id: "cm7x1k2p40001abcd",
clip_count: 5,
clip_length: 60,
edit_level: "full",
}),
});
const data = await response.json();
if (!response.ok) throw new Error(data.error?.message ?? response.statusText);
console.log(data);{
"success": true,
"autoclip": {
"id": "cm7x1m8880001abcd",
"status": "queued",
"clip_count": 5,
"credits_charged": 5
}
}Send a long upload to AutoClip, ask for 2 to 20 vertical clips, and get back ready made projects with titles and thumbnails that you can export individually.
Compose up to 50 scenes into a project with narration, background music and a subtitle style, then render it to a finished file with one export call.
Generate narration from a script with any voice in the catalog, or produce images, icons and face swaps from a prompt without leaving your own product.
Run speech enhancement or a voice change over media you already own, and pull word level transcripts with millisecond timings for your own captioning.
List, fetch and delete everything in your media library, and subscribe up to 5 webhook endpoints so your backend hears about finished renders without polling.
Wire Crayo into the dashboards your editors already use, check credit and storage balances before a batch run, and keep the whole pipeline on one account.
Open the developer console in your Crayo dashboard and generate a key. It is shown once and stored only as a hash, so copy it into your secret manager straight away.
Upload a file through the signed upload flow, or import one from a public https URL. Either way you get back an asset id that every other endpoint accepts.
Send the asset id to AutoClip, a generation endpoint, or a project you composed scene by scene, then export it. Credits are charged when the request is accepted.
Exports and AutoClip jobs run asynchronously. Poll the job endpoint or register a webhook and Crayo posts a signed payload the moment the job finishes or fails.
34 endpoints across nine groups. Reads, catalogs and uploads are free. Anything that generates media spends the same credits the app does.
Plan, credit balances, storage, and the rate limits on your key.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| GET | /v1/account | Read plan, credit balances by type, storage usage and rate limits | Free |
Your media library, plus the two ways to get files into it.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| GET | /v1/assets | List assets by type and category | Free |
| GET | /v1/assets/{id} | Fetch one asset | Free |
| POST | /v1/assets | Import media from a public https URL | Free |
| DELETE | /v1/assets/{id} | Remove an unused asset | Free |
| POST | /v1/uploads | Start a direct upload and get a signed URL | Free |
| POST | /v1/uploads/{id}/complete | Finish the upload and turn it into an asset | Free |
Images, icons, face swaps, narration and audio cleanup.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| POST | /v1/image-generator | Generate an image from a prompt | 1 image credit |
| POST | /v1/icon-generator | Generate a channel or brand icon | 1 image credit |
| POST | /v1/icon-generator/bulk | Generate up to 12 icons in one call | 1 image credit per concept |
| POST | /v1/face-swap | Swap a face onto a target image | 1 image credit |
| POST | /v1/voiceover-generator | Turn a script into narration with a chosen voice | 1 voiceover credit per second |
| POST | /v1/voice-changer | Re-voice an existing audio asset | 1 voiceover credit per second |
| POST | /v1/speech-enhancer | Clean up noisy or muffled speech | 1 voiceover credit per second |
Voices, languages, subtitle styles and background music.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| GET | /v1/voices | Browse voices by gender and accent | Free |
| GET | /v1/voices/languages | List the languages voices can speak | Free |
| GET | /v1/subtitle-styles | List caption styles you can attach to a project | Free |
| GET | /v1/music | Browse background music by genre | Free |
Word level speech to text over your own media.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| POST | /v1/transcripts | Transcribe an asset with per word timings | 1 voiceover credit per second, repeats cached free |
Compose scenes into a video, then render it.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| POST | /v1/projects | Build a project from scenes, narration, music and captions | Free unless captions need transcription |
| GET | /v1/projects | List your projects | Free |
| GET | /v1/projects/{id} | Fetch one project with its full spec | Free |
| PATCH | /v1/projects/{id} | Update a project you created through the API | Free in most cases |
| DELETE | /v1/projects/{id} | Delete a project | Free |
| POST | /v1/projects/{id}/export | Render the project, asynchronously | 1 export credit per second of finished video |
Track renders and collect the finished file.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| GET | /v1/exports | List renders for an account or project | Free |
| GET | /v1/exports/{id} | Check render status and grab the output asset | Free |
Turn a long video into vertical shorts automatically.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| POST | /v1/autoclip | Queue 2 to 20 clips from a long source video | 1 video credit per requested clip |
| GET | /v1/autoclip | List your AutoClip jobs | Free |
| GET | /v1/autoclip/{id} | Check a job and read back its finished clips | Free |
Get told when long running work finishes.
| Method | Path | Purpose | Credits |
|---|---|---|---|
| POST | /v1/webhooks | Register an endpoint and receive its signing secret | Free |
| GET | /v1/webhooks | List your webhook endpoints | Free |
| DELETE | /v1/webhooks/{id} | Remove an endpoint | Free |
| POST | /v1/webhooks/{id}/test | Fire a test delivery at an endpoint | Free |
No separate API plan and no separate bill. Keys work on any Crayo account and run at full capability on any paid plan. See pricing for what each plan includes.
Upload a long-form video and let AI find the best moments, then cut them into ready-to-post clips.
FeatureUse any of our 100+ high-quality AI voices to create engaging voiceovers for your videos.
Use caseDrop in an episode, or just a YouTube link, and let AI find the moments worth posting. Captions, vertical crop, and clean audio included.
FeatureEffortlessly create AI images in seconds, use our prompt enhancer to get the best results.
FeatureUpload an audio file recorded in poor conditions and let our AI enhance it to sound professional.
FeatureUpload any image or video and remove the background in seconds with AI.
FAQs
Frequently asked questionsFrequent questionsContact our 24/7 support team for any concerns or inquiries.