WhatsApp
4 min de leitura

How to Integrate Vecsy API with n8n: Automatically Generate and Share Images

Learn how to automate personalized image generation and sharing using Vecsy API and n8n, perfect for events and digital marketing.

How to Integrate Vecsy API with n8n: Automatically Generate and Share Images How to Integrate Vecsy API with n8n: Automatically Generate and Share Images

If you already use n8n to automate workflows — registrations, email blasts, WhatsApp notifications — you probably have at least one case where generating a personalized image for each user or participant without manual effort would be useful.

This tutorial shows you how to do this from scratch: create a custom card via Vecsy API within an n8n workflow and share the generated image. The example uses an event registration scenario, but the logic applies to certificates, welcome cards, social media posts, or any other case where you need image + user data.

What You’ll Need

  • A Vecsy account with API access (find it under Automation → API inside your account)
  • A template created and in Ready status on Vecsy, with dynamic fields defined
  • n8n running — self-hosted or via n8n Cloud
  • A Vecsy API token

Workflow Overview

The workflow we’ll build has three steps:

  1. Trigger — a webhook receives participant data (name, photo, email)
  2. Generate the card — an HTTP Request node calls Vecsy API and receives the image URL
  3. Share — an email or messaging node sends the image to the participant

Step 1 — Set Up the Template on Vecsy

First, the template needs to be ready. In Vecsy’s editor, create a template with the dynamic fields that will vary per participant. In our example:

  • name — participant’s name (text field)
  • photo — participant’s photo (image field)

Note the template UUID — you’ll need it for the API call. It appears in the template URL or in the API section within the platform.

Step 2 — Create the Webhook Trigger in n8n

In n8n, create a new workflow and add the Webhook node as the trigger.

Configure it like this:

  • HTTP Method: POST
  • Path: /registration (or any name that makes sense for your flow)
  • Response Mode: Respond with another node (if you want to return something to the caller) or Last node

Activate the webhook and copy the generated URL. It will look like this:



https://your-n8n.com/webhook/registration

This URL is the entry point of the workflow. On your website or registration platform, configure it to send a POST with participant data upon completion.

Example of expected payload:

json

{
  "name": "Ana Souza",
  "photo": "https://example.com/photos/ana.jpg",
  "email": "ana@example.com"
}

Step 3 — Call Vecsy API with HTTP Request

Add an HTTP Request node after the webhook.

Configure the fields:

FieldValueMethodPOSTURLhttps://www.vecsy.co/api/generate-imageAuthenticationHeader AuthHeader nameAuthorizationHeader valueBearer YOUR_TOKEN_HEREBody Content TypeJSON

In the request body, map the dynamic values coming from the webhook:

json

{
  "template_uuid": "18cc03b9-68c9-4aaf-ad74-17c8c76e0827",
  "file_format": "png",
  "name": "{{ $json.name }}",
  "photo": "{{ $json.photo }}"
}

Replace template_uuid with your template’s UUID and the field names (name, photo) with the fields you configured in Vecsy’s editor.

Expected API response:

json

{
  "url": "https://…",
  "key": "uploads/api/generate-image/…",
  "format": "png"
}

The url field contains a temporary download link for the generated image. Use this value in the next nodes of the workflow.

Note: the returned link is temporary. If your workflow needs to store the image longer, download and save it in your own storage (S3, Google Drive, etc.) before proceeding.

Step 4 — Share the Image

With the image URL in hand, the next step is to send it to the participant. Here are the two most common approaches.

Option A — Send by Email

Add the Send Email node (or Gmail, if you prefer) and configure:

  • To: {{ $('Webhook').item.json.email }}
  • Subject: Your card is ready, {{ $('Webhook').item.json.name }}!
  • Body (HTML):

html

Hello, {{ $('Webhook').item.json.name }}!

Your card has been generated. Click the link below to download:

Download my card

Your card

Option B — Send via WhatsApp (using Evolution API or Twilio)

If your workflow includes WhatsApp, add another HTTP Request node pointing to your WhatsApp instance and pass the image URL as media:

json

{
  "number": "{{ $('Webhook').item.json.phone }}",
  "mediaUrl": "{{ $json.url }}",
  "caption": "Here is your card, {{ $('Webhook').item.json.name }}! 🎉"
}

Error Handling

Vecsy API returns standardized JSON errors. The most common you might encounter:

  • 401 — Invalid or missing token. Check if the Authorization header is correct.
  • 400 — Some dynamic template field is missing or has invalid format. Make sure all template fields are sent in the request.
  • 404 — Template not found or not in Ready status. Verify the UUID and template status on Vecsy.

To handle this in n8n, add an IF node after the HTTP Request checking the status code:

  • If {{ $json.url }} exists → proceed to sending
  • If not → trigger an alert to the team or log the error

Final Workflow Result


[Webhook] → [HTTP Request: Vecsy API] → [IF: success?]
                                              ↓ yes
                                        [Send Email / WhatsApp]
                                              ↓ no
                                        [Error Log / Alert]

With this workflow, each new registration automatically generates a personalized card and delivers it to the participant without any manual intervention — regardless of volume.

Next Steps

With the basic integration working, some natural extensions:

  • Store the image in Google Drive or S3 before sending, to keep a history
  • Trigger at other times — course completion, attendance confirmation, user birthday
  • Add human approval — insert a wait node to review the card before automatic sending

For any of these cases, the base structure is the same: trigger → call Vecsy API → action with the returned URL.

Want to test the integration? Access the complete API documentation or contact the Vecsy team to set up your access. Request API access →

Pronto para testar a Vecsy?
Teste a Vecsy Gratuitamente hoje mesmo e aumente seu alcance nas mídias.
Teste grátis

Posts Relacionados

Continue lendo sobre temas similares