api.video
A powerful Strapi plugin to easily manage your (api)videos and integrate them in your project.
Strapi v5 – api.video plugin
A powerful Strapi plugin to easily manage your videos and integrate them in your project.
Core Contributor: Strawbinary
Follow @strawbinary
About this Plugin: This plugin is a fork of Strapi v4 - api.video uploader, originally developed by the api.video team under the MIT license.
This version updates the plugin for Strapi 5 and introduces several improvements.
✨ Features
- Upload videos directly from your Strapi admin via file picker to api.video
- Manage assets with a responsive grid and built-in pagination
- Search your library by title or tags
- Preview with the embedded api.video player (api.video-player-react)
- Delete assets (removes on both Strapi and api.video sides)
⏳ Installation
This plugin is published on npm. You can install it with your preferred package manager—npm, yarn, or pnpm.
# Using npm (recommended)
npm install @strawbinary-io/api-video-strapi-5-plugin@latest
# Or with yarn
yarn add @strawbinary-io/api-video-strapi-5-plugin@latest
# Or with pnpm
pnpm add @strawbinary-io/api-video-strapi-5-plugin@latestAfter installation, rebuild your Strapi admin:
npm run build
npm run developOnce Strapi is up, the API.VIDEO plugin will in the sidebar.
🖐 Requirements
- api.video
- An api.video account
- An API key from the api.video Dashboard
- Node.js
- Version: 18.x – 20.x
- Strapi
- Strapi v5 only (not compatible with v4 or earlier)
🔧 Configuration
Before using the plugin, you must supply your api.video API key in Strapi’s settings panel.
- In Strapi Admin, go to Settings → API.VIDEO Plugin.
- Enter your API key and click Save.
Content Security Policy
To allow thumbnails, embeds and the player to load correctly, update your config/middlewares.ts file with the following security entry:
export default [
'strapi::logger',
'strapi::errors',
{
name: 'strapi::security',
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
'connect-src': ["'self'", 'https:'],
'img-src': ["'self'", 'data:', 'blob:', 'embed.api.video', 'cdn.api.video/vod/'],
'script-src': ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
'frame-src': ["'self'", 'data:', 'blob:', 'embed.api.video'],
upgradeInsecureRequests: null,
},
},
},
},
'strapi::cors',
'strapi::poweredBy',
'strapi::query',
'strapi::body',
'strapi::session',
'strapi::favicon',
'strapi::public',
];👤 Permissions
Configure fine-grained permissions under Roles & Permissions → Plugins.
💾 Metadata
By default, uploads carry an uploadSource metadata field set to "Strapi". This cannot be changed.
🤝 Contributing
We welcome contributions, issues and feature requests!
- Report bugs or request features in the issue tracker
📚 References
Install now
npm install @strawbinary-io/api-video-strapi-5-plugin
Create your own plugin
Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.