API Documentation
Complete API reference, authentication, and security guide for integrating RIXL's media optimization platform
The RIXL API puts professional content delivery at your fingertips. Whether you're building a social platform, e-commerce site, or mobile app, our RESTful API makes it easy to upload, process, and deliver media at scale.
Quick Actions
Get API Keys
Generate secure project keys for API access.
Create Project
Set up a new project for organizing your media.
Interactive API Reference
Complete API documentation with live testing interface.
Ready to integrate?
First, grab your API keys and set up a project. Then you're just a few lines of code away from optimized media delivery.
API Fundamentals
Base URL
Authentication
X-API-Key header with project key
Format
JSON requests and responses
Rate Limits
1000 requests/minute per key
Authentication Every request needs your project API key in the header:
X-API-Key: YOUR_PROJECT_API_KEY_HEREWhat You Can Build
Smart Media Uploads
Drop any video or image into RIXL and get back multiple formats, perfect for any device or connection.
Dynamic Content Feeds
Create social-style feeds that automatically update as you add content. Perfect for user-generated content platforms.
Real-time Processing
Track upload progress, monitor transcoding status, and get notified when your media is ready for delivery.
Global Media Delivery
Access your optimized assets through our global CDN with automatic edge caching and real-time transformations.
Web Applications
Direct media uploads, real-time processing status, and CDN delivery integration for seamless user experiences.
Mobile Apps
Secure backend integration for user-generated content and automatic media optimization on any device.
Getting Started
- Authentication - Generate an API key from your project settings
- Upload Media - Use the upload endpoints to add videos and images
- Monitor Processing - Track processing status for uploaded content
- Retrieve Assets - Access processed media through CDN URLs
- Create Feeds - Organize content into structured feeds for delivery
Quick Start Examples
# Initialize a video upload
curl -X POST https://api.rixl.com/videos/upload/init \
-H "X-API-Key: YOUR_PROJECT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_name": "my-video.mp4",
"video_quality": "shorts",
"image_format": "jpg"
}'
# Get all videos in your project
curl -X GET https://api.rixl.com/videos \
-H "X-API-Key: YOUR_PROJECT_API_KEY" \
-G \
-d "limit=25" \
-d "offset=0"// Initialize a video upload
const initResponse = await fetch('https://api.rixl.com/videos/upload/init', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_PROJECT_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
file_name: 'my-video.mp4',
video_quality: 'shorts',
image_format: 'jpg'
})
});
const uploadData = await initResponse.json();
console.log(uploadData);import requests
# Initialize a video upload
response = requests.post(
'https://api.rixl.com/videos/upload/init',
headers={
'X-API-Key': 'YOUR_PROJECT_API_KEY',
'Content-Type': 'application/json'
},
json={
'file_name': 'my-video.mp4',
'video_quality': 'shorts',
'image_format': 'jpg'
}
)
upload_data = response.json()
print(upload_data)Response Format
All API responses use JSON format with consistent structure:
{
"status": "success",
"data": { /* response data */ },
"message": "Operation completed successfully"
}Video Upload Init Response:
{
"video_id": "VI9VXQxWXQ",
"video_presigned_url": "https://videos.rixl.com/...",
"poster_id": "PS5IMKoFLm",
"poster_presigned_url": "https://images.rixl.com/...",
"upload_expires": 1640995200
}Paginated Response (List Videos):
{
"data": [
{
"id": "VI9VXQxWXQ",
"duration": 30.5,
"width": 1920,
"height": 1080,
"file": {
"id": "FpvLwyDMqu",
"name": "original.mp4",
"size": 1048576,
"url": "https://videos.rixl.com/Bq4y3QB38S/FpvLwyDMqu",
"status": "ready"
}
}
],
"pagination": {
"limit": 25,
"offset": 0,
"total": 100
}
}For complete API documentation with interactive testing, visit our Interactive API Reference.