Problem with leonardo.ai module

Hi everyone :waving_hand:

I’m working on a real estate automation project using Make.com, where images are generated daily based on prompts stored in a Google Sheet (scheduled execution). The image generator is Leonardo.ai and I’m using the official module.

Here’s the flow I’m trying to implement:

  1. Scenario runs on schedule, pulling prompts from Google Sheets (one per row).
  2. Leonardo.ai is supposed to generate an image based on the prompt.
  3. Once the image is ready, the download URL should be retrieved and saved back to the Google Sheet.
  4. Image is then posted on social media using modules like Facebook/Instagram.

:cross_mark: The main problems:

  • Even with Sleep 300s or longer, Leonardo.ai rarely returns the final image correctly.
  • The output is either missing, null, or just contains placeholder data, even though credits were deducted and generation completed on Leonardo’s side.
  • Images are not ready when Make resumes execution — it proceeds too early.
  • Tried switching to All-Images.ai → triggers work, but clicking “Voir” gives a blank screen or leads to no usable image output.
  • The generated image, when received, often contains major rendering errors (e.g. missing hands, broken faces) or completely wrong content (e.g. military scene if prompt contains “Russian”).
  • Can’t use Watch Image Generation from Leonardo.ai in a clean way without breaking scheduled flow from Google Sheets.
  • Additionally, we would like to use advanced features like photoReal, alchemy, or upscaling, but can’t see where to insert these parameters in the current module.

:white_check_mark: What I need:

  • A stable and recommended structure that allows me to:
    • Run on a fixed schedule
    • Pull data from Google Sheets
    • Generate image via Leonardo.ai using advanced settings
    • Wait until image is 100% ready
    • Capture working image URL
    • Post-process or publish that image

If there’s a working solution using Leonardo + Watch webhook + Google Sheets in a clean, multi-step setup, I’d love to see an example or blueprint! :folded_hands:


Thanks in advance to anyone who can guide me. Happy to share full JSON blueprint privately if that helps.
– Ashot

| :repeat_button: Leonardo.ai Module (Make.com) | Returns image URL immediately after requesting generation |
| :three_o_clock: Problem | The image physically does not exist on the server yet (the server returns 403 Access Denied or 404 Not Found) |
| :outbox_tray: Effect | Facebook and Instagram modules receive an invalid link → error Missing value of required parameter 'url' or invalid URL |
| :collision: Consequence | The entire scenario crashes or the post is not published |
| :cross_mark: Sleep (even 300s) | Does not solve the problem - time needed for generation may vary (sometimes 2 min, sometimes 10 min) |
| :cross_mark: Leonardo does not have a webhook | You cannot use Watch Image Generation like in All-Images.ai

Hi Ashot.

Could you share screenshots of your scenario?

It shouldn’t be necessary to include a Sleep. The Generate an Image module executes synchronously, waiting up to 300s for Leonardo.ai to generated the image (which should be long enough for most uses - but see later).

Rendering errors or wrong content are potential problems with any AI image generator - these are unlikely to be due to the Make app.

Biases exist in the training data for all AI models. Other examples include model biases twoards facial hair for all male characters for example. Careful prompt engineering (and the use of Leonardo.ai negative prompts) can help with this. Leonardo.ai has some great tips on this in their help archive.

Alchemy and PhotoReal options are available if you toggle the Show advanced settings switch at the foot of the Generate an Image panel.

You can generate upscaled images in a few different ways:

  • For an existing image, you can use the separate Upscale an Image (Universal Upscaler) module, which uses the Ultra upscaler
  • Generating a new image with the Phoenix model and selecting the Ultra mode in the module (Ultra mode not available in the Generate an Image module at present - requires use of the Make an API Call module)
  • Using the upscaleRatio parameter in the module (available under the Show advanced settings switch - requires Leonardo.ai Enterprise subscription)

If 300s might not be long enough for some of your generations, you would need to use a different approach. Leonardo.ai’s API doesn’t provide a webhook notification as you noted, so instead it would be necessary to implement a polling mechanism.

In this case you’d use the Make an API Call module to send your own request payload to Leonardo.ai’s Create a Generation of Images endpoint.

Using the returned generationId, you’d need to loop or recurse using the Make an API Call module and the Get a Single Generation endpoint to check on the status of the request and receive the image when completed.