DEVELOPER KNOWLEDGE HUB & API

Technical Documentation

Everything you need to stream video globally, ingest RTMP live feeds, protect content with MediaCage DRM, upload via TUS 1.0.0, and manage storage with AWS S3.

Start Free Trial Community Forum โ†’

Platform Architecture & Authentication

v1 REST API

Veluraq is an ultra-fast global video delivery network and distributed object storage platform. All REST API requests must include your library's AccessKey header. Read-only keys can query GET endpoints only.

Header NameDescriptionRequired For
AccessKeyYour Video Library or Storage Zone API Access KeyAll REST API Endpoints
Tus-ResumableMust be set to 1.0.0 for TUS chunk uploadsResumable video uploads
X-Veluraq-SignatureCryptographic HMAC-SHA256 signatureWebhook verification

System Topology

[ Broadcaster / OBS Studio ] โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€(RTMP :1935)โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ [ Veluraq Live Ingest Engine ] โ”‚ [ Client / TUS Uploader ] โ”€โ”€โ”€(TUS 1.0.0 Chunks)โ”€โ”€โ–บ [ Transcoding Cluster ] โ–ผ [ Viewer Web / Mobile ] โ—„โ”€โ”€(Low Latency HLS/DASH)โ”€- [ Global Anycast CDN (119+ PoPs) ] โ–ฒ [ AWS CLI / S3 Client ] โ”€โ”€โ”€(REST API /s3/:zone)โ”€โ”€โ–บ [ S3 Multi-Region Storage ]

VOD & TUS 1.0.0 Resumable Uploads

Resumable Protocol

Veluraq supports the open TUS 1.0.0 resumable upload protocol. If your network connection drops during a 10 GB upload, your client automatically resumes exactly from the last saved byte offset without starting over.

Step 1: Initialize the Video Record

curl -X POST "http://www.veluraq.zakerha.com/api/v1/library/LIBRARY_ID/videos" \ -H "AccessKey: YOUR_LIBRARY_ACCESS_KEY" \ -H "Content-Type: application/json" \ -d '{"title": "Global Launch Keynote", "collectionId": ""}'

Step 2: Stream via TUS 1.0.0 Resumable Protocol

curl -X PATCH "http://www.veluraq.zakerha.com/api/v1/library/LIBRARY_ID/videos/VIDEO_GUID/tus" \ -H "AccessKey: YOUR_LIBRARY_ACCESS_KEY" \ -H "Tus-Resumable: 1.0.0" \ -H "Upload-Offset: 0" \ -H "Upload-Length: 104857600" \ -H "Content-Type: application/offset+octet-stream" \ --data-binary @keynote.mp4

Step 3: Direct PUT Binary Stream (Quick Uploads)

curl -X PUT "http://www.veluraq.zakerha.com/api/v1/library/LIBRARY_ID/videos/VIDEO_GUID" \ -H "AccessKey: YOUR_LIBRARY_ACCESS_KEY" \ -H "Content-Type: video/mp4" \ --data-binary @video.mp4

Veluraq Live Studio (RTMP Ingest & OBS Studio)

Low-Latency RTMP

Broadcast live events worldwide with sub-second glass-to-glass latency using OBS Studio, vMix, Wirecast, or Streamlabs. Streams are transcoded on-the-fly into adaptive HLS and DASH renditions.

Ingest Credentials

Server: rtmp://www.veluraq.zakerha.com:1935/live

Port: 1935

Stream Key: Found on Library > Live Studio card

Recommended OBS Settings

Rate Control: CBR (4500 - 6000 Kbps)

Keyframe Interval: 2s (Required for HLS chunk sync)

Tune: zerolatency

Live Playback URL

<!-- Low-latency live HLS playback --> <video controls autoplay muted playsinline> <source src="http://www.veluraq.zakerha.com/live/STREAM_KEY/index.m3u8" type="application/x-mpegURL"> </video>

Video Player & Player.js SDK

Cross-Platform Standard

The embedded video player fully implements the Player.js specification, allowing bidirectional control (play, pause, seek, volume, events) from any parent web application.

Responsive Iframe Embed Code

<div style="position:relative;padding-top:56.25%"> <iframe src="http://www.veluraq.zakerha.com/embed/LIBRARY_ID/VIDEO_ID?autoplay=false&color=ff8a00" loading="lazy" style="border:none;position:absolute;top:0;left:0;height:100%;width:100%;" allow="accelerometer;gyroscope;autoplay;encrypted-media;picture-in-picture;" allowfullscreen="true"> </iframe> </div>

Player.js JavaScript Control

<script src="https://cdn.jsdelivr.net/npm/playerjs@0.0.12/dist/player.min.js"></script> <script> const iframe = document.querySelector('iframe'); const player = new playerjs.Player(iframe); player.on('ready', () => { console.log('Player is ready for playback'); player.play(); }); player.on('timeupdate', (data) => { console.log('Position:', data.seconds, 'Duration:', data.duration); }); </script>

MediaCage Kernel DRM & Content Security

Military Grade Protection

MediaCage combines kernel-level screen capture detection sensors, WebGL GPU composition, dynamic steganographic IP watermarking, and cryptographically signed URLs to defeat unauthorized recording and stream ripping.

Generating Signed URL Tokens (Node.js)

