{"id":363305,"date":"2026-09-14T11:29:48","date_gmt":"2026-09-14T11:29:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bulk-import-for-divi-video-slider\/"},"modified":"2026-09-14T11:29:38","modified_gmt":"2026-09-14T11:29:38","slug":"stackvane-video-import-for-divi","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/stackvane-video-import-for-divi\/","author":23558734,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"StackVane Video Import for Divi","header_author":"StackVaneHQ <hello@stackvanehq.com>","header_description":"Bulk-add videos to Divi's Video Slider from your Media Library, a URL list, or a YouTube playlist, with no new module and no lock-in.","assets_banners_color":"f5f8fd","last_updated":"2026-09-14 11:29:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/stackvane-video-import-for-divi\/","header_author_uri":"https:\/\/www.stackvanehq.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"stackvanehq","date":"2026-09-14 11:29:38","revision":3695084}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3695084,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3695084,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3695084,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3695084,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3695084,"resolution":"1","location":"assets","locale":"","width":1678,"height":838},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3695084,"resolution":"2","location":"assets","locale":"","width":1676,"height":835},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3695084,"resolution":"3","location":"assets","locale":"","width":1678,"height":836},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3695084,"resolution":"4","location":"assets","locale":"","width":2622,"height":798}},"screenshots":{"1":"The Bulk Import Videos button on the Video Slider's Content tab.","2":"Pasting a list of URLs, with the preview list and skip reasons.","3":"Importing a whole YouTube playlist.","4":"The settings under Divi &gt; Theme Options."}},"plugin_section":[],"plugin_tags":[125072,10731,6638,1609,1610],"plugin_category":[56],"plugin_contributors":[280647],"plugin_business_model":[],"class_list":["post-363305","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-import","plugin_tags-divi","plugin_tags-video-slider","plugin_tags-vimeo","plugin_tags-youtube","plugin_category-social-and-sharing","plugin_contributors-stackvanehq","plugin_committers-stackvanehq"],"banners":{"banner":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/banner-772x250.png?rev=3695084","banner_2x":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/banner-1544x500.png?rev=3695084","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/icon-128x128.png?rev=3695084","icon_2x":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/icon-256x256.png?rev=3695084","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/screenshot-1.jpg?rev=3695084","caption":"The Bulk Import Videos button on the Video Slider's Content tab."},{"src":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/screenshot-2.jpg?rev=3695084","caption":"Pasting a list of URLs, with the preview list and skip reasons."},{"src":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/screenshot-3.jpg?rev=3695084","caption":"Importing a whole YouTube playlist."},{"src":"https:\/\/ps.w.org\/stackvane-video-import-for-divi\/assets\/screenshot-4.jpg?rev=3695084","caption":"The settings under Divi &gt; Theme Options."}],"raw_content":"<!--section=description-->\n<p>Divi 5 already ships a Video Slider. Building one is the slow part: add a slide, paste a URL, type a\ntitle, repeat forty times.<\/p>\n\n<p>This plugin adds a single button to that module's Content tab. Click <strong>Bulk Import Videos<\/strong>, choose\nwhere your videos are coming from, and every one of them becomes a slide.<\/p>\n\n<p>It registers no new module. Divi's own Video Slider and Video Slider Item stay exactly what they\nare, so your layouts remain 100% native Divi and nothing breaks if you ever deactivate this plugin.<\/p>\n\n<p><strong>Three ways to add videos<\/strong><\/p>\n\n<ul>\n<li><strong>Media Library<\/strong>: pick as many existing videos as you like, or upload new ones without leaving\nthe window.<\/li>\n<li><strong>External Videos<\/strong>: paste a list of URLs, one per line, mixing YouTube, Vimeo and direct\nMP4\/WEBM freely.<\/li>\n<li><strong>YouTube Playlist<\/strong>: paste one playlist link and import the whole thing.<\/li>\n<\/ul>\n\n<p><strong>Review before anything is created<\/strong><\/p>\n\n<p>Everything is listed first, with thumbnails, durations and the reason for anything that will be\nskipped. From that list you can:<\/p>\n\n<ul>\n<li><strong>Drag rows to reorder them<\/strong>, or move them with the arrow keys.<\/li>\n<li><strong>Click any title and write your own.<\/strong><\/li>\n<li><strong>Drop anything you changed your mind about<\/strong>, before a single slide exists.<\/li>\n<li>Choose <strong>Append<\/strong> to add to the existing slides, or <strong>Replace All<\/strong> to start clean.<\/li>\n<\/ul>\n\n<p><strong>It fills in the details<\/strong><\/p>\n\n<p>Each slide gets its video URL, its thumbnail, and its title as the Element Label, so your layers\npanel is readable instead of forty rows called \"Video Slider Item\". Titles can be tidied on the way\nin: strip emojis, strip special characters, or force Title Case.<\/p>\n\n<p><strong>It can generate posters for self-hosted video<\/strong><\/p>\n\n<p>Divi cannot make a thumbnail from an MP4; its Generate From Video button only resolves YouTube and\nVimeo. This plugin can grab a real frame from a video file on your site, save it to your Media\nLibrary, and use it as the slide's overlay image. Import the same video again and the poster it\nalready made is reused, so your Media Library does not fill up with copies.<\/p>\n\n<p><strong>Duplicates are caught<\/strong><\/p>\n\n<p>Every import is checked against both the batch itself and the videos already in that slider, so\nimporting twice never doubles anything.<\/p>\n\n<p><strong>Free and API modes<\/strong><\/p>\n\n<p>Free mode needs no key. It reads each video's public oEmbed data for a title and thumbnail, and for\nplaylists it reads the public feed, which returns roughly the 15 most recent videos.<\/p>\n\n<p>API mode uses a YouTube Data API key you save once. It returns the full playlist, up to 400 videos,\nplus real durations and view counts.<\/p>\n\n<p><strong>Optional import history<\/strong><\/p>\n\n<p>Off by default. Turn it on and any past import can be added to a different slider later without\nfetching it again.<\/p>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<p>Divi 5, as either the theme or the Divi Builder plugin. Without it the plugin stays inert and tells\nyou so.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin contacts third-party services to look up the details of the videos you ask it to\nimport. Nothing is sent anywhere until you paste a URL and press Fetch Videos, nothing about you or\nyour site is transmitted, and no data is sent at all when you import from your own Media Library.<\/p>\n\n<p><strong>YouTube (Google)<\/strong><\/p>\n\n<ul>\n<li>What it is used for: reading a YouTube video's title and thumbnail, and reading the contents of a\npublic playlist.<\/li>\n<li>When it is called: only when you fetch YouTube URLs or a YouTube playlist.<\/li>\n<li>What is sent: the video or playlist ID taken from the URL you pasted. In API mode, the YouTube\nData API key you saved is sent with the request.<\/li>\n<li>Endpoints: <code>https:\/\/www.youtube.com\/oembed<\/code>, <code>https:\/\/www.youtube.com\/feeds\/videos.xml<\/code>, and in\nAPI mode <code>https:\/\/www.googleapis.com\/youtube\/v3\/<\/code>.<\/li>\n<li>Terms of Service: https:\/\/www.youtube.com\/t\/terms and https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p><strong>Vimeo<\/strong><\/p>\n\n<ul>\n<li>What it is used for: reading a Vimeo video's title, thumbnail and duration.<\/li>\n<li>When it is called: only when you fetch Vimeo URLs.<\/li>\n<li>What is sent: the Vimeo URL you pasted.<\/li>\n<li>Endpoint: <code>https:\/\/vimeo.com\/api\/oembed.json<\/code><\/li>\n<li>Terms of Service: https:\/\/vimeo.com\/terms<\/li>\n<li>Privacy Policy: https:\/\/vimeo.com\/privacy<\/li>\n<\/ul>\n\n<p>Direct video files (MP4, WEBM and the rest) are never sent anywhere. Their title is read from the\nfilename, and a poster image, if you ask for one, is generated inside your own browser and saved to\nyour own Media Library.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>The PHP in this plugin is shipped as written. The two files in <code>dist\/<\/code> are minified builds, and\ntheir readable source, together with the build tools that produce them, is public at:<\/p>\n\n<p>https:\/\/github.com\/stackvanehq\/stackvane-video-import-for-divi-source<\/p>\n\n<ul>\n<li><code>dist\/builder.min.js<\/code> is webpack's production bundle of <code>client\/builder\/index.js<\/code> and the modules\nit imports, using the repository's <code>webpack.config.js<\/code>.<\/li>\n<li><code>dist\/builder.min.css<\/code> is <code>client\/builder\/builder.css<\/code> with whitespace removed by clean-css at\nlevel 1. Nothing is reordered or restructured, so the two read the same.<\/li>\n<\/ul>\n\n<p>To rebuild both, clone the repository, then run <code>npm ci<\/code> and <code>npm run build<\/code>.<\/p>\n\n<p>Every third-party library the bundle uses at run time is a webpack external, listed in\n    webpack.config.js, so it is supplied by WordPress or Divi rather than compiled in. <code>license.txt<\/code>\nnames them.<\/p>\n\n<p>No minifier, obfuscator or build step hides anything: the compiled files are the same code with\nwhitespace and local names removed.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure Divi 5 is active (the theme or the Divi Builder plugin).<\/li>\n<li>Upload the <code>stackvane-video-import-for-divi<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip from Plugins &gt; Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Edit a page with the Divi Builder, add or open a <strong>Video Slider<\/strong> module, open its <strong>Content<\/strong> tab, and expand <strong>Elements<\/strong>. A <strong>Bulk Import Videos<\/strong> button is the last item in that group.<\/li>\n<li>Optional: for full playlists and real durations, add a YouTube Data API key under <strong>Divi &gt; Theme Options &gt; StackVane Video Import for Divi<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20add%20a%20new%20module%3F\"><h3>Does this add a new module?<\/h3><\/dt>\n<dd><p>No. It extends the Video Slider that Divi 5 already ships. Every slide it creates is an ordinary Video Slider Item, indistinguishable from one you added by hand.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Nothing to your layouts. The slides are native Divi modules and keep working. You only lose the import button.<\/p><\/dd>\n<dt id=\"why%20does%20my%20playlist%20only%20import%20about%2015%20videos%3F\"><h3>Why does my playlist only import about 15 videos?<\/h3><\/dt>\n<dd><p>That is Free mode. YouTube's public feed returns only the most recent videos for any playlist. Add a YouTube Data API key and the same playlist imports in full.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20a%20youtube%20data%20api%20key%3F\"><h3>Where do I get a YouTube Data API key?<\/h3><\/dt>\n<dd><p>From the Google Cloud Console: create a project, enable the <strong>YouTube Data API v3<\/strong>, and create an API key. Paste it under Divi &gt; Theme Options &gt; StackVane Video Import for Divi.<\/p><\/dd>\n<dt id=\"is%20my%20api%20key%20safe%3F\"><h3>Is my API key safe?<\/h3><\/dt>\n<dd><p>It is stored by Divi itself, in Divi's own Theme Options, masked once saved. It is never sent to the browser and never appears in the page source. The import runs server side.<\/p><\/dd>\n<dt id=\"what%20urls%20are%20supported%3F\"><h3>What URLs are supported?<\/h3><\/dt>\n<dd><p>YouTube (<code>watch?v=<\/code>, <code>youtu.be<\/code>, <code>\/shorts\/<\/code>, <code>\/embed\/<\/code>), Vimeo, and direct video files (<code>.mp4<\/code>, <code>.webm<\/code>, <code>.ogv<\/code>, <code>.ogg<\/code>, <code>.mov<\/code>). Anything else is listed as unrecognised and skipped.<\/p><\/dd>\n<dt id=\"can%20i%20reorder%20or%20rename%20the%20videos%20before%20importing%3F\"><h3>Can I reorder or rename the videos before importing?<\/h3><\/dt>\n<dd><p>Yes. Drag any row in the list to reorder it, or focus its handle and use the arrow keys. Click any\ntitle to write your own; your text is used exactly as typed.<\/p><\/dd>\n<dt id=\"can%20it%20make%20thumbnails%20for%20my%20own%20mp4%20files%3F\"><h3>Can it make thumbnails for my own MP4 files?<\/h3><\/dt>\n<dd><p>Yes. Turn on Generate Posters and it grabs a frame from each file, saves it to your Media Library,\nand sets it as the slide's overlay image. This only works for files hosted on your own site, because\nbrowsers do not allow reading a frame from a video on another domain.<\/p><\/dd>\n<dt id=\"will%20it%20fill%20my%20media%20library%20with%20duplicate%20posters%3F\"><h3>Will it fill my Media Library with duplicate posters?<\/h3><\/dt>\n<dd><p>No. A generated poster is looked up before anything is made, so importing the same video a second\ntime reuses the poster from the first.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20divi%204%3F\"><h3>Does it work with Divi 4?<\/h3><\/dt>\n<dd><p>No. This uses Divi 5's builder APIs and requires Divi 5.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin loads nothing on the front end and nothing in wp-admin. Its code runs only inside the Divi Visual Builder.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Bulk-add videos to Divi&#039;s Video Slider from your Media Library, a URL list, or a YouTube playlist, with no new module and no lock-in.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363305"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stackvanehq"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363305"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363305"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363305"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363305"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363305"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}