Get Video Status
/api/v1/media/videos/{video_id}/statusGet the processing status of an imported video. When processing is complete (status=ready), this endpoint returns direct .mp4 file URLs for automation workflows.
Path Parameters
video_idstringrequiredPeerTube video ID (returned from the import endpoint)
Response
successbooleanWhether the request succeeded
video_idstringPeerTube video ID
uuidstringPeerTube video UUID
statusstringVideo processing status:
importing- Video is being downloaded from sourcetranscoding- Video is being transcodedready- Video is ready for playbackerror- Processing failed
embed_urlstringURL for embedding the video in an iframe
player_urlstringDirect player URL
watch_urlstringURL to watch the video on PeerTube
file_urlstringDirect .mp4 file URL (only available when status=ready). Use this for automation workflows (N8N, Xano, etc.)
download_urlstringDownload URL for the video file (only available when status=ready)
durationintegerVideo duration in seconds
viewsintegerView count
Example
- cURL
- Python
- JavaScript
curl "https://spideriq.ai/api/v1/media/videos/123/status" \
-H "Authorization: Bearer cli_abc123:sk_xxx:secret_xxx"
import requests
url = "https://spideriq.ai/api/v1/media/videos/123/status"
headers = {"Authorization": "Bearer cli_abc123:sk_xxx:secret_xxx"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch(
"https://spideriq.ai/api/v1/media/videos/123/status",
{
headers: {
"Authorization": "Bearer cli_abc123:sk_xxx:secret_xxx"
}
}
);
const data = await response.json();
console.log(data);
Response Example
{
"success": true,
"video_id": "123",
"uuid": "15aeeed0-4772-413f-a24b-be40d56326e6",
"status": "transcoding",
"embed_url": "https://videos.spideriq.ai/videos/embed/15aeeed0-4772-413f-a24b-be40d56326e6",
"player_url": "https://videos.spideriq.ai/w/p/15aeeed0-4772-413f-a24b-be40d56326e6",
"watch_url": "https://videos.spideriq.ai/w/15aeeed0-4772-413f-a24b-be40d56326e6",
"file_url": null,
"download_url": null,
"duration": null,
"views": 0
}
{
"success": true,
"video_id": "123",
"uuid": "15aeeed0-4772-413f-a24b-be40d56326e6",
"status": "ready",
"embed_url": "https://videos.spideriq.ai/videos/embed/15aeeed0-4772-413f-a24b-be40d56326e6",
"player_url": "https://videos.spideriq.ai/w/p/15aeeed0-4772-413f-a24b-be40d56326e6",
"watch_url": "https://videos.spideriq.ai/w/15aeeed0-4772-413f-a24b-be40d56326e6",
"file_url": "https://videos.spideriq.ai/static/web-videos/15aeeed0-4772-413f-a24b-be40d56326e6-720.mp4",
"download_url": "https://videos.spideriq.ai/download/web-videos/15aeeed0-4772-413f-a24b-be40d56326e6-720.mp4",
"duration": 180,
"views": 42
}
Automation Tip: Poll this endpoint periodically after importing a video. When status becomes ready, use the file_url to download or process the video file directly in your automation workflows.
Video processing time varies based on source video size and quality. Short videos typically complete within 1-2 minutes, while longer videos may take 5-10 minutes.