AI image generation on AWS · the 2026 production guide

AI image generation on AWS — the models, the prompting, and the path to production.

A neutral, build-grade walkthrough of image generation on Amazon Bedrock: the three model families (Amazon Nova Canvas, Titan Image Generator, Stability AI Stable Image) compared on quality, control and price; the prompting techniques that actually move output (structure, style, negative prompts, seeds, classifier-free guidance); the editing toolkit (inpainting, outpainting, variations, background removal); the production patterns for batch generation and S3 + CloudFront delivery; real per-image economics; and the watermarking, safety and licensing facts you need before a single image ships.

models on Bedrock
3 families
cost per image
$0.008–$0.12
max resolution
up to 2048²
editing modes
6+
TL;DR
  • Amazon Bedrock hosts three image-generation families behind one API: Amazon Nova Canvas (the 2025 flagship — strong prompt adherence, built-in editing, conditioning), Amazon Titan Image Generator (G1 v2 — reliable, cheap, invisible-watermarked), and Stability AI Stable Image (Ultra, Core, and SD3.5 — the photographic / stylistic specialist). One InvokeModel call, one IAM role, one bill.
  • Prompting is structure, not magic words. A reliable prompt names the subject, the composition, the lighting, the medium/style, and the quality bar — in that rough order — and pairs a negative prompt to subtract what you do not want. Seeds make a result reproducible; classifier-free guidance (cfgScale) trades prompt-faithfulness against diversity. These four levers (prompt, negative prompt, seed, cfgScale) explain ~90% of output quality.
  • In production the cost that matters is per-image, not per-token, and it ranges from roughly $0.008 (Titan standard 512²) to ~$0.12 (Stable Image Ultra at high resolution). The real engineering is the pipeline around the model: batch generation, S3 storage with a CloudFront CDN in front, content moderation, and watermark/provenance handling. Get those right and image-gen is a $0 marginal-cost-to-the-founder line item when the build is AWS-funded.
the landscape

IWhy image generation on AWS is a Bedrock decision first

You can run image models a dozen ways — a hosted API from a model lab, a GPU instance running an open checkpoint, a third-party SaaS. On AWS the centre of gravity is Amazon Bedrock, because it turns "which model" into a runtime parameter instead of an infrastructure project.

Bedrock exposes image models through the same InvokeModel surface it uses for text: you pass a JSON body, you get bytes (base64-encoded PNGs) back. There are no GPUs to provision, no checkpoints to download, no container to keep warm. The image model is a serverless endpoint behind your AWS account's IAM, billed per image generated rather than per GPU-hour rented. For most teams that is the decisive difference — the alternative, standing up your own diffusion serving stack on EC2 or SageMaker, only pays off at very high, very steady volume.

The trade you accept is the standard managed-service trade. You get the models AWS and its partners choose to host, at the versions they choose to expose, with the parameters they surface. You give up the ability to load an arbitrary community fine-tune or LoRA the day it drops on a model hub. For the overwhelming majority of commercial image work — product photography, marketing creative, thumbnails, synthetic data — the hosted models are more than sufficient, and the operational savings are large. Teams that genuinely need bespoke checkpoints or LoRA stacks self-host on SageMaker or raw EC2 with Inferentia/GPU; everyone else uses Bedrock.

The second reason AWS is a coherent home for image generation is everything downstream of the model. The images have to land somewhere (S3), be served fast and cheap to users (CloudFront), be moderated (Rekognition or Bedrock Guardrails), and sometimes be tracked for provenance (invisible watermarks). All of that is native AWS plumbing that sits naturally beside a Bedrock call. The model is one box in the diagram; the pipeline is the product.

A note on framing for the rest of this guide: "image generation" here means text-to-image and image-to-image inference for production use — generating, editing, and delivering pictures at scale — not training image models from scratch, which is a different (and far more expensive) discipline.

the three families

IIThe three model families on Bedrock — what each is for

Bedrock's image catalogue is three families, each with a clear centre of gravity. Picking well is mostly about matching the family to the job rather than chasing a single "best" model.

The honest summary: Nova Canvas is the default for most new builds because it pairs strong prompt adherence with built-in editing and conditioning; Titan is the cheap, dependable workhorse with the broadest track record and a built-in invisible watermark; Stable Image is the one you reach for when you want photographic realism or a specific artistic register that the Amazon models render more conservatively.

