Auto-edit and post TikTok videos with n8n: Gemini Omni Flash + OpenAI
Input video URL + edit prompt → render via Fal Gemini Omni Flash → generate title with OpenAI → upload to TikTok via Upload-Post
- Who
- Content creators or ops teams who need to batch-process videos and auto-publish to TikTok
- You get
- Webhook-triggered pipeline: AI video editing, auto SEO title generation, and auto-upload publishing
- You need
- n8n
Constraints
Prerequisites: n8n instance; Fal.run API key (httpHeaderAuth); OpenAI API key (openAiApi, model must support gpt-5); Upload-Post.com account and API key (httpHeaderAuth). The caller must be able to POST JSON to the n8n webhook containing video_url and prompt. Costs: Fal.run, OpenAI, and Upload-Post billed per their pricing. Network: n8n must reach queue.fal.run and api.upload-post.com.
What they did
Author n3witalia published an n8n workflow template demonstrating how to receive video editing requests via webhook, call Fal.run's Gemini Omni Flash for AI video editing, use OpenAI GPT-5 to auto-generate an SEO-friendly title, and upload the result to TikTok via the Upload-Post API. The template includes complete node configurations, connections, and sticky note explanations.
How it went
The template shows as published on n8n. The author states the pipeline automates the full flow from reception to publishing (author_report). This site has not tested runtime success or upload outcomes.
Worth knowing
1. Credential requirements: three external API keys needed (Fal.run, OpenAI, Upload-Post); Upload-Post requires account registration and replacing YOUR_USERNAME in the template. 2. Network: n8n must reach queue.fal.run and api.upload-post.com; self-hosted instances need outbound rules. 3. Model version: the OpenAI node specifies gpt-5; switch manually if unavailable or lacking permissions. 4. Polling interval: defaults to 60 seconds; author suggests adjusting the Wait node as needed. 5. Output language: the title generation prompt requires same-language output, but video editing quality depends on Gemini Omni Flash's multilingual capabilities. 6. Costs: Fal.run rendering, OpenAI API calls, and Upload-Post service may incur charges; no free-tier details provided. 7. Not tested by this site: reproduction=not_tested; validate end-to-end with a sample video and prompt before production use.
n8n workflow template
Structure checked · Not run-testedUse “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.
Setup and test checklist
Credentials to connect
- Get status node: connect HTTP Header Auth credentials.
- Create Video node: connect HTTP Header Auth credentials.
- Get Url Video node: connect HTTP Header Auth credentials.
- HTTP Request node: connect HTTP Header Auth credentials.
- Generate title node: connect OpenAI API credentials.
Configuration to replace
- Source template is n8n public workflow #16789 (~16 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
- Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.
Test input and expected output
- Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
- Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.
Template changes
- Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
- No business-logic edits; verify keys, quotas and privacy compliance before use.
Template retrieved: 2026-10-24
Steps
Trigger workflow and submit video editing job
Configure the Webhook node in n8n with a trigger path. Ensure external calls POST JSON containing `video_url` (source video address) and `prompt` (editing instruction, e.g. "Make this video anime"). Once received, data flows to the Create Video node, which sends a POST to `https://queue.fal.run/google/gemini-omni-flash/edit` with a JSON body containing the prompt and video_url. Add Fal.run API credentials as httpHeaderAuth in n8n Credentials and select them in the node.
Execution prompt · Source text。Create Video node JSON Body field; enable Send Body, set Specify Body to JSON
={ "prompt": "{{ $json.prompt }}", "video_url": "{{ $json.video_url }}" }Poll rendering status until completed
After Create Video returns, the workflow enters the Wait 60 sec. node, then the Get status node queries Fal.run for job status (GET `https://queue.fal.run/google/gemini-omni-flash/requests/{{request_id}}/status`). The Completed? node checks if status equals `COMPLETED`: if yes, proceed; if no, loop back to Wait 60 sec. Repeat until rendering completes. Note: request_id comes from the Create Video response.
Generate title, download video, and upload to TikTok
Once rendering completes, the Get Url Video node fetches final video details (GET `https://queue.fal.run/google/gemini-omni-flash/requests/{{request_id}}`) and extracts `video.url`. Then the Generate title node calls OpenAI (model gpt-5) with a system prompt requiring an SEO-friendly title (≤60 chars, same language as input) and a user message containing the original prompt. Next, the Get File Video node downloads the video file from that URL. Finally, the HTTP Request node POSTs to `https://api.upload-post.com/api/upload` as multipart/form-data with: title (from Generate title output), user (replace with actual Upload-Post username), platform[] (tiktok), video (binary data, field name data). Configure Upload-Post httpHeaderAuth credentials.
Execution prompt · Source text。Generate title node System Message field
You are a Video SEO expert specialized in creating engaging and optimized titles. Your task is to generate an effective title for a YouTube video based on the user's video description. GUIDELINES: - Maximum 60 characters to avoid truncation - Use relevant keywords for SEO - Make the title catchy and clickable - Avoid excessive or misleading clickbait - Consider the target audience of the content - Use numbers, questions, or power words when appropriate - IMPORTANT: Generate the title in the same language as the input description OUTPUT FORMAT: Provide only the title, without additional explanations. EXAMPLE: Input: "Tutorial video on how to cook perfect pasta carbonara" Output: "PERFECT Carbonara in 10 Minutes - Chef's Secrets"
Execution prompt · Source text。Generate title node User Message field (Content), Role set to user
=Input: {{ $('Webhook').item.json.prompt }}Return upload result to the caller
After the HTTP Request (upload) node completes, the Respond to Webhook node returns the Upload-Post API response to the original webhook caller. The pipeline ends here.
Prompt you can copy
Setup guidance · Editorial suggestion。Setup assistant starter: verify credentials, node paths, input fields, then import workflow.json
This block is the prompt. Ads are never placed here.
# Edit Video with Gemini Omni Flash and upload to TikTok ## How It Works 1. A webhook receives a video editing request and starts the workflow. 2. The workflow submits the request to Gemini Omni Flash to edit the video and waits for the rendering process to complete. 3. It continuously checks the job status until the video has been successfully rendered. 4. Once the job is complete, the workflow retrieves the generated video URL, creates an SEO-friendly title using OpenAI, and downloads the final video. 5. Finally, the workflow uploads the processed video to Upload-Post and returns the upload response to the original caller. ## Setup Steps - [ ] Configure the **Webhook** trigger path and ensure the incoming payload includes both the `video_url` and `prompt` fields. - [ ] Configure your **Fal API** credentials for the HTTP Request nodes used to submit the editing job, check the rendering status, and retrieve the final video information. - [ ] Verify that the **Post Edit Job to Gemini** node contains the correct editing prompt and the source video URL. - [ ] Configure your **OpenAI** credentials for the **Generate Video Title** node. - [ ] Ensure the **Download Video File** node can access the signed URL returned by the Fal API. - [ ] Configure your **Upload-Post API** credentials in the **Upload Video to Upload-Post** node. Create an [Upload-Post account for FREE](https://www.upload-post.com/?linkId=lp_144414&sourceId=n3witalia&tenantId=upload-post-app) and obtain your API credentials visit: ## Customization You can easily customize this workflow by: - Changing the polling interval in the **Wait 60 Seconds** node. - Modifying the prompt used by the **Generate Video Title** node. - Updating the default upload parameters (user, platforms, metadata, etc.) sent to Upload-Post. - Replacing the final upload destination with another storage service or API if required.
First verify n8n credentials for Fal.run, OpenAI, and Upload-Post are configured; then confirm webhook path and caller JSON structure; finally test with a single video URL and prompt.
Source
Edit and post TikTok videos with Gemini Omni Flash and OpenAI · n3witalia · n8n.io · 2026-07-02
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.