🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Sora 2 to Google Drive, videos saved and shareable

Lisa Granqvist Partner Workflow Automation Expert

You kick off a Sora 2 render, then the waiting game starts. Refresh the status. Check again. Rename the file. Upload it somewhere. Repeat until you’re slightly annoyed and very behind.

This Sora Google Drive automation hits social media managers and content creators hard, but filmmakers shipping lots of drafts feel it too. The payoff is simple: every completed render lands in Google Drive with the MP4 and a thumbnail, plus a clean link your team can review.

Below, you’ll see how the workflow runs, what you need, what it replaces, and the tweaks that make it feel like it was built for your process.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Sora 2 to Google Drive, videos saved and shareable

The Problem: Sora renders create busywork before anyone can review

Generating videos with Sora 2 is the fun part. Everything around it is the drag. You submit a prompt (maybe with a reference image), then you’re stuck watching a status page like it’s a kettle that refuses to boil. When it finally completes, you still have to download the MP4, grab a thumbnail or preview, name things in a way your team can understand, then upload it where feedback actually happens. Miss one step and people review the wrong version, or worse, nobody can find it later.

The friction compounds. Here’s where it breaks down.

  • Checking render status over and over steals focus, especially when you’re juggling several drafts.
  • Manual downloads and uploads usually eat about 10 minutes per finished video, and that’s on a good day.
  • Messy filenames and scattered links lead to duplicate reviews, conflicting feedback, and “which one is final?” threads.
  • Reference images fail silently when the format is wrong, so you only discover the problem after waiting.

The Solution: Generate in Sora 2, then auto-file the MP4 and thumbnail in Drive

This workflow turns Sora 2 video generation into a clean handoff your team can actually use. It starts with a form submission where you paste your prompt, add an OpenAI API key, pick your generation settings (model, duration, resolution), and optionally upload a reference image. The workflow validates that image first (only jpg, png, or webp), then sends the request to the Sora 2 API. While Sora renders, n8n checks the status on a safe cadence and waits 30 seconds between polls so you don’t trip rate limits. Once the render is completed, it automatically fetches the MP4 and a thumbnail asset, uploads both to Google Drive, and returns a neat completion screen with links and a preview.

The workflow begins at a form trigger, then routes your request based on whether a reference image is included. After that, it’s status polling until completion, followed by download and a Google Drive upload for both the video and thumbnail. Finally, it merges the upload results and shows a shareable link your team can review without chasing files.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you generate 5 Sora 2 drafts for a client review each week. Manually, you might spend about 5 minutes checking status a few times, then another 10 minutes downloading the MP4, grabbing a preview, naming files, and uploading to Drive. That’s roughly 15 minutes per draft, or a bit over an hour weekly. With this workflow, you submit the form in about 2 minutes, then n8n handles the waiting, fetches the MP4 and thumbnail, and gives you a ready-to-share Drive link when it’s done.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • OpenAI (Sora 2) for generating the video render.
  • Google Drive to store MP4 and thumbnail files.
  • OpenAI API key (get it from the OpenAI dashboard API keys page)

Skill level: Beginner. You’ll connect credentials, paste an API key, and choose a few form settings.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A form submission starts everything. You enter your prompt, choose the model (sora-2 or sora-2-pro), pick duration and resolution, and optionally add a reference image to guide the scene.

Your inputs get cleaned up and validated. n8n maps the fields into the format the Sora endpoint expects. If a reference image is included, the workflow checks that it’s jpg, png, or webp so you don’t get a surprise failure after waiting.

Sora 2 generates, while n8n “babysits” the status for you. The workflow sends the generation request, then polls the status (queued, in progress, completed, failed) with a 30-second wait between checks to avoid rate limiting and flaky responses.

The output is filed into Google Drive and returned as a link. When the render completes, n8n downloads the MP4 and thumbnail asset, uploads both to Drive, merges the file details, and displays a completion page with a preview and shareable URLs.

You can easily modify the polling interval to match your volume and patience. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the form that collects the prompt, model, size, duration, and optional image reference for video generation.

  1. Add the Form Intake Trigger node and set Form Title to OpenAI Sora.
  2. Set Form Description to OpenAI Sora 2 Video Generator.
  3. In Form Fields, ensure the fields match the workflow: YOUR_ACCESS_TOKEN, Prompt, Model (options sora-2, sora-2-pro), Size (options 1280x720, 720x1280, 1024x1792, 1792x1024), Duration (options 4, 8, 12), and Image Reference (file field, accepts .jpg, .png, .webp).

Step 2: Map Form Inputs and Route by Reference

Normalize incoming fields and route the request based on whether an image reference was uploaded.

  1. In Map Input Fields, set assignments for prompt, model, size, and seconds with expressions: {{ $json.Prompt }}, {{ $json.Model }}, {{ $json.Size }}, {{ $json.Duration }}.
  2. Keep Include Other Fields enabled in Map Input Fields so the access token and file data are preserved.
  3. Configure Reference Routing to check if {{ $('Form Intake Trigger').item.json['Image Reference'].size }} exists; this decides between reference and no-reference generation paths.

Step 3: Set Up Video Generation Requests

Send the video creation request to the OpenAI API, with or without an image reference.

  1. In Generate Video No Ref, set URL to https://api.openai.com/v1/videos and Method to POST.
  2. Set Body Parameters to use expressions: prompt {{ $json.prompt }}, model {{ $json.model }}, size {{ $json.size }}, seconds {{ $json.seconds }}.
  3. Set Header Parameters in Generate Video No Ref to Authorization =Bearer {{ $('Form Intake Trigger').item.json.YOUR_ACCESS_TOKEN }}.
  4. In Generate Video With Ref, keep the same URL and headers, set Content Type to multipart-form-data, and add input_reference with Parameter Type formBinaryData and Input Data Field Name =Image_Reference.