Amazon Nova Canvas — the 2025 flagship

What it is: Amazon's state-of-the-art image model, launched alongside the Nova family in late 2024 and the default recommendation for new image work on Bedrock in 2026. Model ID amazon.nova-canvas-v1:0.

Strengths: high prompt adherence (it follows multi-clause prompts and counts objects more reliably than older models), built-in editing operations (inpainting, outpainting, variation, background removal) exposed through the same API, and conditioning — you can guide generation with a reference image using canny-edge or segmentation conditioning to control layout while letting the model fill in style.

Controls: resolution up to 2048×2048, an explicit negativeText field, cfgScale, seed, and up to 5 images per request. Outputs carry an invisible watermark and pass through integrated content moderation.

Use it for: ecommerce product imagery, marketing creative with specific composition requirements, and any workflow that needs generate-then-edit in the same model rather than bolting an editor on afterwards.

Amazon Titan Image Generator — the dependable workhorse

What it is: Amazon's first-party image model, now at G1 v2 (amazon.titan-image-generator-v2:0, with v1 still available). The reliable, inexpensive option with the longest production track record on Bedrock.

Strengths: low and predictable per-image cost, solid general-purpose quality, and a feature set that covers text-to-image, image variation, inpainting, outpainting, and (in v2) image conditioning and background removal. Every Titan image ships with an invisible watermark by default — useful when provenance is a compliance requirement.

Controls: standard and premium quality tiers, resolutions up to 1408×1408, negativeText, cfgScale, seed, and up to 5 images per request. The two-tier quality model is the main cost lever: standard for drafts and high volume, premium when the output is the final asset.

Use it for: high-volume generation where unit cost dominates, internal tooling, synthetic-data generation, and any pipeline that wants a built-in watermark without extra work.

Stability AI Stable Image — the photographic / stylistic specialist

What it is: Stability AI's models on Bedrock — Stable Image Ultra (stability.stable-image-ultra-v1:0), Stable Image Core (stability.stable-image-core-v1:0), and Stable Diffusion 3.5 Large. Ultra is the top-quality tier, Core is the speed/price tier, SD3.5 sits in between with strong typography and prompt understanding.

Strengths: photographic realism, fine-grained stylistic range, and notably better in-image text rendering than older diffusion models. This is the family teams pick when "it has to look like a real photo" or "it has to nail a specific art direction" is the brief.

Controls: negative_prompt, seed, an aspect_ratio selector (1:1, 16:9, 3:2, and more) rather than raw pixel dimensions, and an output-format choice. Note the snake_case field names — the Stability request schema differs from the Amazon models' camelCase, which matters when you write the integration.

Use it for: hero marketing imagery, editorial and lifestyle visuals, stylised brand creative, and anywhere photographic fidelity or art direction is the whole point.

side by side

IIIThe three families, compared on the axes that matter

Quality is subjective and version-dependent; the durable differences are in control surface, watermarking, editing support and price. Those are the axes that should drive the choice.

Bedrock image models · 2026 capability + control comparison
FamilyBest atMax resolutionEditing built inInvisible watermarkIndicative cost / image
Nova CanvasPrompt adherence + edit-in-place + conditioning2048×2048Inpaint, outpaint, variation, bg-removalYes (default)$0.04–$0.08
Titan G1 v2Cheap, dependable, high volume1408×1408Inpaint, outpaint, variation, bg-removalYes (default)$0.008–$0.04
Stable Image UltraPhotographic realism, top quality~1MP (aspect-ratio based)Via separate edit endpointsNo (by default)$0.08–$0.12
Stable Image CoreFast, lower-cost Stability output~1MP (aspect-ratio based)Via separate edit endpointsNo (by default)$0.03–$0.04
SD 3.5 LargeTypography + balanced quality/price~1MP (aspect-ratio based)Via separate edit endpointsNo (by default)$0.04–$0.07
Costs are indicative per-image ranges for on-demand inference and vary by resolution, quality tier and region — always confirm against the live Bedrock pricing page. The watermark column is the operational tell: Amazon models embed provenance by default; Stability models leave it to you. Resolution for Stability is governed by aspect ratio at roughly one megapixel rather than an explicit pixel ceiling.
prompting technique

