Guides & Examples

Step-by-step tutorials, real-world examples, and practical implementation guides for building amazing media experiences with RIXL.

Welcome to the RIXL Guides — your comprehensive resource for building media-rich applications. Whether you're implementing video streaming, delivering images, or creating dynamic content feeds, these guides provide practical, step-by-step instructions to help you succeed.

Quick Actions

Implementation Guides

Frontend Integration

React Components

Video, Image, and Feed components with automatic preparation and global delivery.

JavaScript SDK

Vanilla JavaScript integration for any web application or framework.

Mobile Integration

Responsive components that work seamlessly across all devices and screen sizes.

Backend Integration

Upload Workflows

Programmatic media uploads with progress tracking and status monitoring.

Processing Automation

Automated media processing pipelines with quality tier selection.

Content Management

Organize and manage media libraries through API endpoints.

Real-World Use Cases

Video Applications

Video Streaming Platform

Build Netflix-style streaming with adaptive quality, HLS & DASH delivery, and global CDN.

Social Media App

User-generated content with automatic preparation and mobile-first delivery.

E-learning Platform

Educational content with progress tracking, quality controls, and accessibility features.

Image Applications

E-commerce Store

Product galleries with AVIF transformation, lazy loading, and responsive images.

Portfolio Website

High-quality image galleries with smart placeholders and instant loading.

Content Management

Editorial workflows with automatic preparation and multi-format delivery.

Content Feed Applications

Social Feed

Instagram-style feeds with automatic updates and infinite scroll.

News Platform

Dynamic content feeds with real-time updates and personalization.

Creator Platform

Multi-creator content feeds with subscription and monetization features.

Code Examples

React Components

import {Video, useProgressBar} from '@rixl/videosdk-react';
import {useRef} from 'react';

function VideoPlayer({videoId}) {
const videoRef = useRef(null);
const {progress, duration} = useProgressBar({video: videoRef.current});

return (
<div className="video-container">
<Video
ref={videoRef}
   id={videoId}
   className="w-full h-auto rounded-lg"
   progressBar={true}
   allowFullscreen={true}
   autoplay={false}
   muted={false}
/>
<div className="video-info">
<p>Progress: {Math.round(progress * 100)}%</p>
<p>Duration: {duration}s</p>
</div>
</div>
);
}
import {Feed} from '@rixl/videosdk-react';

function ContentFeed({feedId, creatorId}) {
return (
<div className="max-w-2xl mx-auto">
<Feed
feedId={feedId}
   creatorId={creatorId}
   className="w-full space-y-6"
   showHeader={true}
   enableInfiniteScroll={true}
   itemsPerPage={10}
/>
</div>
);
}

API Integration Examples

// Initialize video upload
const uploadVideo = async (file) => {
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: file.name,
video_quality: 'pro',
image_format: 'jpg'
})
});

const {video_id, video_presigned_url} = await initResponse.json();

// Upload file to presigned URL
await fetch(video_presigned_url, {
method: 'PUT',
body: file
});

return video_id;
};
// Upload and process image
const uploadImage = async (imageFile) => {
// Initialize upload
const initResponse = await fetch('https://api.rixl.com/images/upload/init', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_PROJECT_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: imageFile.name,
format: 'jpg'
})
});

const {image_id, presigned_url} = await initResponse.json();

// Upload file to presigned URL
await fetch(presigned_url, {
method: 'PUT',
body: imageFile
});

// Complete upload
const completeResponse = await fetch('https://api.rixl.com/images/upload/complete', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_PROJECT_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
image_id: image_id
})
});

const result = await completeResponse.json();
return result.data;
};
// Get feed content
const getFeedContent = async (feedId, creatorId = null) => {
const params = new URLSearchParams();
if (creatorId) params.append('creator_id', creatorId);

const response = await fetch(`https://api.rixl.com/feeds/${feedId}?${params}`, {
headers: {
'X-API-Key': 'YOUR_PROJECT_API_KEY'
}
});

const result = await response.json();
return result.data;
};

Implementation Patterns

Progressive Enhancement

Start Simple

Begin with basic Video and Image components, then add advanced features as needed.

Add Interactivity

Implement progress tracking, quality controls, and user preferences.

Scale Globally

Leverage CDN delivery and adaptive streaming for worldwide performance.

Performance Enhancement

Lazy Loading

Load media only when needed to improve initial page performance.

Smart Caching

Utilize browser caching and CDN edge locations for instant delivery.

Adaptive Quality

Automatically adjust quality based on user connection and device capabilities.

Next Steps

Ready to start building? Choose your path:

Need inspiration?

Explore our Best Practices for performance tips, check out the Platform Documentation for comprehensive features, or dive into the API Reference for detailed technical documentation.