Skip to main content

Get Variation

Retrieves details and status of a variation job, including the upscaled image when complete.

Common Properties​

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.

Inputs​

  • Connection Id (String) - Connection ID from the Connect node (optional if API Key credentials are provided directly).
  • Variation ID (String) - ID of the variation to retrieve (from Create Upscale node).

Options​

  • API Key - Leonardo AI API key (optional if using Connection ID).

Outputs​

  • Variation (Object) - Variation details including:
    • Status (PENDING, COMPLETE, FAILED)
    • Upscaled image URL when complete
    • Variation type
    • Timestamps
    • Image metadata

How It Works​

The Get Variation node retrieves information about a variation job. When executed, the node:

  1. Validates the variation ID is not empty
  2. Sends a request to Leonardo AI API to fetch variation details
  3. Returns the complete variation object with status and image URL

Requirements​

  • Valid Leonardo AI API key (via Connection ID or credentials)
  • Valid variation ID from a Create Upscale node

Error Handling​

The node will return specific errors in the following cases:

  • Empty variation ID - "Variation ID cannot be empty. Please provide the ID of the variation to retrieve."
  • API error - "Failed to get variation. API error {{status}}: {{details}}"
  • Runtime error - "Failed to get variation: {{details}}. Please verify the variation ID and try again."

Usage Examples​

Check Upscale Status​

Poll variation status until complete:

  1. Create Upscale and get variation ID
  2. Wait a few seconds (use Delay node)
  3. Get Variation to check status
  4. If status is "COMPLETE", extract image URL
  5. If "PENDING", wait and check again

Download Upscaled Image​

Retrieve the upscaled image:

// After calling Get Variation
const variation = $.variation;

if (variation.status === 'COMPLETE') {
const imageUrl = variation.url;
// Download the upscaled image from URL
} else if (variation.status === 'PENDING') {
// Still processing - wait longer
} else if (variation.status === 'FAILED') {
// Upscaling failed - handle error
}

Wait for Upscale Completion​

Automated waiting loop:

  1. Create Upscale
  2. Loop:
    • Wait 5 seconds (Delay node)
    • Get Variation
    • Check status
    • If COMPLETE, exit loop with image URL
    • If FAILED, handle error
    • If PENDING, continue loop
  3. Download completed image

Compare Original and Upscaled​

Compare before and after:

// Get original generation
const generation = $.generation;
const originalUrl = generation.generated_images[0].url;

// Get upscaled variation
const variation = $.variation;
const upscaledUrl = variation.url;

// Compare dimensions and quality
console.log(`Original: \$\{originalUrl\}`);
console.log(`Upscaled: \$\{upscaledUrl\}`);

Batch Retrieve Upscales​

Get multiple upscaled images:

const variationIds = [
'var-id-1',
'var-id-2',
'var-id-3'
];

const upscaledImages = [];

variationIds.forEach(varId => {
// Get Variation for each
// Extract URL if complete
// Add to upscaledImages array
});

Usage Notes​

  • Upscaling is asynchronous - poll this node to check status
  • Recommended polling interval: every 5-10 seconds
  • Status values: PENDING (processing), COMPLETE (ready), FAILED (error)
  • Image URL is available only when status is COMPLETE
  • The URL points to the high-resolution upscaled image
  • Download the image promptly as URLs may be temporary
  • Failed variations may include error details
  • Typical upscaling time: 10-30 seconds
  • Use in a loop to wait for completion
  • The variation object contains the upscaled image metadata
  • Original generation remains available separately
  • Multiple calls with same variation ID return same result
  • Useful for retrieving high-quality final outputs