IVPrompting that works — structure, style, negatives, seeds

There are no magic words. There is structure. A prompt is a specification, and the models reward specifications that name the right things in a sensible order, then subtract the unwanted with a negative prompt.

The reliable structure is subject → composition → lighting → medium/style → quality bar. "A ceramic coffee mug" is a subject. "A matte-white ceramic coffee mug, centred, three-quarter view, on a light oak table, soft diffused window light from the left, shallow depth of field, product photography, sharp focus, high detail" is a specification. The second prompt does not produce a better image because it is longer; it produces a better image because every clause removes a degree of freedom the model would otherwise resolve at random.

Order matters less than coverage, but front-loading the subject helps — the models weight earlier tokens slightly more. Keep clauses concrete and visual ("soft diffused window light") rather than abstract or emotional ("beautiful", "amazing"), which the models cannot render. Camera and lens language ("35mm", "macro", "wide angle") is genuinely effective for photographic output because it appears in the captioned training data. Medium words ("oil painting", "watercolour", "3D render", "vector illustration", "product photo") are the single biggest lever on overall look.

The negative prompt is the other half of the specification and the most under-used control. Rather than fighting an artefact by adding more positive words, name the artefact in the negative field: "blurry, low quality, distorted hands, extra fingers, watermark, text, jpeg artefacts, oversaturated". On the Amazon models this is the negativeText field; on Stability it is negative_prompt. A good negative prompt is reusable across a whole product line — build one, tune it once, apply it everywhere.

Seeds — making a result reproducible

Every generation starts from a random noise field selected by a seed. Leave the seed unset and each call gives a different image; fix the seed and the same prompt + seed + parameters reproduces the same image. This is the foundation of an iterative workflow: when you get a near-miss you like, lock its seed, then change one word at a time and watch the effect in isolation. Without a fixed seed you are changing the prompt and the noise simultaneously and cannot tell which moved the result.

Seeds are also how you generate controlled variation for A/B creative: hold the prompt constant and sweep the seed across a range to get a grid of distinct-but-on-brief options. Store the winning seed alongside the prompt in your asset metadata so any image can be regenerated exactly later.

Classifier-free guidance (cfgScale) — faithfulness vs diversity

The cfgScale parameter controls how strongly the model is pushed toward the prompt versus allowed to wander. Low values (roughly 3–6) give more creative, more varied, sometimes more natural images that may drift from the prompt. High values (roughly 9–12) hew tightly to the prompt but can look over-cooked, contrasty, or stiff at the extreme. The default (around 7–8 on most Bedrock image models) is a sensible middle.

The practical rule: if the model is ignoring part of your prompt, raise cfgScale before you rewrite the prompt; if the output looks artificial or saturated, lower it. Treat it as a dial you tune per use case once, not per image. Photographic work usually wants it slightly lower; graphic, iconographic or text-heavy work usually wants it slightly higher.

the four levers, in priority order

1) Prompt structure (subject → composition → lighting → medium → quality) explains most of the result. 2) Negative prompt removes recurring artefacts and is reusable across a product line. 3) Seed makes any good result reproducible and lets you iterate one variable at a time. 4) cfgScale trades prompt-faithfulness against diversity. Master these four and you rarely need anything else.

the editing toolkit

VEditing — inpainting, outpainting, variations, background removal

Generation is only half of production image work; the other half is editing what you generated (or what a photographer shot). The Amazon models expose these as first-class operations; Stability offers them through dedicated edit endpoints.

