Leonardo AI
The robomotion leonardoai CLI connects to Leonardo AI for AI-powered image generation and editing. It generates images from text prompts, upscales images, removes backgrounds, manages generation jobs, and supports various AI models and style presets.
When to use
- Generate images from text prompts using Leonardo AI models
- Upscale images or remove backgrounds
- Track and retrieve generation job results
- List available models and manage image workflows
Prerequisites
robomotionCLI installed- Package installed:
robomotion install leonardoai - Leonardo AI API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install leonardoai - Connect with session:
robomotion leonardoai leonardoai_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion leonardoai leonardoai_generate_image --client-id "<client-id>" --prompt <text> --session-id "<session-id>" --output json - Disconnect when done:
robomotion leonardoai leonardoai_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion leonardoai connect --session --output jsonConnect to Leonardo AI API using an API keyrobomotion leonardoai create_generation --connection_id --in-prompt [--opt-neg-prompt] [--1] [--opt-width] [--opt-height] [--7] [--generation_id] [--image_id] [--0.5] [--30] [--opt-custom-model-id] [--opt-model-id] [--opt-control-net] [--opt-control-net-type] [--opt-preset-style] [--opt-prompt-magic] [--opt-public] [--opt-scheduler] [--opt-sd-version] [--opt-tiling] --session-id "<session-id>" --output jsonGenerate images from a text prompt using Leonardo AIrobomotion leonardoai create_upscale --connection_id --generation_id --session-id "<session-id>" --output jsonCreate an upscaled version of a generated imagerobomotion leonardoai delete_generation --connection_id --generation_id --session-id "<session-id>" --output jsonDelete a generation by its IDrobomotion leonardoai disconnect --connection_id --session-id "<session-id>" --output jsonDisconnect from Leonardo AI API and clean up the connectionrobomotion leonardoai get_generation --connection_id --generation_id --session-id "<session-id>" --output jsonGet details of a generation by its IDrobomotion leonardoai get_user_details --connection_id --session-id "<session-id>" --output jsonGet details of the authenticated Leonardo AI userrobomotion leonardoai get_variation --connection_id --variation_id --session-id "<session-id>" --output jsonGet details of a variation by its IDrobomotion leonardoai delete_image --connection_id --image_id --session-id "<session-id>" --output jsonDelete an uploaded image by its IDrobomotion leonardoai get_image --connection_id --image_id --session-id "<session-id>" --output jsonGet details of an uploaded image by its IDrobomotion leonardoai list_generations --connection_id --user_id [--0] [--10] --session-id "<session-id>" --output jsonList all generations for a specific userrobomotion leonardoai upload_image --connection_id --in-image-path [--opt-image-type] --session-id "<session-id>" --output jsonUpload an image from local file for use as init image
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)