Quick overview
Quick overview This workflow pulls “to create” YouTube ideas from Google Sheets, uses OpenAI to generate a 14-scene script with voice and image prompts, renders a video via JSON2Video with selected music assets, saves the output URL back to Sheets, and only uploads to YouTube after manual approval. How it works Runs on a schedule and fetches the first Google Sheets row where PRODUCTION STATUS is set to “to create”. Sends the idea title, captions, and style fields to OpenAI (GPT-4o) to generate a 14-scene JSON script with two-sentence voiceover text and cinematic image prompts. Reads the selected “final” music/intro assets from a second Google Sheets tab and submits the script, voice settings (ElevenLabs), image model, and audio/intro URLs to the JSON2Video API to start rendering. Waits, polls JSON2Video for render status, and repeats until the movie is done or errors out. When rendering completes, writes the JSON2Video movie URL back to Google Sheets and marks the row as created, or logs an error status to Google Sheets if rendering fails. When a row’s PUBLISHING STATUS is set to “approved,” the workflow downloads the finished video from the stored URL, uploads it to YouTube, applies privacy and compliance status via the YouTube Data API, and marks the row as published in Google Sheets. Setup Create and connect credentials for Google Sheets OAuth2, OpenAI, YouTube OAuth2, and an HTTP Header Auth credential for your JSON2Video API key. Replace REPLACE_WITH_YOUTUBE_CONTENT_SHEET_ID, REPLACE_WITH_JSON2VIDEO_TEMPLATE_ID, and REPLACE_WITH_ELEVENLABS_VOICE_ID with your actual Google Sheet ID, JSON2Video template ID, and ElevenLabs voice ID. Ensure your Google Sheet includes the expected columns (for example ID, IDEAS, CAPTIONS, CHANNEL_STYLE_PROMPT, CHARACTER_STYLE_PROMPT, PRODUCTION STATUS, FINAL OUTPUT, PUBLISHING STATUS, plus optional YouTube fields like YOUTUBE PRIVACY and MADE FOR KIDS). Populate the music/assets sheet used by “Get Music” with fields like “audio list,” “intro video,” and a “to use” value of “final” for the row you want selected. Set PRODUCTION STATUS to “to create” to generate a video, then manually review the FINAL OUTPUT URL and change PUBLISHING STATUS to “approved” before running the manual publish trigger (or enabling the optional hourly schedule). An n8n automation workflow template by Khadija Naeem.
Khadija Naeem
web
paid
Others in the same category, ranked by how often they are opened.