
Image generation and editing model creating and modifying images from text or image inputs, with inpainting, virtual try-on, and style controls.
Image generation and editing model creating and modifying images from text or image inputs, with inpainting, virtual try-on, and style controls.
amazon-nova-canvasPOST /v1/images/generationsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Amazon Nova Canvas runs through POST /v1/images/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Or add "sync": true to skip polling: the request stays open and returns the finished OpenAI-style image response directly, so OpenAI SDKs work as-is. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/images/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "amazon-nova-canvas",
"prompt": "Describe what you want Amazon Nova Canvas to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/images/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "amazon-nova-canvas",
"prompt": "Describe what you want Amazon Nova Canvas to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Amazon Nova Canvas API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Text description of the image to generate. |
| task_type | enum | TEXT_IMAGE | TEXT_IMAGE, IMAGE_VARIATION, INPAINTING, OUTPAINTING, BACKGRO... | TEXT_IMAGE | INPAINTING | OUTPAINTING | IMAGE_VARIATION | COLOR_GUIDED_GENERATION | BACKGROUND_REMOVAL | VIRTUAL_TRY_ON. |
| quality | enum | standard | standard, premium | standard | premium. Premium is slower but higher fidelity. |
| negative_prompt | string | - | - | Text description of what to avoid in the image. |
| number_of_images | number | 1 | 1 to 5 | How many images to generate (1-5). |
| aspect_ratio | enum | 1:1 | 1:1, 3:4, 2:3, 9:16, 1:2, 1:3, 1:4, 4:3, 3:2, 16:9, 2:1, 3:1,... | Output aspect ratio (1:1, 16:9, 9:16, 4:3, 3:2, etc.). |
| size_scale | enum | small | small, large | Output resolution scale. Higher = larger image, slower generation. |
| cfg_scale | number | 7.5 | 1 to 20 | Prompt adherence (1.1-10). Higher = closer to prompt but less creative. |
| seed | number | - | - | Random seed for reproducibility. Same seed + prompt = same output. |
| image | string | - | - | Source image (URL or base64) for inpainting / outpainting / variation tasks. |
| reference_image | string | - | - | Reference image for style or content matching. |
| mask_image | string | - | - | Black/white mask defining the region to edit (white = edit, black = keep). |
| mask_prompt | string | - | - | Natural-language description of the region to mask for inpainting. |
| inpaint_mask_prompt | string | - | - | Same as mask_prompt, for inpainting tasks specifically. |
On EmpirioLabs, Amazon Nova Canvas is billed pay as you go: Small Standard (≤1024×1024) $0.12 per image; Small Premium (≤1024×1024) $0.18 per image; Large Standard (≤2048×2048) $0.18 per image. The live rate card on this page always matches what the API charges.
Amazon Nova Canvas is served through POST /v1/images/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Amazon Nova Canvas in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.