Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ringbee.dev/llms.txt

Use this file to discover all available pages before exploring further.

1. Get your API key

Sign up at the MediAPI Dashboard and create an API key.

2. Submit your first job

curl -X POST https://api.ringbee.dev/v1/jobs \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "https://sample-videos.com/video321/mp4/720/big_buck_bunny_720p_1mb.mp4",
    "operations": [
      { "type": "video_thumbnail", "params": { "time": "00:00:03" } }
    ]
  }'
Response:
{ "id": "job_abc123", "status": "pending" }

3. Check job status

curl https://api.ringbee.dev/v1/jobs/job_abc123 \
  -H "X-API-Key: YOUR_API_KEY"
When status is completed, the outputs array contains your results.

4. Download the result

curl https://api.ringbee.dev/v1/jobs/job_abc123/download \
  -H "X-API-Key: YOUR_API_KEY"
Returns a presigned download URL valid for 1 hour.

Chaining operations

Apply multiple operations in sequence:
{
  "input": "https://example.com/video.mp4",
  "operations": [
    { "type": "video_trim", "params": { "start": "00:00:05", "end": "00:00:15" } },
    { "type": "video_transcode", "params": { "format": "mp4", "codec": "h264", "resolution": "720p" } }
  ]
}

Using webhooks

Get notified when jobs complete instead of polling:
{
  "input": "https://example.com/video.mp4",
  "operations": [{ "type": "video_transcode", "params": { "format": "mp4" } }],
  "webhook_url": "https://yourapp.com/webhook"
}

Upload files directly

For local files, use the upload endpoint:
curl -X POST https://api.ringbee.dev/v1/jobs/upload \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@video.mp4" \
  -F 'operations=[{"type":"transcode","params":{"format":"webm"}}]'