Create ASMR food videos from dish photos with Kling, OpenAI, and SocialRobot

Go to Workflow
0 views
Built by Socialrobot.io Socialrobot.io
Created on October 21, 2026

Description

Quick overview
This workflow collects a dish photo via an n8n form, crops and hosts it on fal, optionally uses OpenAI to generate shot prompts and social captions, renders a short Kling 3.0 ASMR-style vertical video, then delivers it to your TikTok inbox as a draft via SocialRobot.

How it works
Receives a dish photo and menu facts (dish name, ingredients, price, availability, business name, and location/link) through an n8n form trigger.
Validates that an image was submitted, then reads the file metadata and plans a centered 9:16 crop for vertical video output.
Uploads the image to fal storage and uses fal’s crop-image utility to produce a cropped JPG for video generation.
Optionally sends the cropped image and the submitted facts to OpenAI to generate 1–3 Kling shot prompts plus TikTok/Instagram/Facebook/Threads captions, otherwise falls back to built-in template prompts and captions.
Submits an image-to-video job to Kling 3.0 on fal and polls the job status until it completes, fails, or times out.
Downloads the finished video from fal, checks its file size and actual MP4 duration, and then uploads it to TikTok as an inbox draft using SocialRobot (with optional, disabled-by-default posting to Instagram Reels, Facebook Reels, and Threads).

Setup
Add a fal API key using an HTTP Header Auth credential (Authorization: Key YOUR_FAL_KEY) and select it in all fal HTTP Request steps.
Install the community node @socialrobot-io/n8n-nodes-socialrobot, add your SocialRobot API key, connect your TikTok account in SocialRobot, and select the target TikTok account in the TikTok draft step.
Add an OpenAI credential for the OpenAI chat model step (or set use_openai to false in the configuration step to run without OpenAI).
Review and adjust the settings in the configuration step (video model, shot count, duration, audio, polling/timeout limits, captions, and the AI label line), and enable the optional Instagram/Facebook/Threads SocialRobot steps if you want them to publish.

This workflow was created by Socialrobot.io and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (5)

Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured