n8n video templates
Five n8n workflows that make videos with your UberLLM key. They use n8n's own HTTP Request node, so they work on n8n Cloud and self-hosted n8n with nothing to install. Each one starts the video, waits for it, and hands you the file.
Every template on this page was imported into n8n 2.45 and run end to end against the live API on 2026-10-30.
Import one
In n8n, open a new workflow, click ⋯ (top right) → Import from URL…, and paste the template's link from the table below. (Or download the file and use Import from File….)
Open any UberLLM node → Credential → Create new → Header Auth:
- Name:
Authorization - Value:
Bearer ull_...(your key from Dashboard → Keys)
Every UberLLM node in the workflow uses this one credential.
- Name:
Edit the Settings node (prompt, model, length) and click Execute workflow.
The templates
| Template | What it does | Import link |
|---|---|---|
| Text to video with Veo 3.1 Fast | A prompt becomes an 8-second Veo 3.1 Fast clip with sound | veo-3-1-fast-text-to-video.json |
| Image to video with Kling 3.0 | A picture becomes a 5-second Kling 3.0 clip; the picture is the first frame | kling-image-to-video.json |
| Faceless Shorts pipeline | A chat model writes the script, an image model draws each scene, a video model animates each one | faceless-shorts-pipeline.json |
| UGC-style product ad | From one product photo: a vision model plans the ad, an image model puts the product in a creator's hand, Kling animates it | ugc-product-ad.json |
| Veo 3.1 after the Gemini API shutdown | The same steps as the popular Gemini "Generate a video" workflows, on UberLLM | gemini-veo-replacement.json |
The source, a README and the script that builds the files are on GitHub: PSA-Team-source/uberllm-n8n-templates.
Coming from the Gemini Veo node
Google turned off the Veo 3.1 preview models in the Gemini API on 22 October 2026 (Google's notice), so n8n workflows built on the Google Gemini → Generate a video node stopped working. To move one:
- Import gemini-veo-replacement.json next to your workflow.
- Delete your Generate a video node and paste the nodes from Generate Video with Veo to Video in its place.
- Swap the model name:
| Gemini model | UberLLM model |
|---|---|
veo-3.1-generate-preview |
fal-ai/veo3.1 |
veo-3.1-fast-generate-preview |
fal-ai/veo3.1/fast |
veo-3.1-lite-generate-preview |
fal-ai/veo3.1/lite |
| Veo 3.1 from a picture | fal-ai/veo3.1/image-to-video (add image_url) |
| Veo 3.1 Fast from a picture | fal-ai/veo3.1/fast/image-to-video (add image_url) |
The Video node gives what the Gemini node gave: the file as binary data, and a url.
The UberLLM link needs your key and is kept about 3 hours, so a step that posts a video by
link (Instagram, Blotato) needs the file uploaded first (Google Drive, S3), or add
output_upload_url (a presigned upload link) to the start request and UberLLM puts the
file there.
How the waiting works
The start request answers at once with the job's id and max_cost_usd. The workflow
then waits 15 seconds, asks GET /v1/video/generations/{id}, and loops until the job
has succeeded. A job that ends as failed or expired stops the workflow with the
reason. After 60 checks (15 minutes) it stops waiting; the job still finishes and shows
in Dashboard → Activity.
The start request sends an Idempotency-Key made from the n8n execution id, so a retry
after a dropped connection returns the same job instead of starting (and paying for) a
second one. Every request also sends X-UberLLM-Source: n8n, and video jobs carry
metadata.template, so Activity shows which workflow made each one.
To be told when a job ends instead of polling, add callback_url (an n8n Webhook URL)
to the start request; see Callbacks.
What you pay
- The most a job can cost is set before it starts. The start reply carries
max_cost_usd, which is held from your balance, and the job is never billed more. Sendmax_cost(each template's Settings has one) and a job that could cost more is refused before anything is charged."validate": truereturns the price without making anything. - A video that fails or runs out of time costs nothing. The whole hold comes back.
- Credit you buy does not expire while your account is open.
- No UberLLM fee on requests. Adding credit by card costs 5.5% + $0.50.
Other ways in
- n8n community node: n8n-nodes-uberllm adds an UberLLM node with Chat, Generate Image, Generate Video (start and wait) and Get Job operations, and model lists filled from the live catalog.
- ComfyUI: comfyui-uberllm adds video and image nodes with the same key.
- Chat models in n8n's AI Agent: see n8n.
- The API itself: Images, video, music and speech.