🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Discord + Google Forms, product creatives done for you

Lisa Granqvist Partner Workflow Automation Expert

You finally get the product details… then the real work starts. Turning a brief into on-brand images and a short video usually means chasing files, rewriting prompts, waiting on render jobs, and still ending up with “almost right” assets.

This product creatives automation hits e-commerce marketers hardest, but founders and creative ops folks feel it too. You need consistent creatives at speed, without adding another person to the loop or spending your evenings fixing prompts.

This workflow takes one Google Form submission and returns finished asset URLs (two images plus a short video), with Discord calling out errors immediately. You’ll see how it works, what you need, and where you can customize it.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Discord + Google Forms, product creatives done for you

Why This Matters: Turning briefs into creatives is a bottleneck

In most teams, “make creatives” is a messy chain of tiny steps. Someone pastes specs into a doc. Someone else tries to write prompts. Images get generated, but the file format is wrong, or the background doesn’t match the brand, or the model looks off. Then you repeat the whole thing for video, which adds waiting, exporting, uploading, and another round of links. The worst part is the context switching. You lose the thread, and quality slips because you’re rushing.

It adds up fast. Here’s where it breaks down in real life:

  • Creative requests come in half-structured, so you spend about 30 minutes just clarifying before anything gets made.
  • Prompt quality varies by person, which means “consistent” assets are basically luck.
  • Video generation introduces waiting and status checks, and someone still has to babysit the job.
  • Asset links get scattered across chats and drives, so launching a campaign turns into another scavenger hunt.

What You’ll Build: Google Form in, image + video URLs out

You’ll set up an n8n workflow that starts with a simple product intake form and ends with ready-to-use URLs for your creatives. When a new form response comes in, the workflow maps the inputs (product details, style notes, creative direction) into a structured schema, then uses AI agents to turn that into strong, consistent prompts. It generates a first product image, uploads it to your hosting so it’s accessible by URL, then analyzes that image to create a second prompt that adds a model. After the model image is generated and uploaded, the workflow uses that visual to guide a short cinematic video prompt, kicks off a video generation job, polls for completion, fetches the finished video file, uploads it, and returns the links in a clean response. If something fails anywhere, Discord gets the alert right away, so you’re not guessing what broke.

The workflow begins at the form submission (or a chat-based test trigger if you want to prototype faster). From there, it goes prompt → generate → upload → analyze → prompt again, and then repeats that pattern for the video with a wait-and-check loop. Finally, it posts key outputs to Discord and returns a tidy HTML response with URLs you can hand off instantly.

What You’re Building

Expected Results

Say you launch 10 products a week and you want two images plus a short video for each. Manually, even a “fast” process can be about 30 minutes per image and about 45 minutes for a simple video pass, so you’re looking at roughly 2 hours per product, or about 20 hours a week. With this workflow, the hands-on part is mostly the brief (about 5 minutes) and a quick review of outputs, while generation runs in the background. For most teams, that’s close to two full workdays back each week.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Forms to collect product briefs consistently.
  • Discord for error alerts and output posts.
  • OpenRouter account for AI agents and prompt generation.
  • GOAPI account to generate the final video.
  • Media hosting platform to upload assets and return URLs.

Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and test the workflow end to end once.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A product brief comes in. A Google Form submission triggers the workflow, then n8n maps the fields into the exact structure the AI agents expect (so you’re not fighting messy input every time).

The workflow writes better prompts than most humans will. OpenRouter/Gemini chat models and agent nodes turn your plain-language description into a detailed image prompt, then parse the response into a predictable schema.

Images are generated, uploaded, and analyzed. n8n calls your image generation API, converts base64 into real files, uploads them to your media host, then uses visual analysis to create the next prompt (first product-only, then a model version).

A video task runs with built-in waiting. The workflow creates the video generation job, checks status on an interval, fetches the finished file once it’s ready, and uploads it for a final URL.

You can easily modify the creative style and output destinations to match your brand. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the intake form that starts the product image generation flow and optionally review the chat trigger used for testing.

  1. Open Product Intake Form and confirm the Form Title is set to Image Generation Form and Form Description is Form for generating a product image.
  2. Verify the form fields include A detailed description of the product. (required), Text to inlucde in Product (optional), and the dropdowns for E-commerce Product Options, Jewelry Product Options, Electronics Product Options, and Food Photography Options.
  3. Optional: Review Test Chat Trigger if you want a chat-based entry point; note that it is disabled in the workflow and should be enabled only for testing.
Tip: Keep the form option strings intact, as they are concatenated later into a single prompt field in Map Form Inputs.

Step 2: Map Form Data into Prompt Inputs

