Génération de fonds d'écran animés avec Flux AI et Fal AI, et publication sur TikTok
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 20 nœuds.Utilise principalement des nœuds comme If, Set, Wait, FormTrigger, HttpRequest. Génération de fonds d'écran animés dynamiques en utilisant Flux AI et Fal AI, et publication sur TikTok
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (20)
Catégorie
{
"meta": {
"instanceId": "90587241b61f532dbe71be441310f86b24bd62a247fd87ce3f4b074464fa220d",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "53e29fe4-13de-4a1b-b443-1979ebb40226",
"name": "À la soumission du formulaire",
"type": "n8n-nodes-base.formTrigger",
"position": [
768,
-32
],
"webhookId": "219852ef-75c0-484a-9632-40063a333cad",
"parameters": {
"options": {},
"formTitle": "Wallpaper Poster",
"formFields": {
"values": [
{
"fieldLabel": "Topic",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Style Anime",
"fieldOptions": {
"values": [
{
"option": "Studio Ghibli"
},
{
"option": "Hayao Miyazaki"
},
{
"option": "Makoto Shinkai"
},
{
"option": "Yoshitaka Amano"
},
{
"option": "Akira Toriyama"
}
]
}
}
]
}
},
"typeVersion": 2.3
},
{
"id": "41dc894d-ac9a-4b8b-ac60-2016294d050a",
"name": "Définir l'URL",
"type": "n8n-nodes-base.set",
"position": [
1488,
-32
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9d00e8b4-24cb-48bf-ad0d-d33a021453bf",
"name": "prompt_url",
"type": "string",
"value": "=https://image.pollinations.ai/prompt/{{ $('Prompt Generator').item.json.text }}.jpg?width=720&height=1280&model=flux&nologo=true"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e6f9f829-6a75-4b02-9300-046cd5b4bdf4",
"name": "Générer une image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1664,
-32
],
"parameters": {
"url": "={{ $json.prompt_url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "55e74bb7-0680-4aa2-96e1-05a37715df76",
"name": "Télécharger l'image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1840,
-32
],
"parameters": {
"url": "https://getlate.dev/api/v1/media",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "files",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "6L6krjDWwxC9hB3i",
"name": "Late Dev"
}
},
"typeVersion": 4.2
},
{
"id": "5ad5da87-1d34-4ccd-86c1-b56d5f9053ff",
"name": "Créer une vidéo",
"type": "n8n-nodes-base.httpRequest",
"position": [
720,
336
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/minimax/hailuo-02-fast/image-to-video",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"seamless looping video with gentle, ambient motion. Add slow, continuous effects such as drifting particles, subtle light flicker, soft haze, floating dust, rippling water, moving clouds, or faint color shifts. The motion should be cyclical and loopable, with no clear start or end, maintaining a calm and dreamy Lofi vibe suitable for a background visual. Camera movement is static.\",\n \"image_url\": \"{{ $json.files[0].url }}\",\n \"prompt_optimizer\": false\n }",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "Ynx6pfNxK2MWOyHa",
"name": "Together API"
},
"httpHeaderAuth": {
"id": "Eh1sqIEM3DqrvmoW",
"name": "Fal AI 1"
}
},
"typeVersion": 4.2
},
{
"id": "669828e6-a7c9-4cef-8e4e-3350745c4983",
"name": "Attendre",
"type": "n8n-nodes-base.wait",
"position": [
880,
336
],
"webhookId": "965dfc5d-bf13-4b77-b93d-2f0cd6d91fb1",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "18c79d61-05ed-4a1e-abfe-465ace7d42c5",
"name": "Si",
"type": "n8n-nodes-base.if",
"position": [
1200,
336
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f281e5e7-0bbb-4b46-b795-c1365177a813",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "909184ed-dad3-43d9-a8cc-3084a728246d",
"name": "Obtenir le statut",
"type": "n8n-nodes-base.httpRequest",
"position": [
1040,
336
],
"parameters": {
"url": "={{ $json.status_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Eh1sqIEM3DqrvmoW",
"name": "Fal AI 1"
}
},
"typeVersion": 4.2
},
{
"id": "cda825da-a458-4130-9247-7bc06dcc87c2",
"name": "Obtenir la vidéo",
"type": "n8n-nodes-base.httpRequest",
"position": [
1360,
336
],
"parameters": {
"url": "={{ $('Create Video').first().json.response_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Eh1sqIEM3DqrvmoW",
"name": "Fal AI 1"
}
},
"typeVersion": 4.2
},
{
"id": "de43537f-caa1-4dc1-a30d-bc2f74461cdf",
"name": "Générateur de tags",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1568,
336
],
"parameters": {
"text": "=Generate exactly 5 related keywords for the topic: {{ $('On form submission').item.json.Topic }}. \nFormat them in a single line, styled as Twitter hashtags, separated by commas. \nOutput only in the format shown below, with no extra text or explanation. \nExample output: #keyword1, #keyword2, #keyword3, #keyword4, #keyword5",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "f863f307-5ae8-403f-8782-4164ad278783",
"name": "Générateur de prompt",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1184,
-32
],
"parameters": {
"text": "=Topic:\n{{ $json.Topic }}\n\nAnime style artist: {{ $json['Style Anime'] }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=Role & Purpose \nYou are an AI Agent specialized in generating one high-quality text-to-image prompt for anime wallpaper creation. Your role is to craft one visually rich, stylistically accurate, and detailed prompt descriptions that guide image generation models toward stunning anime-style backgrounds, based on any given topics.\n\nCapabilities \n- Generate a descriptive prompt for anime wallpapers.\n- Specify style details such as lighting, mood, perspective, and color palette, and in the style of defined anime artist. \n- Include environmental and character elements that enhance anime aesthetics. \n- Ensure consistency in anime art styles (studio-inspired, cel-shaded, soft painting). \n- Each prompt must be in one line of paragraph, no extra characters like quotes, dash, or hypens. \n\nInteraction Style \n- Be concise but vivid; balance brevity with detailed imagery. \n- Use structured descriptions (setting → style → mood → details). \n- Maintain a creative, aesthetic-driven tone. \n- Always ensure clarity.\n- Never include image aspect ratio or size.\n\nNotes \n- Avoid generic phrases; focus on unique scene-building details. \n- Ensure the prompt highlights \"anime style\" explicitly. \n- Always include atmosphere or mood keywords (e.g., serene, dramatic, dreamy). \n"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "f1b46418-2b1d-4c9a-b066-0063030526cb",
"name": "Tiktok Publier",
"type": "n8n-nodes-base.httpRequest",
"position": [
1856,
336
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"content\": \"{{ $('Tag Generator').item.json.text }} Epic Anime Wallpaper\",\n \"publishNow\": true,\n \"platforms\": [\n {\n \"platform\": \"tiktok\",\n \"accountId\": \"xxxxxxxxxxxxxxxxxxxxx\",\n \"platformSpecificData\": {\n \"tiktokSettings\": {\n \"privacy_level\": \"PUBLIC_TO_EVERYONE\",\n \"video_made_with_ai\": true,\n \"allow_comment\": true,\n \"allow_duet\": false,\n \"allow_stitch\": false,\n \"commercial_content_type\": \"none\",\n \"content_preview_confirmed\": true,\n \"express_consent_given\": true\n }\n }\n }\n ],\n \"mediaItems\": [\n { \"type\": \"video\", \"url\": \"{{ $('Get Video').first().json.video.url }}\" }\n ]\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "6L6krjDWwxC9hB3i",
"name": "Late Dev"
}
},
"typeVersion": 4.2
},
{
"id": "e3e9456a-177e-418a-a88a-42c26f943911",
"name": "Modèle de chat Groq",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
1184,
64
],
"parameters": {
"model": "openai/gpt-oss-120b",
"options": {}
},
"credentials": {
"groqApi": {
"id": "g20vlWa5IUn8BaKl",
"name": "Groq account"
}
},
"typeVersion": 1
},
{
"id": "827d2bd5-6880-43bd-9a2c-cd38c74ec278",
"name": "Note autocollante",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
240
],
"parameters": {
"color": 5,
"width": 832,
"height": 304,
"content": "## 2. ANIMATED VIDEO GENERATOR"
},
"typeVersion": 1
},
{
"id": "8f617a95-ac58-4051-b29a-a0ce9d8aa502",
"name": "Note autocollante 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-144
],
"parameters": {
"color": 5,
"width": 992,
"height": 336,
"content": "## 1. IMAGE GENERATOR"
},
"typeVersion": 1
},
{
"id": "1f23b989-ccc6-4875-93ee-416f716c4d69",
"name": "Note autocollante 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
240
],
"parameters": {
"color": 5,
"width": 512,
"height": 304,
"content": "## 3. POST TO TIKTOK"
},
"typeVersion": 1
},
{
"id": "0fb96474-bf17-42fa-8c3a-4552d4a83d8e",
"name": "Note autocollante 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-144
],
"parameters": {
"color": 5,
"width": 336,
"height": 336,
"content": "## START HERE"
},
"typeVersion": 1
},
{
"id": "eda1ad07-ba9e-434e-87a3-c6d653bd3c7f",
"name": "Note autocollante 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
128,
-144
],
"parameters": {
"width": 512,
"height": 688,
"content": "## Animated Anime Wallpaper TikTok Post \n### This n8n template demonstrates how to generate animated anime wallpapers and automatically post them on TikTok. \n\nBy default, the workflow creates an anime-themed image based on user input, converts it into an animated video, and then automatically publishes it to TikTok. \n\n**Possible Customizations:** \n- Replace the default **Form Trigger** with a **Scheduled Trigger**. \n- Connect a topics database (e.g., Google Sheets or Airtable) to automatically generate and post animated anime wallpapers on TikTok at regular intervals. \n\n### How It Works \n1. The user opens an n8n form and enters the desired anime wallpaper topic and style. \n2. Based on the input, **OpenAI GPT-OSS (via Groq)** generates a text-to-image prompt. \n3. The **Flux AI model on Pollination AI** generates an anime wallpaper image from the prompt. \n4. Using the generated image, the **Minimax Hailuo 02 Fast model on Fal AI** creates an animated video. \n5. The final video is automatically published to TikTok via the **GetLate API**. \n\n### Requirements \n- Groq API Key \n- Fal AI API Key \n- GetLate API connected to your TikTok account \n"
},
"typeVersion": 1
},
{
"id": "eb8ce4dc-0e9a-409e-b4fe-d07ece793330",
"name": "Note autocollante 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2064,
-144
],
"parameters": {
"color": 7,
"width": 576,
"height": 336,
"content": "## How to Use \n\n1. Open the **Groq Chat Model** node, add your **Groq API Key**, and select an LLM model. \n - By default, this template uses **OpenAI GPT-OSS 120B**. \n2. Open the **n8n Form** using either the **Test URL** or the **Production URL**. \n3. Get your API key from [getlate.dev](https://getlate.dev/) and add the credentials in both the **Upload IMG** node and the **TikTok Post** node. \n4. Get your API key from [Fal.ai](https://fal.ai/dashboard/keys) and make sure to top up credits. \n5. Add your **Fal AI credentials** to the following nodes: **Create Video**, **Get Status**, and **Get Video**. \n6. Once everything is set up, copy your **n8n Form URL** and open it in your browser to start using the workflow. \n"
},
"typeVersion": 1
},
{
"id": "55052995-06fe-4f64-8306-e65a3541d299",
"name": "Note autocollante 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2064,
240
],
"parameters": {
"color": 7,
"width": 576,
"height": 304,
"content": "## Documentation\n1. [Minimax Hailuo API on Fal](https://fal.ai/models/fal-ai/minimax/hailuo-02-fast/image-to-video/api)\n2. [Pollination AI](https://github.com/pollinations/pollinations)\n3. [GetLate.dev](https://getlate.dev/docs)\n4. [Groq API](https://console.groq.com/docs/quickstart)"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"18c79d61-05ed-4a1e-abfe-465ace7d42c5": {
"main": [
[
{
"node": "cda825da-a458-4130-9247-7bc06dcc87c2",
"type": "main",
"index": 0
}
],
[
{
"node": "669828e6-a7c9-4cef-8e4e-3350745c4983",
"type": "main",
"index": 0
}
]
]
},
"669828e6-a7c9-4cef-8e4e-3350745c4983": {
"main": [
[
{
"node": "909184ed-dad3-43d9-a8cc-3084a728246d",
"type": "main",
"index": 0
}
]
]
},
"41dc894d-ac9a-4b8b-ac60-2016294d050a": {
"main": [
[
{
"node": "e6f9f829-6a75-4b02-9300-046cd5b4bdf4",
"type": "main",
"index": 0
}
]
]
},
"cda825da-a458-4130-9247-7bc06dcc87c2": {
"main": [
[
{
"node": "de43537f-caa1-4dc1-a30d-bc2f74461cdf",
"type": "main",
"index": 0
}
]
]
},
"909184ed-dad3-43d9-a8cc-3084a728246d": {
"main": [
[
{
"node": "18c79d61-05ed-4a1e-abfe-465ace7d42c5",
"type": "main",
"index": 0
}
]
]
},
"55e74bb7-0680-4aa2-96e1-05a37715df76": {
"main": [
[
{
"node": "5ad5da87-1d34-4ccd-86c1-b56d5f9053ff",
"type": "main",
"index": 0
}
]
]
},
"5ad5da87-1d34-4ccd-86c1-b56d5f9053ff": {
"main": [
[
{
"node": "669828e6-a7c9-4cef-8e4e-3350745c4983",
"type": "main",
"index": 0
}
]
]
},
"de43537f-caa1-4dc1-a30d-bc2f74461cdf": {
"main": [
[
{
"node": "f1b46418-2b1d-4c9a-b066-0063030526cb",
"type": "main",
"index": 0
}
]
]
},
"e6f9f829-6a75-4b02-9300-046cd5b4bdf4": {
"main": [
[
{
"node": "55e74bb7-0680-4aa2-96e1-05a37715df76",
"type": "main",
"index": 0
}
]
]
},
"e3e9456a-177e-418a-a88a-42c26f943911": {
"ai_languageModel": [
[
{
"node": "f863f307-5ae8-403f-8782-4164ad278783",
"type": "ai_languageModel",
"index": 0
},
{
"node": "de43537f-caa1-4dc1-a30d-bc2f74461cdf",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"f863f307-5ae8-403f-8782-4164ad278783": {
"main": [
[
{
"node": "41dc894d-ac9a-4b8b-ac60-2016294d050a",
"type": "main",
"index": 0
}
]
]
},
"53e29fe4-13de-4a1b-b443-1979ebb40226": {
"main": [
[
{
"node": "f863f307-5ae8-403f-8782-4164ad278783",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Création de contenu, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Fariez
@kelaswfaPartager ce workflow