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 Embed | Custom Backend | |
|---|---|---|
| Server needed | No: paste the iframe into any page. | Yes: your server calls the OctaVideo API. |
| OTP | One OTP shared by every visitor, valid 1 month. | A fresh OTP for each viewer and each page view. |
| Security rules | Locked to one video and to your allowed domains. | Every OTP rule applies: time window, session length, IP lock, single use. |
| Per-viewer counting and watermark | No: visitors are anonymous. | Yes: send each viewer's user_id. |
| Best for | Public 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.
<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:
<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
- Set up the widget first on the Search widget page. See Search widget.
- Under Search Widget, choose the widget with Choose a widget.
- 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.