Step 4: Poll for Completion and Branch by Status

Check job status and loop until completed, or fail if the API returns an error.

  1. Configure Retrieve Status with URL =https://api.openai.com/v1/videos/{{ $json.id }} and Authorization header =Bearer {{ $('Form Intake Trigger').item.json.YOUR_ACCESS_TOKEN }}.
  2. In Route by Status, keep the rules matching {{ $json.status }} for completed, in_progress, queued, and failed.
  3. Set Delay Timer to wait 30 seconds to poll again via Retrieve Status when status is in_progress or queued.

Route by Status outputs to both Fetch Video File and Fetch Thumbnail Asset in parallel when the status is completed.

Step 5: Fetch Assets and Store in Google Drive

Download the final video and thumbnail, then upload both to Google Drive.

  1. In Fetch Video File, set URL to =https://api.openai.com/v1/videos/{{ $json.id }}/content and add the Authorization header =Bearer {{ $('Form Intake Trigger').item.json.YOUR_ACCESS_TOKEN }}.
  2. In Fetch Thumbnail Asset, set URL to =https://api.openai.com/v1/videos/{{ $json.id }}/content, add a query parameter variant with value thumbnail, and set the response format to file with Output Property Name thumbnail.webp.
  3. Configure Store Video File to upload to Google Drive with Name ={{ $json.id }}.mp4, and set the target folder (e.g., Sora).
  4. Configure Store Thumbnail File with Name ={{ $json.id }}.webp and Input Data Field Name thumbnail.webp, then select the same target folder.
  5. Credential Required: Connect your googleDriveOAuth2Api credentials in both Store Video File and Store Thumbnail File.

Step 6: Merge Outputs and Return Success

Combine the uploaded file links and return a completion message to the form submitter.

  1. Use Combine Uploads to merge outputs from Store Video File and Store Thumbnail File.
  2. In Collect Content Data, set Aggregate to aggregateAllItemData and Destination Field Name to content.
  3. In Success Response, keep Completion Title Generation Completed and set Completion Message to =<a href="{{ $json.content[0].webViewLink }}"><img src="{{ $json.content[1].thumbnailLink }}"><a> <br> <b><a href="{{ $json.content[0].webViewLink }}">Download</a></b>.

Step 7: Add Error Handling

Provide a clear error message to the user if the job fails.

  1. In Failure Response, keep Completion Title set to Error.
  2. Set Completion Message to =<h2>{{ $json.error.code }}</h2> {{ $json.error.message }} so the API error is displayed.

⚠️ Common Pitfall: If the access token is missing or invalid, Retrieve Status will fail and route to Failure Response. Ensure YOUR_ACCESS_TOKEN is provided in the form.

Step 8: Test and Activate Your Workflow

Verify the form flow, status polling, and asset uploads before going live.

  1. Click Execute Workflow and open the form from Form Intake Trigger to submit a test prompt.
  2. Confirm that Retrieve Status loops via Delay Timer until Route by Status returns completed.
  3. Check that files appear in Google Drive from Store Video File and Store Thumbnail File and the form displays the Success Response with the thumbnail and download link.
  4. Once verified, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Drive credentials can expire or need specific permissions. If things break, check the Google Drive OAuth connection inside n8n credentials first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • OpenAI API usage can fail due to billing, rate limits, or an invalid key. If Sora requests start failing, confirm your key still works and your OpenAI account has active billing.

Frequently Asked Questions

How long does it take to set up this Sora Google Drive automation?

About 20 minutes if you already have your OpenAI key and Google Drive connected.

Do I need coding skills to automate Sora Google Drive uploads?

No. You’ll fill in a form, connect credentials, and adjust a few settings.

Is n8n free to use for this Sora Google Drive workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI Sora costs (for example, Sora 2 is $0.10/sec, so a 4-second video costs about $0.40).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this Sora Google Drive workflow for different upload folders and naming?

Yes, and honestly it’s worth doing. You can point the two Google Drive upload steps (the nodes that store the video file and the thumbnail file) to a specific folder, then adjust the field-mapping step so the filename includes your project, aspect ratio, or version number. Common tweaks include separate folders per client, adding the model name (sora-2 vs sora-2-pro) to filenames, and saving generation settings into a log for later comparisons.

Why is my Google Drive connection failing in this workflow?

Most of the time it’s an expired or revoked OAuth connection in n8n, so reconnect your Google Drive credential and re-authorize access. It can also happen if your Drive account has restricted app access or your org requires admin approval. Less common, but real: the upload nodes can fail if the file fetch step returns an empty binary due to a transient Sora download error.

How many videos can this Sora Google Drive automation handle?

It depends on your n8n plan and Sora throughput. On n8n Cloud Starter, you can run a fixed number of executions per month based on your subscription, while higher plans support more volume. If you self-host, there’s no execution limit, but you’re constrained by your server and how many renders Sora can handle at once. In practice, this workflow is fine for batching several drafts a day, since it waits and polls instead of hammering the API.

Is this Sora Google Drive automation better than using Zapier or Make?

For this use case, usually yes. Sora rendering requires polling and branching logic (queued vs in-progress vs completed vs failed), and n8n handles that kind of control flow cleanly without making every loop expensive. You also get the self-hosting option, which is handy if you’re doing lots of drafts. Zapier or Make can still work for simpler “send me a link” automations, but they’re clunkier for long-running renders and file handling. If you want a second opinion for your stack, Talk to an automation expert.

Once this is in place, Sora can do its thing and your team still gets a clean Drive link every time. Set it up once, then get back to the creative work that actually matters.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal