Quick overview
This workflow collects listing photos and details via an n8n form, uploads and crops images on fal, generates camera-move prompts and social captions with OpenAI, renders short clips with Kling 3.0, merges them into a vertical walkthrough video, and sends it to TikTok as a SocialRobot draft.
How it works
- Receives a listing submission via an n8n form with 3–8 photos plus address, price, specs, features, agent info, and an optional listing link.
- Sorts the photos, checks they meet the required count and size constraints, then uploads them to fal storage and center-crops them to a 9:16 frame.
- Pairs each neighboring photo into start/end frames and (when enabled) uses OpenAI to generate a constrained camera-move prompt per pair and fair-housing-safe captions for TikTok, Instagram, Facebook, and LinkedIn.
- Submits one Kling 3.0 image-to-video render job per photo pair via fal, then polls fal until all clips complete, fail, or hit the timeout (canceling unfinished jobs on failure/timeout).
- Fetches the completed clip URLs, merges them into a single video using fal’s FFmpeg merge endpoint, and downloads the merged file.
- Validates the merged video’s file size and duration limits, then uploads it to TikTok via SocialRobot as an inbox draft (with optional, disabled-by-default posting to Instagram, Facebook, and LinkedIn).
Setup
- Create a fal API key and configure an HTTP Header Auth credential (Authorization: Key YOUR_FAL_KEY) used by all fal HTTP Request steps.
- Add an OpenAI credential for the OpenAI chat model used to write camera-move prompts and captions, or turn off OpenAI by setting
use_openai to false in the workflow settings.
- Install and configure the SocialRobot n8n community node, add your SocialRobot API key, connect your TikTok account in SocialRobot, and select the target TikTok account in the TikTok draft step.
- Review and adjust the walkthrough settings (model ID, clip duration, prompts/guardrails, hashtags, AI disclosure line, polling interval, timeout, and file limits) before enabling the workflow.
- If you enable the optional Instagram/Facebook/LinkedIn publishing steps, select the corresponding SocialRobot accounts and set the LinkedIn account ID value used by the SocialRobot API request.