Generate Sora v2 ASMR clips with GPT-5.1, stitch via Cloudinary, and post to Twitter/X

Go to Workflow
0 views
Built by Sona Labs Sona Labs
Created on June 05, 2026

Description

Generate Sora videos, stitch clips, and post to Twitter

Generate creative ASMR cutting video concepts with GPT-5.1, create high-quality video clips using Sora v2, stitch them together with Cloudinary, and automatically post to Twitter/X—transforming ideas into viral content without manual video editing.

How it works

Step 1: Generate Video Concepts
Schedule Trigger activates the workflow automatically
GPT-5.1 AI agent generates 3 unique ASMR cutting scene prompts with unusual objects
Creates structured video prompts optimized for Sora v2 (frontal camera angle, cutting actions)
Generates Twitter-ready captions with relevant hashtags
Saves all concepts and scripts to Google Sheets for tracking

Step 2: Create Video Clips with Sora v2
Generates 3 separate Sora v2 video clips in parallel (8-12 seconds each)
Each clip uses unique prompts from GPT-5.1 output
Videos render at 720x1280 resolution (vertical format for social media)
System waits 30 seconds for rendering to complete

Step 3: Monitor & Download Videos
Loops through all 3 video generation requests
Checks Sora API status every 30 seconds until rendering completes
Automatically skips failed renders (continues workflow with successful videos)
Downloads completed videos from Sora API
Uploads each clip to Cloudinary for storage and processing

Step 4: Stitch Videos Together
Collects all uploaded Cloudinary video IDs
Builds Cloudinary transformation URL to stitch 3 clips into one seamless video
Applies Twitter-compatible encoding (H.264 baseline, AAC audio, MP4 format)
Downloads the final stitched video

Step 5: Upload to Twitter/X
Prepares video file data and calculates total file size
Uses Twitter's chunked upload API (INIT → APPEND → FINALIZE)
Waits for Twitter's video processing to complete
Checks processing status until video is ready
Posts tweet with AI-generated caption and attached video
Updates Google Sheets status to "Posted"

What you'll get

AI-Generated Concepts**: Creative ASMR cutting ideas with unusual objects (glass avocados, lava rocks, rainbow soap)
Professional Video Clips**: Three 8-12 second Sora v2 videos per concept with 720x1280 resolution
Seamless Stitching**: Single combined video optimized for Twitter/X specifications
Engaging Captions**: GPT-5.1 generated tweets with hashtags designed for virality
Automated Posting**: Direct upload to Twitter/X without manual intervention
Cloud Backup**: All videos stored in Cloudinary with metadata
Progress Tracking**: Google Sheets integration shows workflow status (In Progress → Posted)
Error Handling**: Failed Sora renders are automatically skipped

Why use this

Save 4+ hours per video**: Eliminate scripting, shooting, editing, and posting time
Consistent posting schedule**: Set it and forget it with the Schedule Trigger
Scale content creation**: Generate multiple video variations in 20-30 minutes
Professional quality**: Leverage Sora v2's AI video generation for realistic cutting scenes
Optimize for virality**: GPT-5.1 creates concepts and captions designed for engagement
Reduce creative burnout**: AI handles ideation, execution, and distribution
No video editing skills needed**: Complete automation from concept to post
Test multiple concepts**: Generate 3 variations per run to see what resonates

Setup instructions

Required accounts and credentials:

OpenAI API Key (GPT-5.1 and Sora v2 access required)
Sign up at https://platform.openai.com
Ensure your account has Sora v2 API access enabled
Generate API key from API Keys section
Note: Sora v2 is currently in limited beta

Google Sheets OAuth (for tracking video ideas and status)
Free Google account required
Create a spreadsheet with columns: Category, Scene 1, Scene 2, Scene 3, Status
n8n will request OAuth permissions during setup

Cloudinary Account (for video storage and stitching)
Sign up at https://cloudinary.com (free tier available)
Note your cloud name from the dashboard
Create an upload preset named n8n_integration
Enable unsigned uploads for the preset

Twitter OAuth 1.0a Credentials (for automated posting)
Apply for Twitter Developer access at https://developer.twitter.com
Create a new app in the Developer Portal
Generate: API Key, API Secret, Access Token, Access Token Secret
Enable "Read and Write" permissions (not just Read)
OAuth 1.0a is required for media uploads (OAuth 2.0 won't work)

Configuration steps:

Update OpenAI API Key:
Add your OpenAI API key to these nodes:
"OpenAI Chat Model" credentials
"Create Sora Video Scene - 1" (Authorization header)
"Create Sora Video Scene - 2" (Authorization header)
"Create Sora Video Scene - 3" (Authorization header)
"Check Video Status" (Authorization header)
"Download Completed Video" (Authorization header)
Replace Bearer API KEY with Bearer YOUR_ACTUAL_API_KEY

Configure Google Sheets:
Open "Save Category and Clip Scripts" and "Update Status" nodes
Authenticate with your Google account (OAuth 2.0)
Select your spreadsheet and sheet name
Ensure columns match: Category, Scene 1, Scene 2, Scene 3, Status
The workflow will update Status from "In Progress" to "Posted"

Update Cloudinary Settings:
In "Upload to Cloudinary" node:
Replace {Cloud name here} in the URL with your Cloudinary cloud name
Verify upload preset is set to n8n_integration
In "Build Stitch URL" node:
Open the Code node
Replace dph9n4uei on line 1 with your cloud name
This builds the video stitching transformation URL

Add Twitter OAuth 1.0a Credentials:
Configure OAuth 1.0a in these nodes:
"Twitter Upload - INIT"
"Twitter Upload - APPEND"
"Finalize Upload"
"Check Twitter Processing Status"
"Post a Tweet"
Use the same OAuth 1.0a credential for all nodes
Ensure your Twitter app has "Read and Write" permissions

Adjust Schedule Trigger (optional):
Default: Runs on every interval
Modify in "Schedule Trigger" node to set specific times
Recommended: Once per day or every few hours to avoid rate limits

Test the workflow:
Click "Execute Workflow" to test manually first
Verify GPT-5.1 generates 3 video concepts
Check that Sora v2 creates all 3 videos
Confirm Cloudinary stitches videos correctly
Ensure Twitter post appears with video and caption

Important notes:

Sora API Rate Limits**: Sora v2 may have rendering quotas. Monitor your usage
Video Rendering Time**: Each Sora clip takes 2-5 minutes. Total workflow: 15-25 minutes
Failed Videos**: The workflow automatically skips failed renders and continues
Twitter Video Limits**: Maximum 512MB per video, MP4 format required
Cloudinary Free Tier**: 25 credits/month includes video transformations
Cost Estimate**: ~$1-3 per run (Sora API pricing varies)

Troubleshooting:

"Sora API access required"**: Contact OpenAI to enable Sora v2 API on your account
Twitter upload fails**: Verify OAuth 1.0a credentials have "Read and Write" permissions
Cloudinary upload fails**: Check cloud name and ensure upload preset exists
Videos don't stitch**: Verify all 3 videos uploaded successfully to Cloudinary
Google Sheets not updating**: Confirm OAuth permissions and sheet column names match

Next steps:

Enable the Schedule Trigger to automate daily/weekly posts
Monitor Google Sheets to track posted content
Adjust GPT-5.1 prompts in "ASMR Cutting Ideas" for different content themes
Experiment with different video durations (8 vs 12 seconds)
Add error notifications using Email or Slack nodes

Nodes Used (7)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured
Think Tool
@n8n/n8n-nodes-langchain.toolThink