Treat the editing operations as a small, composable vocabulary. Most real workflows chain two or three of them — generate a base, remove the background, then outpaint a new scene around the subject — rather than relying on a single perfect generation. Building the pipeline around edits is what separates a demo from a system.

  • Inpainting (replace inside a mask) — Supply an image plus a mask and a prompt; the model regenerates only the masked region to match the prompt while blending into the surroundings. Used to swap a product colour, remove an unwanted object, fix a flawed area, or change a label. On Nova Canvas/Titan this is a taskType on the same model; masks can be a painted image or, on Nova, a text mask ("the mug") that the model resolves itself.
  • Outpainting (extend beyond the frame) — Supply an image and a mask describing the new area; the model paints a coherent extension outward. The workhorse for reformatting one asset into many aspect ratios — turn a square product shot into a 16:9 banner or a vertical story without re-shooting. Critical for ad pipelines that need every creative in five sizes.
  • Image variation — Supply a reference image and (optionally) a prompt; the model produces alternates that preserve the subject and overall composition while varying the rest. Used to generate a family of on-brand options from one approved hero, or to refresh an existing asset without starting from a text prompt.
  • Background removal — A dedicated operation (native in Nova Canvas and Titan v2) that segments the subject and returns a transparent-background PNG. The bread-and-butter of ecommerce — a clean cut-out product on transparency that can be composited onto any backdrop downstream.
  • Image conditioning (guided layout) — On Nova Canvas, pass a reference image with a conditioning mode (canny edges or segmentation) so generation follows the reference's structure while the prompt drives style and content. Used to keep a fixed layout — a packshot composition, a UI frame, a floor plan — while restyling everything inside it.
  • Image-to-image (style/strength transfer) — Start from an input image rather than pure noise and let a strength parameter control how far the model departs from it. Lower strength keeps the source largely intact (subtle restyle); higher strength uses it as loose inspiration. Available across the families with model-specific field names.
production patterns

VIProduction patterns — batch, storage, and S3 + CloudFront delivery

A single InvokeModel call is a toy. A production image system is a pipeline: request handling, batch generation, durable storage, fast delivery, and moderation. Here is the shape that works on AWS.

The canonical architecture is small and boring, which is the point. A request arrives at API Gateway and a Lambda function; the Lambda calls Bedrock InvokeModel for the chosen model; the returned base64 image is decoded and written to an S3 bucket with a content-addressable key; the object is served to end users through a CloudFront distribution sitting in front of that bucket. Metadata — prompt, negative prompt, seed, model ID, parameters — is written to DynamoDB so any image can be traced and regenerated. That is the entire backbone.

For anything beyond interactive single-image generation, decouple the request from the work with a queue. The user (or upstream job) drops a generation request onto SQS; a fleet of Lambda or Fargate workers pulls from the queue, calls Bedrock, and writes results to S3. This absorbs spikes, gives you natural retry and dead-letter handling for the occasional throttle or content-filter rejection, and lets you respect Bedrock's per-model rate limits with a simple concurrency cap on the consumer. Generating a thousand product images is a queue-drain, not a thousand synchronous calls.

Delivery is where cost and latency are won or lost. S3 is durable but is object storage, not a CDN — serving images straight from S3 to a global audience is slow and pricey on egress. Put CloudFront in front: it caches images at edge locations close to users, collapses repeat requests, and makes S3-to-CloudFront data transfer free, so you pay the cheaper CDN egress rate instead of raw S3 egress. For user-generated or sensitive imagery, serve through signed CloudFront URLs or origin access control so the S3 bucket itself stays private. Set long cache TTLs (generated images are immutable — the same key never changes) and you serve most traffic from cache for pennies.

Batch generation done right

Three rules keep batch jobs cheap and reliable. First, generate at the lowest quality tier and resolution that passes review for drafts, and only re-run the winners at premium/high-res — quality tier is the single biggest cost lever on the Amazon models. Second, store every parameter set with its output so a re-run is deterministic and you never pay twice to recreate something you already made. Third, cap consumer concurrency to live within the model's requests-per-minute quota and let the queue hold the backlog; chasing higher throughput by hammering the endpoint just earns throttling exceptions.

For large recurring jobs, request a service quota increase for the specific image model in the specific region rather than assuming default limits will hold at scale — image-model quotas are per-model and per-region, and the default is sized for development, not for a catalogue-wide regeneration.

the economics

VIIWhat it actually costs — per image, end to end

Image generation is priced per image, not per token, which makes the unit economics unusually easy to reason about. The model call is usually the largest line item, but storage and delivery are not zero at scale.

