curl --request POST \
--url https://api.viddyscribe.com/enterprise/api/upload_media \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"input": {
"type": "url",
"url": "<string>",
"filename": "<string>"
}
}
'{
"media_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "created",
"duration_seconds": 45.5,
"frame_rate": 30
}Upload a video file directly, ingest from a URL, or request a signed upload URL for larger local files. Returns a media_id that can be used for video generation.
curl --request POST \
--url https://api.viddyscribe.com/enterprise/api/upload_media \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"input": {
"type": "url",
"url": "<string>",
"filename": "<string>"
}
}
'{
"media_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "created",
"duration_seconds": 45.5,
"frame_rate": 30
}Documentation Index
Fetch the complete documentation index at: https://docs.viddyscribe.com/llms.txt
Use this file to discover all available pages before exploring further.
curl -X POST https://api.viddyscribe.com/enterprise/api/upload_media \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"type": "url",
"url": "https://example.com/video.mp4"
}
}'
curl -X POST https://api.viddyscribe.com/enterprise/api/upload_media \
-H "X-API-Key: YOUR_API_KEY" \
-F 'input={"type": "file"}' \
-F "file=@/path/to/video.mp4"
curl -X POST https://api.viddyscribe.com/enterprise/api/upload_media \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"type": "signed_url",
"filename": "video.mp4",
"content_type": "video/mp4"
}
}'
upload_url, call notify_upload_complete, and poll get_upload_status until the upload is ready before generating with media_id. See Large Local File Upload for the full workflow.
| Error | HTTP Status | Description |
|---|---|---|
no_video_stream | 415 | The uploaded file is not a valid video stream for processing. This usually means the file contains audio only. |
video_too_long | 403 | The uploaded video exceeds the maximum duration allowed by the current plan. |
file_too_large | 403 | The uploaded file exceeds the maximum file size allowed by the current plan. |
{
"error": "no_video_stream",
"message": "The uploaded file contains audio only. Please upload a video file with at least one video stream."
}
API key for authentication. Obtain from your team admin.
Example: X-API-Key: vsk_abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
Show child attributes
Media uploaded successfully
Unique identifier for the uploaded media
Upload status
created, existing, pending_upload Video duration in seconds
Video frame rate (fps)
Signed PUT URL returned for signed_url uploads
Storage path associated with the uploaded media
Content-Type associated with a signed upload