Skip to main content

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.

When to Use This

Use this flow for local video files larger than 32 MB. Direct multipart upload is supported for smaller files, but larger local files should use the signed upload flow. Your plan’s file-size limits still apply.

Workflow

1

Request a Signed Upload URL

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"
    }
  }'
Response:
{
  "media_id": "550e8400-e29b-41d4-a716-446655440000",
  "upload_url": "https://storage.googleapis.com/bucket/path/to/video.mp4?X-Goog-Signature=...",
  "gcs_path": "users/user_123/videos/video.mp4",
  "status": "pending_upload",
  "content_type": "video/mp4"
}
2

Upload the File Bytes

Use the returned upload_url to PUT the file directly to storage.
curl -X PUT "UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --upload-file ./video.mp4
3

Notify the API

curl -X POST https://api.viddyscribe.com/enterprise/api/notify_upload_complete \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "media_id": "550e8400-e29b-41d4-a716-446655440000",
    "gcs_path": "users/user_123/videos/video.mp4"
  }'
4

Poll Upload Status

curl "https://api.viddyscribe.com/enterprise/api/get_upload_status?media_id=550e8400-e29b-41d4-a716-446655440000&gcs_path=users/user_123/videos/video.mp4" \
  -H "X-API-Key: YOUR_API_KEY"
Wait until upload_status is completed.If canonical_media_id differs from the original media_id, use canonical_media_id for generation.
5

Generate Text, Audio, or Video with media_id

After upload verification completes, call a text, audio, or video generation endpoint with input.type: "media_id".
curl -X POST https://api.viddyscribe.com/enterprise/api/generate_ad_text \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "type": "media_id",
      "media_id": "550e8400-e29b-41d4-a716-446655440000"
    },
    "generation_config": {
      "language": "en-US",
      "format": "json"
    }
  }'