Transform raw form responses into a consistent payload for the AI prompt builder.

  1. Open Map Form Inputs and confirm the assignments map fields to: description = {{$json['A detailed description of the product.']}}, text = {{$json["Text to inlucde in Product (optional)"]}}.
  2. Ensure productOptions concatenates all dropdown options using {{$json["E-commerce Product Options"].toJsonString().replaceAll('"','')}}{{ $json['Jewelry Product Options'].toJsonString().replaceAll('"','') }}{{ $json['Electronics Product Options'].toJsonString().replaceAll('"','') }}{{ $json['Food Photography Options'].toJsonString().replaceAll('"','') }}.
  3. Confirm the flow connects Product Intake FormMap Form InputsProduct Prompt Builder.
⚠️ Common Pitfall: If any dropdown field label changes, update the corresponding expression in Map Form Inputs to avoid empty prompt data.

Step 3: Set Up Prompt Generation and Parsing (AI/LLM)

Configure the AI agents, language models, and output parsers that transform user input into structured prompts.

  1. In Product Prompt Builder, verify the prompt text is =About Product : {{ $json.description }}

    Text On Product: {{ $json.text }}

    Description: {{ $json.productOptions }}
    and that Has Output Parser is enabled.
  2. Open Parse Product Schema and keep the manual schema as provided. This is a parser sub-node; credentials should be added to the parent model node.
  3. Connect language models to Product Prompt Builder: OpenRouter Chat Model A and Gemini Chat Model A. Credential Required: Connect your openRouterApi credentials in OpenRouter Chat Model A. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model A.
  4. In Model Prompt Composer, confirm the prompt text is =Here is the Product : {{ $json.content.parts[0].text }}. Please generate an image prompt. and keep Has Output Parser enabled.
  5. Open Parse Model Schema and keep the manual schema as provided. This is a parser sub-node; credentials should be added to the parent model node.
  6. Connect language models to Model Prompt Composer: OpenRouter Chat Model B and Gemini Chat Model B. Credential Required: Connect your openRouterApi credentials in OpenRouter Chat Model B. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model B.
  7. For the creative video prompt, keep Creative Direction Agent configured with the system message and prompt text =Image Details is given Below:
    ```
    {{ $json.content.parts[0].text }}
    ```
    . Parse Video Schema is a parser sub-node; add credentials to the parent model node.
  8. Connect language models to Creative Direction Agent: OpenRouter Chat Model C and Gemini Chat Model C. Credential Required: Connect your openRouterApi credentials in OpenRouter Chat Model C. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model C.
Tip: The parser nodes (Parse Product Schema, Parse Model Schema, Parse Video Schema) do not take credentials—add credentials to the connected LLM nodes instead.

Step 4: Configure Image Generation and Media Hosting

Set up the HTTP requests and file conversions that generate and host the images.

  1. Open Image Generation API and confirm the URL is https://openrouter.ai/api/v1/chat/completions with the JSON body using the product prompt fields. Credential Required: Connect your openRouterApi credentials.
  2. In Extract Base64 Data, confirm image_string uses {{$json.choices[0].message.images[0].image_url.url.split(',')[1]}} to extract base64 content.
  3. In Binary File Converter, ensure Operation is toBinary and Source Property is image_string.
  4. In Media Upload Request, confirm the URL is http://homelab-mediahosting.4m6m9w.easypanel.host/api/1/upload with Content Type set to multipart-form-data. Credential Required: Connect your httpHeaderAuth credentials.
  5. In Derive Image Link, set url to {{$json.image.image.url.replaceAll('http', 'https')}} to force HTTPS.
  6. Repeat the same pattern for the model image path: Model Image GeneratorExtract Base64 Data BBinary File Converter BMedia Upload Request BDerive Image Link B. Credential Required: Connect your openRouterApi credentials in Model Image Generator and httpHeaderAuth in Media Upload Request B.
⚠️ Common Pitfall: Ensure your media host accepts the binary field named source as configured in the body parameters of Media Upload Request and Media Upload Request B.

Step 5: Analyze Images and Create Creative Directions

Run visual analysis on hosted images and produce model and video prompts.

  1. In Product Visual Analyzer, keep Resource set to image and Image URLs set to {{$json.url}}. Credential Required: Connect your googlePalmApi credentials.
  2. In Creative Visual Analyzer, keep Resource set to image and Image URLs set to {{$json.url}}. Credential Required: Connect your googlePalmApi credentials.
  3. Ensure Derive Image Link B outputs to both Post Image to Discord and Creative Visual Analyzer in parallel to send the hosted link while also analyzing the image.
  4. Confirm Product Visual Analyzer feeds into Model Prompt Composer, and Creative Visual Analyzer feeds into Creative Direction Agent.
