FastPix Ruby SDK
The FastPix Ruby SDK is a type-safe Ruby client for the FastPix video API. From any Ruby application you can upload and manage on-demand video, create and manage live streams and simulcasts, create and secure playback IDs, manage playlists and signing keys, retrieve video analytics, and use in-video AI features.
Find more in the SDK reference
For all methods, runnable examples, and advanced usage, see the FastPix Ruby SDK on GitHub.
Before you begin
Make sure you have:
- Ruby 3.2 or later
- Bundler
- Internet access
- A FastPix account
- A FastPix Access Token and Secret Key, generated from the FastPix Dashboard. See Activate your account.
FastPix uses HTTP Basic Authentication. The SDK maps your credentials as follows:
Security: Never commit your Access Token or Secret Key to source control. Use environment variables or a secure credential-management system.
Follow the steps below in order, and do not skip the verification steps. If installation, dependency loading, authentication, client initialization, or the first API request fails, fix that problem before continuing.
Check your Ruby version
The output is similar to ruby 3.2.2 .... The SDK supports Ruby 3.2 and later. If your version is earlier than 3.2, install a supported version before continuing.
You can also run the check programmatically:
Note: macOS may include an older system Ruby. Installing a newer Ruby with Homebrew (
brew install ruby) does not automatically make it the defaultrubycommand. Add the Homebrew Ruby to yourPATHand confirm withwhich ruby.
Check your Bundler installation
The SDK uses Bundler to install and manage dependencies.
The expected output is similar to Bundler version 2.x.x. If Bundler is not installed, install it before continuing:
Create a Ruby project
Create a directory for your application and initialize a Bundler project:
bundle init creates a Gemfile in the project directory. You add the SDK to it in the next step.
Install the FastPix SDK
The FastPix Ruby SDK is distributed as the fastpixapi gem. Add it to your project with Bundler:
If you are not using Bundler, install the gem directly:
Verify the SDK installation
Confirm that the gem is installed:
The output lists fastpixapi and the installed version. Then confirm that Ruby can load the SDK:
The expected output is FastPix Ruby SDK loaded successfully. This confirms that Ruby can run the application, Bundler resolved the dependency, and the SDK can be loaded. If you installed with gem install instead of Bundler, drop bundle exec and run the command with ruby directly.
Configure authentication
FastPix uses HTTP Basic Authentication, where username is your Access Token and password is your Secret Key. For local development, set these as environment variables so they stay out of your source code:
Verify that your credentials are set
Check that both variables are set without printing their values:
You can also validate both variables with Ruby:
Both should report as set. If either is missing, set the corresponding environment variable before continuing.
Initialize the FastPix client
Create a file named main.rb:
Run it:
The expected output is FastPix client initialized. Initializing the client does not make an API request; a request happens only when you call an SDK operation such as client.input_video.create_media(...).
Make your first API request
The easiest way to verify the integration is to create media from a publicly accessible video URL. FastPix provides a sample video at https://static.fastpix.com/fp-sample-video.mp4.
Replace the contents of main.rb with:
Run it:
A successful request returns information about the newly created media asset, similar to:
The exact fields depend on the API response and the installed SDK version.
Capture the media ID
The create-media response contains the unique ID assigned to the media asset, at data.id:
Save this value for later operations:
A media_id is not the same as a playback_id. They identify different resources and are used for different operations.
Verify the integration
A successful create-media request confirms that Ruby is installed and supported, Bundler resolved the dependency, the SDK is installed and loadable, your credentials are configured, the client can authenticate, and FastPix returns a media ID.
Creating media is usually the first step in a FastPix on-demand workflow: you create the media, poll it until processing finishes, then create a playback ID to play it. The initial SDK integration is now complete.
Resources, error handling, and reference
The SDK is generated from the FastPix API specification, so the complete and always-current reference lives in the repo and the API docs:
- All resources, operations, error handling, and server selection: the FastPix Ruby SDK on GitHub, with runnable code in the examples directory.
- Media (upload, manage, playback, playlists, signing keys, DRM): Video on Demand API.
- Live (streams, simulcasts, live playback): Live Stream API.
- Video Data (metrics, views, dimensions, errors): Video Data API.
- In-video AI (summaries, chapters, named entities, moderation): In-Video AI.
Frequently asked questions
What is the difference between the FastPix Ruby SDK and the REST API?
The SDK is a type-safe Ruby wrapper around the same FastPix REST API. It handles authentication, request serialization, and response parsing for you, so you call methods like client.input_video.create_media(...) instead of building raw HTTP requests. Anything the SDK does, you can also do by calling the REST API directly. See Make your first API request.
How do I install the FastPix Ruby SDK?
It is distributed as the fastpixapi gem. Run bundle add fastpixapi in a Bundler project, or gem install fastpixapi if you are not using Bundler. See Install the FastPix SDK.
How do I authenticate the SDK?
FastPix uses HTTP Basic Authentication. Pass your Access Token as the username and your Secret Key as the password in Models::Components::Security when constructing the client. See Initialize the FastPix client.
How do I upload a video in Ruby?
Create media from a URL or a direct upload through the input-video resource on the client, for example client.input_video.create_media(...). See Make your first API request.
What is the maximum video file size I can upload with Ruby?
FastPix uploads are not limited by your Ruby process memory. When you pull from a URL, FastPix fetches the file directly, and when you upload from a device, the SDK gives you a signed URL that the file goes to directly, so the bytes never pass through your Ruby application. Large multi-gigabyte files upload without extra configuration. See the Video on Demand API.
How do I start a live stream?
Use the Live API resources to create and manage streams, simulcasts, and live playback IDs. See the SDK reference on GitHub and the Live Stream API.
How do I create a secure playback ID?
Generate playback IDs and manage signing keys and DRM configurations through the Media API resources. See the SDK reference on GitHub and the Video on Demand API.
How do I keep a video private or stop it from being downloaded?
Create the media with a private access policy, then generate a signed playback ID so only holders of a valid token can play it. For stronger protection, enable DRM on the playback ID. You revoke access by deleting the playback ID. Handle all of this through the Media API resources. See the Video on Demand API.
How do I get video analytics and metrics in Ruby?
The Video Data API exposes metrics, views, dimensions, and errors for quality-of-experience monitoring. See the Video Data API.
How do I handle API errors?
Rescue FastpixClient::Models::Errors::APIError, which exposes the message, status code, body, and raw response. See the SDK reference on GitHub for the error types each operation can throw.
How do I change the API base URL?
Pass a server_url when constructing the client. See the SDK reference on GitHub.
Which Ruby versions are supported?
Ruby 3.2 and later. See Before you begin.
What’s next
Want to go further? Browse runnable, end-to-end samples for the FastPix Ruby SDK in the examples folder of the GitHub repository.
Release notes
For a complete history of releases, improvements, and fixes, see the FastPix Ruby SDK CHANGELOG on GitHub.