Amazon Nova Canvas API

Image generation and editing model creating and modifying images from text or image inputs, with inpainting, virtual try-on, and style controls.

AmazonImage GenerationProprietary Endpoint

About Amazon Nova Canvas

Image generation and editing model creating and modifying images from text or image inputs, with inpainting, virtual try-on, and style controls.

inpaintingbackground removal

Amazon Nova Canvas specs

Model ID
amazon-nova-canvas
Provider
Amazon
Category
Image Generation
Input
text, image
Output
image
Endpoints
POST /v1/images/generations

Amazon Nova Canvas API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Small Standard (≤1024×1024)
per image
$0.12
Small Premium (≤1024×1024)
per image
$0.18
Large Standard (≤2048×2048)
per image
$0.18
Large Premium (≤2048×2048)
per image
$0.24
Compare on the full pricing page

How to call the Amazon Nova Canvas API

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: submit the job
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: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
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)
Full Amazon Nova Canvas API reference

Amazon Nova Canvas API parameters

Request parameters supported by the Amazon Nova Canvas API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Text description of the image to generate.
task_typeenumTEXT_IMAGETEXT_IMAGE, IMAGE_VARIATION, INPAINTING, OUTPAINTING, BACKGRO...TEXT_IMAGE | INPAINTING | OUTPAINTING | IMAGE_VARIATION | COLOR_GUIDED_GENERATION | BACKGROUND_REMOVAL | VIRTUAL_TRY_ON.
qualityenumstandardstandard, premiumstandard | premium. Premium is slower but higher fidelity.
negative_promptstring--Text description of what to avoid in the image.
number_of_imagesnumber11 to 5How many images to generate (1-5).
aspect_ratioenum1:11: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_scaleenumsmallsmall, largeOutput resolution scale. Higher = larger image, slower generation.
cfg_scalenumber7.51 to 20Prompt adherence (1.1-10). Higher = closer to prompt but less creative.
seednumber--Random seed for reproducibility. Same seed + prompt = same output.
imagestring--Source image (URL or base64) for inpainting / outpainting / variation tasks.
reference_imagestring--Reference image for style or content matching.
mask_imagestring--Black/white mask defining the region to edit (white = edit, black = keep).
mask_promptstring--Natural-language description of the region to mask for inpainting.
inpaint_mask_promptstring--Same as mask_prompt, for inpainting tasks specifically.
8 more parameters in the docs

Good to know

Task types

  • TEXT_IMAGE
  • IMAGE_VARIATION
  • INPAINTING
  • OUTPAINTING
  • BACKGROUND_REMOVAL
  • COLOR_GUIDED_GENERATION
  • VIRTUAL_TRY_ON

Mask

  • Image-based or text-prompt-based

Amazon Nova Canvas API: common questions

How much does the Amazon Nova Canvas API cost?

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.

Which endpoint does Amazon Nova Canvas use?

Amazon Nova Canvas is served through POST /v1/images/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Amazon Nova Canvas in the browser before integrating?

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.

How do I get a Amazon Nova Canvas API key?

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.

Ready to use better endpoints?

Explore our models, or contact us about business inquiries, custom deployments, or anything else.