Tip: The parallel execution after Derive Image Link B ensures the Discord post and creative analysis happen simultaneously, which speeds up the workflow.

Step 6: Configure Video Task Creation and Polling

Set up the video generation request and the polling loop that waits for completion.

  1. In Video Task Creator, confirm the URL is https://api.goapi.ai/api/v1/task and the JSON body includes {{$json.output.video_prompt.replaceAll('"', '**').replaceAll('\n', '')}} and {{$('Derive Image Link B').item.json.url}}. Credential Required: Connect your httpHeaderAuth credentials.
  2. In Status Check Request, set the URL to =https://api.goapi.ai/api/v1/task/{{ $json.data.task_id }}. Credential Required: Connect your httpHeaderAuth credentials.
  3. In Processing Check, ensure the conditions check {{$json.data.status}} equals processing or pending, then loop to Delay Interval when still running.
  4. When the status is complete, allow the flow to continue to Fetch Video File and then Media Upload Request C. Credential Required: Connect your httpHeaderAuth credentials in Media Upload Request C.

Step 7: Configure Output Delivery

Publish the final media links to Discord and build the HTML response page.

  1. In Post Image to Discord, confirm the message is =Product Image - {{ $('Derive Image Link').item.json.url }}
    Final Image - {{ $json.url }}
    . Credential Required: Connect your discordWebhookApi credentials.
  2. In Build HTML Response, keep the HTML template intact and ensure the image links reference {{ $('Derive Image Link').item.json.url }} and {{ $('Derive Image Link B').item.json.url }}.
  3. Verify that Post Image to Discord outputs to Build HTML Response as the final response step.

Step 8: Add Error Handling

Ensure failures are reported to Discord via the error trigger path.

  1. Open Error Catch Trigger and confirm it connects to Dispatch Error Alert.
  2. In Dispatch Error Alert, keep the content value =Error Occured - {{ $json.execution.error.message }}. Credential Required: Connect your discordWebhookApi credentials.

Step 9: Test and Activate Your Workflow

Run an end-to-end test and then activate the workflow for production use.

  1. Click Execute Workflow, submit a test response through Product Intake Form, and watch the flow from Map Form Inputs through image generation and upload nodes.
  2. Confirm success by checking that Post Image to Discord posts both URLs and Build HTML Response renders a page with two images and download links.
  3. Trigger an error scenario (e.g., revoke a credential temporarily) and verify Dispatch Error Alert posts to your Discord webhook.
  4. Once validated, toggle the workflow to Active to run in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • OpenRouter or Gemini credentials can expire or need specific permissions. If things break, check the credentials section in n8n and confirm the key still has access to the models you selected.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Discord posting can fail if the bot loses access to the channel. Re-check the Discord app permissions and verify the channel ID in the Discord node settings.

Quick Answers

What’s the setup time for this product creatives automation?

About 30 minutes if your accounts and API keys are ready.

Is coding required for this product creatives automation?

No. You’ll connect services, paste a few API keys, and test with one sample product brief.

Is n8n free to use for this product creatives automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenRouter/Gemini usage plus your image/video generation API costs.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this product creatives automation workflow for different use cases?

Yes, and you should. Swap the media destination by changing the “Media Upload Request” nodes to your own host (Google Drive works if it returns direct links). You can also adjust brand style by editing the agent prompts in “Product Prompt Builder” and “Creative Direction Agent,” and tighten quality control by changing what the schema parsers require in “Parse Product Schema” and “Parse Video Schema.”

Why is my Discord connection failing in this workflow?

Usually it’s permissions. Confirm the bot is in the server, has access to the target channel, and that the channel ID in the Discord nodes matches the channel you want. If it worked before and suddenly stopped, reconnect the Discord credential in n8n. Also check rate limits if you’re posting lots of images in a short burst.

What volume can this product creatives automation workflow process?

If you self-host n8n there’s no execution limit (it mainly depends on your server and your AI/video providers). In practice, teams often run 20–50 product briefs a day with queueing, because video generation and status polling are the slowest part.

Is this product creatives automation better than using Zapier or Make?

Often, yes, because this workflow needs branching, file handling (base64 to binary), and “wait then check status” logic that gets awkward and expensive in simpler tools. n8n also lets you keep everything in one place: form intake, AI prompting, image generation calls, uploads, and error routing to Discord. That said, if your flow is just “form → create a task → send a Slack message,” Zapier or Make is usually quicker to set up. This one is closer to a mini production line. If you’re on the fence, Talk to an automation expert and we’ll help you pick the right approach.

Set this up once, and the “make creatives” bottleneck stops running your week. The workflow handles the repetitive production loop so you can focus on launches, testing, and growth.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal