{"id":18498023,"url":"https://github.com/apivideo/api.video-strapi-plugin","last_synced_at":"2025-04-09T00:30:52.646Z","repository":{"id":63901446,"uuid":"557301792","full_name":"apivideo/api.video-strapi-plugin","owner":"apivideo","description":"A Strapi plugin for managing uploads to api.video.","archived":false,"fork":false,"pushed_at":"2023-10-02T14:51:53.000Z","size":1634,"stargazers_count":23,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T19:44:40.923Z","etag":null,"topics":["strapi","strapi-cms","strapi-plugin","strapi4","strapicms","video","video-processing"],"latest_commit_sha":null,"homepage":"https://api.video","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apivideo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-25T12:49:33.000Z","updated_at":"2025-02-25T09:22:34.000Z","dependencies_parsed_at":"2023-09-28T12:17:58.633Z","dependency_job_id":null,"html_url":"https://github.com/apivideo/api.video-strapi-plugin","commit_stats":{"total_commits":16,"total_committers":4,"mean_commits":4.0,"dds":0.5625,"last_synced_commit":"8b8bd247c62ac35cfb082912b5c8c16f70b8bc30"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-strapi-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-strapi-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-strapi-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-strapi-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apivideo","download_url":"https://codeload.github.com/apivideo/api.video-strapi-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247949714,"owners_count":21023374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["strapi","strapi-cms","strapi-plugin","strapi4","strapicms","video","video-processing"],"created_at":"2024-11-06T13:37:10.963Z","updated_at":"2025-04-09T00:30:50.017Z","avatar_url":"https://github.com/apivideo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/assets/api-video-logo.png\" alt=\"Logo - api.video\" /\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eStrapi v4 - api.video uploader\u003c/h1\u003e\n  \u003cp\u003eA powerful Strapi plugin to easily manage your videos and integrate them in your project.\u003c/p\u003e\n     \u003ca href=\"https://twitter.com/intent/follow?screen_name=api_video\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/api_video?style=social\" alt=\"Twitter Badge\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://community.api.video\"\u003e\u003cimg src=\"https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.api.video\" alt=\"Pull Requests Badge\"/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv style=\"margin: 20px 0\" align=\"center\"\u003e\n  \u003cimg style=\"width: 100%; height: auto;\" src=\"public/assets/preview_dark.png\" alt=\"UI preview\" /\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\nThis plugin provides the ability to upload content via a file to upload to  \u003ca href=\"https://api.video\" target=\"_blank\" \u003eapi.video\u003c/a\u003e.\n\n\u003cbr /\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n### Table of Contents\n\n-   [✨ Features](#-features)\n-   [⏳ Installation](#-installation)\n    -   [Via Strapi Marketplace](#via-strapi-marketplace)\n    -   [Via command line](#via-command-line)\n-   [🖐 Requirements](#-requirements)\n-   [🔧 Configuration](#-configuration)\n-   [👤 Permissions](#-permissions)\n-   [💾 Metadata](#-metadata)\n-   [🤝 Contributing](#-contributing)\n-   [📚 References](#-references)\n\n## ✨ Features\n\n-   **Upload videos** using a file to [api.video](https://api.video) inside of [Strapi](https://strapi.io/)\n-   **Manage assets** with the plugin's asset grid and pagination capabilities\n-   **Search** for assets using title\n-   **Preview content** using our player (powered by the [api.video-player-react](https://github.com/apivideo/api.video-react-player) package)\n-   **Delete assets** which result in the [api.video](https://api.video) Asset also being deleted\n\n## ⏳ Installation\n\n### Via Strapi Marketplace\n\nWe're available on the [Strapi Marketplace](https://market.strapi.io/plugins/@api.video-strapi-uploader-plugin).\n\n### Via command line\n\n(Use **yarn** to install this plugin within your Strapi project (recommended). [Install yarn with these docs](https://yarnpkg.com/lang/en/docs/install/).)\n\n```bash\nyarn add @api.video/strapi-uploader-plugin@latest\n```\n\nAfter successful installation you've to re-build your Strapi instance. To archive that simply use:\n\n```bash\nyarn build\nyarn develop\n```\n\nor just run Strapi in the development mode with `--watch-admin` option:\n\n```bash\nyarn develop --watch-admin\n```\n\nThe **api-video-uploader** plugin should appear in the **Plugins** section of Strapi sidebar after you run app again.\n\nAs a next step you must configure your the plugin by the way you want to. See [**Configuration**](#🔧-configuration) section.\n\nAll done. Enjoy 🎉\n\n## 🖐 Requirements\n\n**api.video**\n\n-   A [api.video](https://api.video) account\n-   You will only an **Api Key** which can be created in the [api.video Dashboard](https://dashboard.api.video/apikeys)\n\nComplete installation requirements are exact same as for Strapi itself and can be found in the documentation under [Installation Requirements](https://docs.strapi.io/developer-docs/latest/getting-started/introduction.html).\n\n**Minimum environment requirements**\n\n-   Node.js `\u003e=14.19.1 \u003c=18.x.x`\n-   NPM `\u003e=6.x.x`\n\nIn our minimum support we're following [official Node.js releases timelines](https://nodejs.org/en/about/releases/).\n\n**Supported Strapi versions**:\n\n-   Strapi v4.5.1 (recently tested)\n-   Strapi v4.x\n\n\u003e This plugin is designed for **Strapi v4** and is not working with v3.x.\n\n**We recommend always using the latest version of Strapi to start your new projects**.\n\n## 🔧 Configuration\n\nIn order for this plugin to communicate with [api.video](https://api.video), a configuration needs to be set for the plugin before it can be used.\n\nWith your **Api Key**, navigate to the Settings view within [Strapi](https://strapi.io/) and click the \"General\" section under **API.VIDEO UPLOADER**.\n\nOn this view, enter your Api Key and click the Save button.\n\n\u003cdiv style=\"margin: 20px 0\" align=\"center\"\u003e\n  \u003cimg style=\"width: 100%; height: auto;\" src=\"public/assets/configuration.png\" alt=\"Plugin configuration\" /\u003e\n\u003c/div\u003e\n\nTo resolve **Content Security Policy directive** issue and to visualize the thumbnail and the video, we need to configure external ressource like `embed.api.video`and `cdn.api.video/vod/`. Modify the `middlewares.js` file like below:\n\n```javascript\n// config/middlewares.js\nmodule.exports = ({ env }) =\u003e [\n    'strapi::errors',\n    {\n        name: 'strapi::security',\n        config: {\n            contentSecurityPolicy: {\n                useDefaults: true,\n                directives: {\n                    'connect-src': [\"'self'\", 'https:'],\n                    'img-src': [\"'self'\", 'data:', 'blob:', 'embed.api.video', 'cdn.api.video/vod/'],\n                    'frame-src': [\"'self'\", 'data:', 'blob:', 'embed.api.video'],\n                    upgradeInsecureRequests: null,\n                },\n            },\n        },\n    },\n    'strapi::cors',\n    'strapi::poweredBy',\n    'strapi::logger',\n    'strapi::query',\n    'strapi::body',\n    'strapi::favicon',\n    'strapi::public',\n]\n```\n\n## 👤 Permissions\n\nWith the Community Edition of [Strapi](https://strapi.io/), any user with the role of super administrator can configure and use the plugin.\n\nWith Strapi Enterprise the permissions can be fine tuned according to the role of users. This is done in the **Roles** view in the **Administration Panel**.\n\n## 💾 Metadata\n\nBy default we send the value `Strapi`as `Upload source` to keep track. This value is set by default and can't be changed.\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\n\nIf you encounter an error or have questions, please feel free to file inquiries on the [Issues](https://github.com/apivideo/api.video-strapi-plugin/issues) page for `@api.video/strapi-uploader-plugin`.\n\n## 📚 References\n\n-   [api.video](https://docs.api.video/docs/apivideo-api-reference)\n-   [strapi.io](https://strapi.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fapi.video-strapi-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapivideo%2Fapi.video-strapi-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fapi.video-strapi-plugin/lists"}