The model cost is a function of three things: which model, which resolution, and (on the Amazon models) which quality tier. As a rough 2026 map: Titan standard at 512×512 is the cheapest meaningful option (around $0.008/image); Titan premium and Nova Canvas at standard resolutions sit in the $0.04–$0.06 band; Stable Image Core is roughly $0.03–$0.04; SD 3.5 around $0.04–$0.07; and Stable Image Ultra at the top is roughly $0.08–$0.12. Higher resolution and premium tiers push toward the top of each range. Always confirm against the live Bedrock pricing page, but the ordering — Titan cheapest, Ultra dearest — is stable.

The pipeline costs are small per image but real in aggregate. S3 storage is a few cents per GB-month; a generated PNG is typically a fraction of a megabyte, so a million stored images is on the order of low-hundreds of dollars per month of storage. The cost that surprises teams is egress: serving images directly from S3 to users runs at S3 egress rates, whereas serving through CloudFront both caches (so most requests never hit S3) and bills at lower CDN egress rates with free S3-to-CloudFront transfer. At any real traffic level the CDN pays for itself many times over.

The honest end-to-end framing: for a typical marketing or ecommerce workload generating tens of thousands of images a month and serving them behind a CDN, the all-in AWS cost is dominated by the per-image model fee, with storage and delivery as a modest tail. The lever with the most leverage is generating drafts cheap and reserving premium/high-res for finals — that one discipline routinely halves the model bill.

the cost mental model

Per-image model fee (the big one — minimise it by drafting at standard tier/low res and finalising only winners) + S3 storage (cents/GB-month; PNGs are small) + CloudFront delivery (cheaper than raw S3 egress and mostly served from cache). For most teams the model fee is 80%+ of the bill; the rest is rounding — until you forget the CDN and pay full S3 egress, which is the classic avoidable mistake.

watermarking, safety, licensing

VIIIWatermarking, safety and licensing — the facts before you ship

The model and the prompt get the attention; watermarking, content safety and usage rights are what actually gate a launch. These are not optional polish — they are the difference between a pilot and something a brand or a regulated business can put its name on.

Watermarking and provenance: images from Amazon Nova Canvas and Titan carry an invisible, machine-detectable watermark by default, and AWS provides a way to check whether an image was produced by these models. This is genuinely useful — it lets you (and downstream parties) verify provenance and is increasingly relevant as AI-content disclosure expectations harden. Stability's models on Bedrock do not embed an invisible watermark by default, so if provenance tracking matters for your use case you either choose an Amazon model or add your own provenance metadata (for example, C2PA-style content credentials) in your pipeline.

Content safety: every image-generation path needs a moderation layer, both inbound (block prompts that request disallowed content) and outbound (catch outputs that slipped through). The Amazon models apply built-in moderation and will refuse certain requests; do not rely on that alone. Add your own controls — Amazon Bedrock Guardrails for prompt-level policy, and Amazon Rekognition's moderation labels on generated images to flag unsafe content before it is stored or served. For user-generated workflows this is mandatory, not optional, and it is far cheaper to run a moderation pass than to clean up after a bad image ships.

Licensing and usage rights: the commercial-use terms come from the model provider, surfaced through Bedrock's model access flow, and they are not uniform across the three families — Amazon's models and Stability's models carry their own terms, and some require accepting an end-user licence agreement before access is granted. Before you build a business on generated imagery, read the specific terms for the specific model you will ship, confirm commercial use is permitted for your scenario, and keep records of which model produced which asset (that DynamoDB metadata again). "It came out of an AI" is not a licence; the model provider's terms are.

  • Watermark by default? — Yes for Nova Canvas and Titan (invisible, detectable). No for Stability models — add your own provenance if required.
  • Inbound moderation — Built-in refusals on the Amazon models + Bedrock Guardrails for your own prompt policy. Never trust the model's defaults as your only line.
  • Outbound moderation — Run Rekognition moderation labels on generated images before storing/serving, especially for user-generated or public-facing output.
  • Commercial licence — Provider-specific and surfaced at model-access time; some require accepting an EULA. Verify per model before shipping; retain model-ID metadata per asset.
where it earns its keep

IXUse cases — ecommerce and marketing, concretely

The abstractions land when you map them to real jobs. Two domains drive most commercial image-generation volume on AWS, and each uses a recognisable subset of the toolkit.