const crypto = require('crypto'); function generateSignedUrl(libraryId, videoId, securityKey, expiresInSeconds = 3600, userIp = '') { const expires = Math.floor(Date.now() / 1000) + expiresInSeconds; const hashData = securityKey + videoId + expires + (userIp || ''); const token = crypto.createHash('sha256').update(hashData).digest('hex'); return `http://www.veluraq.zakerha.com/embed/${libraryId}/${videoId}?token=${token}&expires=${expires}`; }

Edge Storage & AWS S3 Compatible Gateway

AWS S3 Compatible

Connect using the official AWS CLI, Cyberduck, rclone, or AWS SDKs. Files are replicated across 5 continents with zero egress fees when delivered through the CDN.

AWS CLI Configuration (~/.aws/credentials)

[veluraq] aws_access_key_id = YOUR_STORAGE_ZONE_NAME aws_secret_access_key = YOUR_STORAGE_ZONE_ACCESS_KEY

CLI Upload & Sync

# List files in Storage Zone aws --endpoint-url=http://www.veluraq.zakerha.com/s3 s3 ls s3://my-zone/ # Upload a file aws --endpoint-url=http://www.veluraq.zakerha.com/s3 s3 cp ./data.zip s3://my-zone/ # Sync an entire directory aws --endpoint-url=http://www.veluraq.zakerha.com/s3 s3 sync ./assets/ s3://my-zone/assets/

CDN Pull Zones & Edge Rules Engine

Anycast Edge Network

Accelerate static websites, media downloads, and APIs through our Anycast edge proxy. SafeHop multi-origin failover guarantees 99.999% uptime by automatically switching to backup servers if your origin fails.

Instant Edge Cache Purge API

curl -X POST "http://www.veluraq.zakerha.com/api/cdn/zones/PULL_ZONE_ID/purge" \ -H "AccessKey: YOUR_ACCOUNT_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["/index.html", "/app.js"]}'

AI Speech Intelligence & Whisper Subtitles

OpenAI Whisper Engine

Automatically transcribe video speech with word-level timestamps using OpenAI Whisper, generate subtitles in 20+ languages, and extract smart AI chapters and key moments.

Queue Speech-to-Text Transcription

curl -X POST "http://www.veluraq.zakerha.com/api/v1/library/LIBRARY_ID/videos/VIDEO_GUID/transcribe" \ -H "AccessKey: YOUR_LIBRARY_ACCESS_KEY" \ -H "Content-Type: application/json" \ -d '{"language": "en"}'

Automated Translation

curl -X POST "http://www.veluraq.zakerha.com/api/v1/library/LIBRARY_ID/videos/VIDEO_GUID/captions/en/translate" \ -H "AccessKey: YOUR_LIBRARY_ACCESS_KEY" \ -H "Content-Type: application/json" \ -d '{"targetLang": "es", "label": "Spanish"}'

Developer SDKs & Code Samples

Plug-and-play integrations for Node.js, Python, and React.

Node.js Upload Script

const fs = require('fs'); const axios = require('axios'); async function uploadVideo(filePath, title) { const { data: video } = await axios.post('http://www.veluraq.zakerha.com/api/v1/library/1/videos', { title }, { headers: { AccessKey: 'YOUR_ACCESS_KEY' } }); const fileStream = fs.createReadStream(filePath); await axios.put(`http://www.veluraq.zakerha.com/api/v1/library/1/videos/${video.guid}`, fileStream, { headers: { AccessKey: 'YOUR_ACCESS_KEY', 'Content-Type': 'video/mp4' } }); console.log('Video uploaded with GUID:', video.guid); return video; }

Python Upload Script

import requests def upload_video(file_path, title): headers = {'AccessKey': 'YOUR_ACCESS_KEY'} video = requests.post('http://www.veluraq.zakerha.com/api/v1/library/1/videos', json={'title': title}, headers=headers).json() guid = video['guid'] with open(file_path, 'rb') as f: requests.put(f'http://www.veluraq.zakerha.com/api/v1/library/1/videos/{guid}', data=f, headers=headers) print(f'Uploaded video GUID: {guid}') return video

Webhooks & HMAC Signature Verification

Cryptographically Signed

Receive automated notifications as videos progress through encoding states. Every webhook is signed with an X-Veluraq-Signature header.

Node.js / Express Webhook Receiver

const crypto = require('crypto'); const express = require('express'); const app = express(); app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => { const signature = req.headers['x-veluraq-signature']; const secretKey = 'YOUR_WEBHOOK_SECRET'; const hmac = crypto.createHmac('sha256', secretKey); const expected = 'sha256=' + hmac.update(req.body).digest('hex'); if (!crypto.timingSafeEqual(Buffer.from(signature || ''), Buffer.from(expected))) { return res.status(403).send('Invalid webhook signature'); } const event = JSON.parse(req.body); console.log('Video event:', event.VideoGuid, 'Status:', event.Status); // Status: 0 Queued, 1 Processing, 2 Encoding, 3 Finished, 5 Failed res.sendStatus(200); });

Commercial Billing & 25% Affiliate Program

Simple pay-as-you-go billing with Stripe, PayPal, pre-paid vouchers, and enterprise WhatsApp sales concierge.

Global Rates

Edge Storage: $0.010 / GB / month

CDN Bandwidth: $0.005 / GB transferred

Whisper Transcription: $0.002 / minute

Live RTMP Ingest: Free

WhatsApp Sales Concierge

Direct support, custom wire invoices & enterprise top-ups:

+201279029644

Start streaming with Veluraq today

14-day free trial. No credit card required.

Get Started