What You’ll Need
Before you begin, ensure you have:- A BMDRM account (Log in or sign up for a free trial).
- Have your API key prepared. To learn how to obtain your Upload API key, see Obtaining your API key.
Understanding the Upload Process
Uploading a video through the HTTP API involves two main steps:- Initialize an upload job (video metadata, number of chunks, and title).
- Send chunked video segments using POST requests
Initializing an Upload job
Before uploading any video content, you must first initialize an upload job in BMDRM. This step is often overlooked, so please ensure it’s completed before proceeding with the upload.This step tells BMDRM that you’re about to upload a new video and gives it a title, how many chunks to expect, and optional metadata. It doesn’t upload the video yet, just sets up the “slot” for it.You can find full details about the available parameters in the Upload API Reference (still not documented)
How to Initialize an upload job:
Make an authenticated POST request to the following endpoint:API-KEY: Your Upload API keyAccept: application/jsonContent-Type: application/json
title: The name of your video. This will appear in the dashboard UI .description(optional): The description of the video. This will appear in the dashboard UI.fileSize: The size of the video file in Bytes.totalChunks: The total number of chunks of the video file.collectionId(optional): The ID of a collection in your library where this video should be placed.
- A unique uploadJobId (guid)
uploadJobId from this response in the next step.
Uploading chunked video segments
Once the video object is created, you can proceed to upload the actual video file. Full API reference: Upload API Reference (still not documented). Upload Endpoint:- uploadJobId: The unique ID returned when you intialized an upload object.
- chunkNumber: The sequential number of uploaded chunk
- hash: The MD5 hash of the uploaded chunk
A 401 Unauthorized on initialize or upload usually means the
API Key header is missing or contains an expired key.For files smaller than 1 GB, you can upload the video in a single request by setting
totalChunks to 1 in the initialization request.- When uploading your video file, it must be sent as raw binary data, not encoded or wrapped in JSON.
- Don’t send base64 encode the file.
- Send the video as binary in the multi-part form of the request.

