Skip to main content

Get Your API Key

1

Request Access

Contact us to get your API key. You’ll receive a key in the format sk_xxxxxxxxxxxxxxxx.
2

Test Your Key

Verify your API key works by checking your usage:
curl -X GET "https://tornado.velys.software/usage" \
  -H "x-api-key: sk_your_api_key"
3

Download Your First Video

Create a download job:
curl -X POST "https://tornado.velys.software/jobs" \
  -H "x-api-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'

Basic Example

# Create a job
curl -X POST "https://tornado.velys.software/jobs" \
  -H "x-api-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "format": "mp4"
  }'

# Response
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000"
}

Poll for Completion

Jobs are processed asynchronously. Poll the status endpoint until completion:
curl -X GET "https://tornado.velys.software/jobs/550e8400-e29b-41d4-a716-446655440000"

Job Status Values

StatusDescription
PendingJob is queued, waiting to be processed
ProcessingJob is being downloaded/processed
CompletedJob finished successfully, s3_url is available
FailedJob failed, check error field for details

Response Example

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "status": "Completed",
  "s3_url": "https://cdn.example.com/videos/video.mp4?signature=...",
  "subtitle_url": null,
  "error": null,
  "step": "Finished"
}
The s3_url is a presigned URL valid for 24 hours. Download the file before it expires.

Next Steps