Ecommerce is the highest-volume use case and the one where the editing toolkit matters most. The pattern: shoot or generate a product, run background removal to a transparent cut-out, then outpaint or composite the subject into many lifestyle scenes and many aspect ratios without a new shoot. Image variation produces on-brand alternates for testing; inpainting swaps colourways or fixes flaws; conditioning keeps a consistent packshot layout across an entire catalogue. The economic story is stark — replacing a fraction of a studio shoot with generated and edited imagery removes a per-SKU cost that scales with catalogue size, and the per-image AWS cost is cents.

Marketing creative leans more on generation quality and reformatting. The pattern: generate hero imagery (often Stable Image Ultra or Nova Canvas for the look), then outpaint each approved hero into the full set of channel formats (square, story, banner, wide) so one creative idea ships everywhere consistently. Seeds give controlled A/B variants from a single concept; negative prompts enforce brand consistency (no text, no clutter, a specific palette) across a campaign. The win is speed and volume — a campaign's worth of on-brief, correctly-sized creative in an afternoon instead of a week.

Two more that recur: thumbnail and content imagery at scale (blogs, listings, courses) where Titan's low unit cost dominates and quality requirements are moderate; and synthetic data generation, where image-to-image and controlled seeds produce labelled training variations for downstream computer-vision models. Both are volume plays where the per-image economics and the batch pipeline — not the single-image quality ceiling — decide whether the project is viable.

decision table

Which model for which job — a quick decision table

Skip the "best model" debate; match the family to the job. This is the same logic to apply per workflow rather than per company — different jobs in the same product often want different models.

If the job is…Reach forWhyKey control
Ecommerce cut-outs at volumeTitan v2 or Nova CanvasNative background removal + low unit costBackground removal + standard tier
Hero / lifestyle marketing imageryStable Image UltraTop photographic realism + art directionNegative prompt + aspect_ratio
Composition-locked product shotsNova CanvasConditioning keeps layout, restyles insideImage conditioning (canny/segmentation)
High-volume thumbnails / contentTitan standard tierCheapest meaningful optionStandard tier + 512–768px
In-image text / typographySD 3.5 LargeBest text rendering of the familiescfgScale slightly higher
Edit-in-place workflowsNova CanvasInpaint/outpaint/variation in one modeltaskType + text masks
Provenance / watermark requiredNova Canvas or TitanInvisible watermark by default(automatic)
When in doubt, prototype on Nova Canvas — it is the strongest all-rounder and its built-in editing reduces pipeline complexity. Drop to Titan when unit cost dominates; reach for Stable Image when photographic fidelity or a specific style is the whole brief.
ready to ship images, not just generate them?
Get matched with a partner who builds the whole Bedrock image pipeline
Start in 3 minutes →
a recent match

An ecommerce image pipeline, AWS-funded — anonymized

inquiry · Series-A DTC marketplace, London
Series-A direct-to-consumer marketplace, ~40 engineers, growing catalogue across thousands of SKUs, already on AWS

Situation: Per-SKU studio photography had become the bottleneck and the cost line that scaled worst with catalogue growth. The team wanted generated + edited product imagery — clean transparent cut-outs, lifestyle composites, and every creative in five aspect ratios — behind a fast CDN, with content moderation and provenance, but had no in-house Bedrock or image-pipeline experience and limited budget to fund a build.

What CloudRoute did: Routed within 20 hours to a UK AWS partner with Bedrock + media-pipeline track record. The partner scoped a Bedrock image pipeline (Nova Canvas for conditioning + editing, Titan standard tier for high-volume drafts), an SQS-fed batch worker on Fargate writing to S3, CloudFront delivery via signed URLs, Rekognition moderation on outputs, and DynamoDB metadata (prompt, seed, model ID) per asset. The work was structured against AWS Activate credits plus a Bedrock POC funding track so the customer paid $0.

Outcome: Pipeline in production within 7 weeks: background-removed cut-outs + multi-aspect lifestyle creative generated in batch at cents per image, served from cache behind CloudFront. Studio-shoot spend on covered SKU categories fell sharply; per-image AWS cost was credit-funded. CloudRoute's commission was paid by the partner from AWS's engagement funding — the customer paid $0.

engagement window: 7 weeks · founder time: ~12 hours · models used: Nova Canvas + Titan · cost to customer: $0

