The Crayo API is a JSON REST API at https://api.crayo.ai that clips long videos into vertical shorts with AutoClip, transcribes media, composes and renders captioned projects, generates images and narration, and tracks views across social platforms. Authenticate with a bearer key from the Developers page of the Crayo app and every endpoint on this page is one request away.
Set CRAYO_API_KEY in your shell to a key from the Developers page, then run these four calls in order. Every request is a plain HTTPS call against https://api.crayo.ai.
curl "https://api.crayo.ai/v1/account" \
-H "Authorization: Bearer $CRAYO_API_KEY"curl -X POST "https://api.crayo.ai/v1/assets" \
-H "Authorization: Bearer $CRAYO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/media/hook-clip.mp4",
"name": "Hook clip"
}'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"
}'curl "https://api.crayo.ai/v1/autoclip/cm7x1m8880001abcd" \
-H "Authorization: Bearer $CRAYO_API_KEY"Long-running work (renders, AutoClip, speech enhancement, tracker refreshes) finishes in the background. Register a webhook with POST /v1/webhooks instead of polling on a timer.
68 endpoints in 12 groups. Each group page documents every endpoint with parameters, a curl request, the response body and the errors it can return.
Plan, credit balances, storage, and your key's limits.
Your media library, plus the two ways to get files into it.
Images, icons, face swaps, narration, and voice changes.
Voices, languages, subtitle styles, and background music.
Word-level speech-to-text on your own media.
Compose scenes into a video, then render it.
Track renders and collect the finished file.
Turn a long video into vertical shorts automatically.
Studio-clean speech from any recording, with separate speech, music and background levels.
Live lookups. You call, you schedule, you store. 1 credit per request.
/v1/view-tracker/raw/{platform}/profile/v1/view-tracker/raw/instagram/profile/posts/v1/view-tracker/raw/{platform}/profile/reels/v1/view-tracker/raw/{platform}/profile/videos/v1/view-tracker/raw/youtube/profile/shorts/v1/view-tracker/raw/{platform}/post/v1/view-tracker/raw/{platform}/post/comments/v1/view-tracker/raw/{platform}/post/status/v1/view-tracker/raw/youtube/videos/v1/view-tracker/raw/youtube/post/transcript/v1/view-tracker/raw/{platform}/account/about/v1/view-tracker/raw/{platform}/account/verify/v1/view-tracker/raw/{platform}/profile/followers/v1/view-tracker/raw/{platform}/profile/following/v1/view-tracker/raw/{platform}/historyWe refresh on your cadence, keep every reading, and push webhooks.
/v1/view-tracker/trackers/v1/view-tracker/trackers/batch/v1/view-tracker/trackers/v1/view-tracker/usage/v1/view-tracker/trackers/{id}/v1/view-tracker/trackers/{id}/v1/view-tracker/trackers/{id}/v1/view-tracker/trackers/{id}/refresh/v1/view-tracker/trackers/{id}/snapshots/v1/view-tracker/trackers/{id}/events/v1/view-tracker/trackers/{id}/posts/v1/view-tracker/trackers/{id}/posts/{post_id}/v1/view-tracker/trackers/{id}/posts/{post_id}/snapshots/v1/view-tracker/trackers/{id}/insightsGet told when long-running work finishes.