{"id":317166,"date":"2026-06-24T21:02:48","date_gmt":"2026-06-24T21:02:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/video-to-ai-blog-post\/"},"modified":"2026-06-24T21:02:36","modified_gmt":"2026-06-24T21:02:36","slug":"video-to-ai-blog-post","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/video-to-ai-blog-post\/","author":15874061,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"5.4.0","stable_tag":"5.4.0","tested":"7.0","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Video To AI Blog Post","header_author":"Hussain Abdullah","header_description":"Automatically publishes WordPress blog posts from YouTube videos with AI-generated summaries based on actual video transcripts.","assets_banners_color":"192c48","last_updated":"2026-06-24 21:02:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/abdullahtofa.com\/video-to-ai-blog-post","header_author_uri":"https:\/\/abdullahtofa.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":74,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"5.4.0":{"tag":"5.4.0","author":"abdullahtofa","date":"2026-06-24 21:02:36"}},"upgrade_notice":{"5.4.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3585404,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3585404,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3585404,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3585404,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3585404,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["5.4.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[240481,2016,323,222,1610],"plugin_category":[50,56],"plugin_contributors":[268779],"plugin_business_model":[],"class_list":["post-317166","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-summary","plugin_tags-auto-publish","plugin_tags-blog","plugin_tags-video","plugin_tags-youtube","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-abdullahtofa","plugin_committers-abdullahtofa"],"banners":{"banner":"https:\/\/ps.w.org\/video-to-ai-blog-post\/assets\/banner-772x250.png?rev=3585404","banner_2x":"https:\/\/ps.w.org\/video-to-ai-blog-post\/assets\/banner-1544x500.png?rev=3585404","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/video-to-ai-blog-post\/assets\/icon.svg?rev=3585404","icon":"https:\/\/ps.w.org\/video-to-ai-blog-post\/assets\/icon.svg?rev=3585404","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Video To AI Blog Post<\/strong> monitors your YouTube channel and automatically creates WordPress blog posts whenever a new video is published. Each post includes the exact video title, embedded player, YouTube thumbnail as the featured image, and an AI-generated summary based on the actual video transcript.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Monitors your YouTube channel via RSS feed (no API key needed for detection)<\/li>\n<li>Fetches real video transcripts via YouTube Data API v3 with OAuth 2.0<\/li>\n<li>Generates intelligent summaries using OpenAI's ChatGPT based on actual video content<\/li>\n<li>Auto-publishes posts with video title, embedded player, thumbnail, and AI summary<\/li>\n<li>Three publishing modes: New videos only, from a specific date, or all videos<\/li>\n<li>Fully customizable post template with placeholders<\/li>\n<li>Customizable AI prompt for summaries<\/li>\n<li>Activity log for monitoring<\/li>\n<li>Built-in setup guide for non-technical users<\/li>\n<\/ul>\n\n<p><strong>How It Works:<\/strong><\/p>\n\n<ol>\n<li>The plugin checks your YouTube channel's RSS feed on a schedule you choose (every 5, 15, or 30 minutes, or hourly)<\/li>\n<li>When a new video is detected, it fetches the video transcript via the YouTube Captions API<\/li>\n<li>The transcript is sent to OpenAI's ChatGPT API to generate a content-based blog summary<\/li>\n<li>A WordPress post is created with the video title, embedded video, thumbnail as featured image, and AI summary<\/li>\n<\/ol>\n\n<p><strong>Third-Party Services:<\/strong><\/p>\n\n<p>This plugin connects to the following external services. By configuring and using these services, you consent to their respective terms:<\/p>\n\n<ul>\n<li><p><strong>YouTube Data API v3<\/strong> \u2014 Used to fetch video captions\/transcripts for summary generation. Requires a Google Cloud project with OAuth 2.0 credentials that you create and control.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/youtube\/terms\/api-services-terms-of-service\">YouTube API Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>YouTube RSS Feed<\/strong> \u2014 Used to detect new video uploads on your channel. This is a public feed that requires no authentication.<\/p><\/li>\n<li><p><strong>OpenAI API (ChatGPT)<\/strong> \u2014 Used to generate blog post summaries from video transcripts. Requires an OpenAI API key that you provide. Usage incurs costs based on OpenAI's pricing.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/openai.com\/terms\">OpenAI Terms of Use<\/a><\/li>\n<li><a href=\"https:\/\/openai.com\/privacy\">OpenAI Privacy Policy<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>YouTube Website<\/strong> \u2014 Used as a fallback method to fetch video captions when the YouTube Captions API is unavailable.<\/p><\/li>\n<li><p><strong>YouTube Image Service (img.youtube.com)<\/strong> \u2014 Used to check for and download high-resolution video thumbnails to set as the WordPress featured image. The plugin checks if a maxresdefault thumbnail exists for each video, and if so downloads and stores it locally in the WordPress media library. No remote images are loaded on the frontend \u2014 they are imported into your site's local media. This is part of the plugin's core functionality of creating complete blog posts from YouTube videos.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/youtube\/terms\/api-services-terms-of-service\">YouTube API Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>All API credentials are stored in your WordPress database and all API calls are made directly from your server to the respective services. No data is sent to the plugin author's servers.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>video-to-ai-blog-post<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install via Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Settings &gt; Video to Blog.<\/li>\n<li>Follow the built-in setup guide to configure your YouTube channel, Google Cloud API credentials, and OpenAI API key.<\/li>\n<li>Choose your publishing mode and enable the master switch.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20google%20cloud%20account%3F\"><h3>Do I need a Google Cloud account?<\/h3><\/dt>\n<dd><p>Yes. You need a free Google Cloud project with the YouTube Data API v3 enabled. The plugin includes a detailed step-by-step guide in its settings page. The free tier provides 10,000 API units per day, which is more than enough for most channels.<\/p><\/dd>\n<dt id=\"does%20this%20cost%20money%3F\"><h3>Does this cost money?<\/h3><\/dt>\n<dd><p>The plugin itself is free. The YouTube Data API has a generous free tier. OpenAI charges a small fee per API call (approximately $0.01-0.03 per blog summary). You will need to add a payment method to your OpenAI account.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20a%20channel%20i%20don%27t%20own%3F\"><h3>Can I use this with a channel I don't own?<\/h3><\/dt>\n<dd><p>The YouTube Captions API requires owner-level access to download transcripts. For channels you don't own, the plugin falls back to scraping public captions or using the video description for summaries.<\/p><\/dd>\n<dt id=\"will%20it%20publish%20all%20my%20old%20videos%20when%20i%20first%20activate%20it%3F\"><h3>Will it publish all my old videos when I first activate it?<\/h3><\/dt>\n<dd><p>No. The default mode is \"New Only\" which only processes videos published after you activate the plugin. You can optionally choose \"From Date\" to include videos from a specific date, or \"All Videos\" to process everything in the RSS feed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>5.4.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Transcript-based AI summaries via YouTube Captions API + OpenAI<\/li>\n<li>Three publishing modes: New Only, From Date, All Videos<\/li>\n<li>Customizable post templates and AI prompts<\/li>\n<li>Built-in Google Cloud setup guide with test user instructions<\/li>\n<li>OAuth 2.0 integration with auto-refresh tokens<\/li>\n<\/ul>","raw_excerpt":"Automatically publishes WordPress blog posts when new YouTube videos go live, with AI-generated summaries from actual video transcripts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317166"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/abdullahtofa"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317166"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317166"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317166"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317166"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317166"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}