Create a key
Create one in Console → API Keys and save the secret shown once.
Cloud API
Use the hosted REST contract from Web services, CLI tools, and agents. Upload, storage, and cloud execution stay explicit.
{
"request_id": "req_01k2cerul7c41ad",
"usage": {
"billable": true,
"quantity": 1,
"unit": "request"
},
"warnings": [],
"data": [
{
"id": "ev_7c41ad",
"video_id": "asset_2a91fc",
"start_seconds": 768,
"end_seconds": 794,
"score": 0.82,
"type": "speech",
"text": "Scaling laws still hold if you look at loss, not benchmarks.",
"related": [
{
"type": "screen_text",
"start_seconds": 770,
"end_seconds": 780,
"text": "Loss vs. compute"
}
],
"context": {
"before": [
{
"type": "speech",
"start_seconds": 751.2,
"end_seconds": 767.9,
"text": "So what actually changed over the last year?"
}
],
"after": []
},
"thumbnail_url": "https://media.cerul.ai/v/asset_2a91fc/thumb.jpg?t=768&exp=1790334000&sig=3f9c",
"playback": {
"url": "https://media.cerul.ai/v/asset_2a91fc/web.mp4?exp=1790334000&sig=3f9c#t=768,794",
"format": "mp4",
"expires_at": "2026-09-25T10:00:00Z"
},
"console_url": "https://cerul.ai/console/videos/asset_2a91fc?t=768",
"video": {
"filename": "dwarkesh-dario-amodei.mp4",
"duration_seconds": 8640,
"summary": "A long-form interview on scaling, training data and AI safety.",
"summary_generated": true
}
}
]
}/videosUpload a video file
/videos/{video_id}Check whether it is searchable yet
/searchSearch by meaning; returns timestamped clips
/exportsExport a time range as an MP4 file
Upload, wait for processing, search clips, and export a time range. Track the state at each step.
Create one in Console → API Keys and save the secret shown once.
Request a direct upload and PUT the exact bytes with the returned headers.
Confirm the upload, then poll until the video is ready.
POST /search for clips, POST /exports to save a time range as MP4.
File upload is the current integration path. URL import is not included in this trial; annotation requires its own scope. Example output is not a performance or quality guarantee.