faq

Common questions

Which Bedrock image model should I start with in 2026?
For most new builds, Amazon Nova Canvas — it has the strongest prompt adherence of the Amazon models, includes inpainting/outpainting/variation/background-removal and image conditioning in one model, and embeds an invisible watermark by default. Drop to Amazon Titan G1 v2 when per-image cost dominates (it is the cheapest meaningful option at standard tier), and reach for Stability AI Stable Image Ultra when photographic realism or a specific art direction is the brief. Bedrock lets you switch models by changing one parameter, so prototype on Nova Canvas and specialise from there.
How do negative prompts actually help?
A negative prompt names what you do not want the model to produce, so it subtracts artefacts instead of you trying to add positive words to fight them. A reusable negative like "blurry, low quality, distorted hands, extra fingers, watermark, text, jpeg artefacts, oversaturated" cleans up most recurring problems across an entire product line. It is the camelCase negativeText field on the Amazon models and negative_prompt (snake_case) on Stability — a common integration gotcha is mixing the two schemas.
What is a seed and why should I fix it?
A seed selects the initial random noise the image is generated from. Leave it unset and every call produces a different image; fix it and the same prompt + seed + parameters reproduces the same image exactly. Fixing the seed is what makes iteration possible — you change one word at a time and see its isolated effect rather than changing the prompt and the noise together. Store the winning seed with the prompt in your asset metadata so any image can be regenerated later, and sweep the seed (prompt held constant) to get controlled A/B variants.
What does cfgScale do?
cfgScale (classifier-free guidance) controls how strongly the model is pushed toward the prompt versus allowed to wander. Low values (~3–6) give more varied, sometimes more natural images that may drift from the prompt; high values (~9–12) follow the prompt tightly but can look over-cooked. The default (~7–8) is a sensible middle. Rule of thumb: raise it when the model ignores part of your prompt, lower it when the output looks artificial or oversaturated. Tune it once per use case, not per image.
How do I generate thousands of images cost-effectively?
Use a queue, not synchronous calls. Drop generation requests onto SQS and let a capped fleet of Lambda or Fargate workers drain it, calling Bedrock and writing results to S3. Generate drafts at the lowest quality tier and resolution that passes review, then re-run only the winners at premium/high resolution — quality tier is the single biggest cost lever on the Amazon models. Store every parameter set with its output so re-runs are deterministic, and request a per-model, per-region quota increase before a catalogue-wide job so you do not hit default development limits.
What is the best way to store and deliver generated images?
Write images to S3 with a content-addressable key and put a CloudFront distribution in front for delivery. CloudFront caches images at edge locations near users, serves most repeat requests from cache, and bills at lower CDN egress rates with free S3-to-CloudFront transfer — serving directly from S3 instead is slower and more expensive on egress. Keep the bucket private and serve via signed URLs or origin access control for sensitive/user-generated imagery, and set long cache TTLs since generated images are immutable.
Are images from Bedrock watermarked, and can I use them commercially?
Amazon Nova Canvas and Titan embed an invisible, detectable watermark by default; Stability's models on Bedrock do not, so add your own provenance metadata if you need it. Commercial-use rights are set per model by the provider and surfaced at model-access time — some require accepting an EULA — so verify the terms for the specific model you ship rather than assuming. Keep the model ID in each asset's metadata so you can always prove which model and licence produced a given image.
How do I keep generated images safe and on-policy?
Run moderation on both ends. Inbound, use Amazon Bedrock Guardrails to enforce your prompt policy on top of the models' built-in refusals; outbound, run Amazon Rekognition moderation labels on generated images before they are stored or served. For user-generated or public-facing workflows this two-sided moderation is mandatory, not optional — it is far cheaper to run a moderation pass than to remediate a bad image after it ships.

Want an image-gen pipeline on AWS — built, and funded?

CloudRoute routes you to a vetted AWS partner who designs and ships the Bedrock pipeline — models, batch, S3 + CloudFront delivery, moderation, provenance — often AWS-funded via Activate + Bedrock POC credits. Customer pays $0.

matched within< 24h
cost per image$0.008–$0.12
cost to you$0
AI image generation on AWS: the 2026 prompting & production guide · CloudRoute