API & Ingest

Three API calls from upload to embedded player. OpenAPI 3.0, OAuth 2.0, webhooks, and S3-compatible upload — everything you need to build on Streamdiver.

OpenAPI 3.0

Interactive documentation and client generation for any language. Explore, test, and integrate directly from the spec.

S3-compatible upload

Presigned multipart uploads with resume capability. Upload files of any size directly from your application.

Event-driven webhooks

Real-time notifications for upload, transcoding, AI processing, and status changes. Build reactive workflows without polling.

Integration workflow

1
Authenticate

Obtain an OAuth 2.0 token with your client credentials

2
Upload

Request a presigned URL and upload your media file via S3-compatible PUT

3
Process

Streamdiver transcodes, transcribes, and extracts metadata automatically

4
Embed or retrieve

Embed the player widget or query AI results via the REST API

Built for developers

OpenAPI 3.0 specification with interactive documentation
OAuth 2.0 with server and client credentials
S3-compatible multipart upload with resume
Webhooks for all processing lifecycle events
JSON responses for all AI results and metadata
Rate limiting with transparent headers
Pagination and filtering on all list endpoints
Cookie-free embeddable widgets via Web Component
Semantic search and RAG across all media
AI Flows API with SSE streaming
From zero to production

Upload, process, and embed in minutes

Three API calls are all it takes: upload a video, wait for the webhook, and embed the result. Here is the complete flow.

# 1. Start upload
curl -X POST https://api.streamdiver.com/v2/uploads \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "video.mp4", "type": "put"}'

# 2. Upload file to presigned URL (S3-compatible)
curl -X PUT "$PRESIGNED_URL" -T video.mp4

# 3. Complete upload and assign to channel
curl -X PUT "https://api.streamdiver.com/v2/uploads/$UPLOAD_ID/complete?channelId=$CHANNEL_ID" \
  -H "Authorization: Bearer $TOKEN"

# 4. Query asset status
curl https://api.streamdiver.com/v2/media/$ASSET_ID \
  -H "Authorization: Bearer $TOKEN"

Integration flow

1
Get tokenOAuth 2.0
2
Upload videoS3 presigned URL
3
Receive webhookProcessing complete
4
Embed or queryWidget SDK or REST API
Used by
reteachLMS platform with headless video integration for automatic subtitles and searchable training content

Ready to get started?

Contact us for a personal demo and discover how Streamdiver can transform your workflow.