Draft: these docs describe OctaVideo as it will be at launch; some features may not be live yet.
OctaVideoDocs

Embedding

Put your videos and the search widget on your site with a ready-made iframe or with OTPs from your own server.

The API & embeds page is where you choose how your site loads the library's videos. Open it from the library sidebar: Libraries → your library → API & embeds.

Allowed domains first

A bar at the top says which domains embeds play on. If it warns that any site can play your videos, select Set allowed domains and add your site before you embed anything. Manage in Security opens the full list. See Allowed domains.

Choose a method

The page offers three methods:

  • Quick Embed (iFrame, static HTML): one line of HTML, no server or key needed.
  • Custom Backend (PHP, Node.js, Python, cURL): your server requests an OTP for each viewer.
  • Search Widget (AI search, iFrame): a search box over the spoken words of your videos.

For videos, pick between the first two:

Quick EmbedCustom Backend
Server neededNo: paste the iframe into any page.Yes: your server calls the OctaVideo API.
OTPOne OTP shared by every visitor, valid 1 month.A fresh OTP for each viewer and each page view.
Security rulesLocked to one video and to your allowed domains.Every OTP rule applies: time window, session length, IP lock, single use.
Per-viewer counting and watermarkNo: visitors are anonymous.Yes: send each viewer's user_id.
Best forPublic previews, landing pages, testing.Paid courses and any content behind a sign-in.

Quick Embed

Choose a video. Type to search your Ready videos and pick one. Videos that are still encoding don't show here.

Where it can play. The iframe only plays on your allowed domains, so add at least one. Domains you add or remove here are saved to the library's list; removing one asks first.

Generate iframe. The dialog shows the code. Select Copy iframe and paste it where the video should appear on your page.

your-page.html
<iframe src="https://player.octavideo.tech/embed/LIBRARY_ID/VIDEO_ID?otp=OTP"
  style="border:0;width:100%;aspect-ratio:16/9"
  allow="encrypted-media; fullscreen" allowfullscreen></iframe>

The player takes the width of its container and stays 16:9, so your page decides the size.

You can also get the code from a video's details page: select Get embed code, then Get iframe for this video.

Your embeds

Every code you generate is listed under Your embeds with its expiry date:

  • Show code: shows the iframe again to copy.
  • Extend 1 month: keeps the code valid for another month. The code itself doesn't change, so you don't need to touch your page.
  • Revoke…: stops the code from playing, after a confirmation.

A Quick Embed code stops playing when it expires. The User board flags libraries whose embeds expire soon or have expired; extend them before that happens.

Custom Backend

With Custom Backend, your server requests a one-time password (OTP) from the OctaVideo API each time a signed-in viewer opens a video page, and puts it in the iframe. This is the most secure way to embed.

Private key

The Private key card shows the library's key, masked. Your server sends it with every API request.

  • Copy puts the key on your clipboard. If the browser blocks copying, the console says so; it never shows the key as text.
  • Regenerate key… creates a new key after a warning. The old key stops working, so copy the new one and update your server right away.

Keep the key on your server

The private key can request OTPs for every video in the library. Store it in your server's environment, never in a web page, an app or a code repository.

Request the OTP

Your server calls POST /playback/otp with the video's ID and the viewer's user_id, then writes the returned embed_url (or the OTP) into the page:

lesson-page.html
<iframe src="EMBED_URL_FROM_YOUR_SERVER"
  style="border:0;width:100%;aspect-ratio:16/9"
  allow="encrypted-media; fullscreen" allowfullscreen></iframe>

Secure playback walks through the request in cURL, Node.js, PHP and Python.

User-based watermark

The User-based watermark switch and its text on this page are the same setting as in Security → Content protection. See User-based watermark.

Search Widget

  1. Set up the widget first on the Search widget page. See Search widget.
  2. Under Search Widget, choose the widget with Choose a widget.
  3. Select Generate widget iframe, copy the code and paste it where the search should appear on your page.

Widget codes are listed under Your widget embeds, with the same Show code, Extend 1 month and Revoke… actions as video embeds.

Using your own backend? Copy the Widget ID from the Search widget page. Your server requests an OTP for the widget the same way it does for a video, and puts it in the widget's iframe. See Secure playback.

What's next

On this page