See llms.txt for all machine-readable content.

Back to Templates

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

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

  1. Receives a dish photo and menu facts (dish name, ingredients, price, availability, business name, and location/link) through an n8n form trigger.
  2. Validates that an image was submitted, then reads the file metadata and plans a centered 9:16 crop for vertical video output.
  3. Uploads the image to fal storage and uses fal’s crop-image utility to produce a cropped JPG for video generation.
  4. 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.
  5. Submits an image-to-video job to Kling 3.0 on fal and polls the job status until it completes, fails, or times out.
  6. 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

  1. 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.
  2. 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.
  3. Add an OpenAI credential for the OpenAI chat model step (or set use_openai to false in the configuration step to run without OpenAI).
  4. 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.