> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appdna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Graphical Asset Generation

> Turn briefs, captions, and templates into on-brand images in one click — ad creatives, store screenshots, app icons, social graphics, and email or in-app message heroes.

## Overview

Graphical asset generation closes the gap between a brief and a finished image.
Wherever the dashboard already produces ad copy, store metadata, social posts,
or email and in-app message templates, you can now generate a matching image
directly from that brief — no design-tool round-trip and no stock-photo hunt.

The generator pulls in your brand kit (palette, typography, logo, imagery
guidelines) and the source brief, so the result is on-brand from the first
render. You stay in control: every image is reviewed before it is used, and you
can regenerate or refine as many times as your plan's monthly quota allows.

## When to use it

* **Launching a paid campaign** — generate ad creatives straight from a Paid UA
  brief instead of briefing a designer.
* **Refreshing your store listing** — produce App Store and Play Store
  screenshots, app icons, and app-preview thumbnails at the correct platform
  dimensions.
* **Scheduling organic social** — create a feed-shaped graphic for a post that
  would otherwise ship without an image.
* **Sending retention email or in-app messages** — add a hero image to a
  template that would otherwise go out blank.
* **Running visual A/B tests** — turn a multi-variant copy test into a
  multi-variant image test by generating up to four candidates per request.

## Supported asset types

The generator knows the correct aspect ratio and resolution for each surface,
so you never have to specify dimensions manually.

<CardGroup cols={2}>
  <Card title="Ad images" icon="rectangle-ad">
    Creatives generated from a Paid UA brief, sized for cross-platform ad specs
    (square, portrait, story, and landscape).
  </Card>

  <Card title="ASO screenshots" icon="mobile-screen">
    Store screenshots at the correct device dimensions for iPhone, iPad, and
    Play Store screen sizes.
  </Card>

  <Card title="App icons" icon="grip">
    Four icon candidates per request at master resolution, with the standard
    store size set produced for the primary candidate.
  </Card>

  <Card title="App-preview thumbnails" icon="image">
    Still thumbnails shown in the store listing while a preview video buffers,
    sized per device and platform.
  </Card>

  <Card title="Social-post graphics" icon="share-nodes">
    Feed-shaped graphics generated from a post's body, at the platform-correct
    aspect ratio (square, 4:5, or 9:16).
  </Card>

  <Card title="Email hero images" icon="envelope">
    Wide hero images generated from an email template's subject and body
    preview.
  </Card>

  <Card title="In-app message heroes" icon="message">
    Hero images generated from an in-app message's name, type, and body
    preview, sized per platform.
  </Card>
</CardGroup>

## Where to find it

Each surface has a generate action next to the element it produces an image
for:

| Module         | Where                 | Action                               |
| -------------- | --------------------- | ------------------------------------ |
| Paid UA        | Brief detail page     | **Generate Image**                   |
| ASO            | Screenshots grid      | **Generate** (per empty slot)        |
| ASO            | App icon page         | **Generate Variants**                |
| ASO            | App preview list      | **Generate Thumbnail** (per preview) |
| Organic Social | Post composer         | **Generate Graphic**                 |
| Retention      | Email template editor | **Generate Hero**                    |
| Retention      | In-app message editor | **Generate Hero**                    |

All seven actions open the same generation modal, described below.

## The generation flow

<Steps>
  <Step title="Open the modal">
    Click the generate action on the element you want an image for. The modal
    opens with a prompt pre-filled from the brief — the ad copy, caption, store
    metadata, or template content already on the element.
  </Step>

  <Step title="Review the prompt and settings">
    Edit the prompt if you want to steer the result. A non-editable summary
    above the prompt shows what will be produced — for example, "This will
    produce a 1080×1080 ad image." You can also choose how many variants to
    generate (1–4).
  </Step>

  <Step title="(Optional) Attach reference images">
    Drag and drop up to two reference images to guide the result. See
    [Reference images](#reference-images) below.
  </Step>

  <Step title="Generate">
    Click **Generate**. Generation runs in the background and typically
    completes in 8–30 seconds. The modal shows a progress spinner while it runs.
  </Step>

  <Step title="Review the result">
    When generation finishes, the modal shows the generated image — or all four
    candidates, for app icons. From here you can **Approve** or **Regenerate**.
  </Step>

  <Step title="Approve or regenerate">
    **Approve** keeps the image and applies it to the element. **Regenerate**
    discards the draft and runs again. Unapproved drafts are not kept long-term
    — approve the ones you want.
  </Step>
</Steps>

<Note>
  The generated image is applied to the source element as soon as it is ready,
  so you can see it in context. **Approve** confirms the choice and keeps the
  image; regenerating replaces it.
</Note>

## Reference images

Reference images let you iterate without rewriting a prompt from scratch —
"make the logo bigger," "swap the background to night," or "match this style."

* **Upload** — drag and drop up to **two** images per request. Each image can
  be up to 10 MB, in JPEG, PNG, or WebP format.
* **Pick an intent** for each image:
  * **Edit** — the generator uses the image as the base and applies your prompt
    as an edit instruction (for example, "change the background to night, keep
    the subject identical").
  * **Inspiration** — the generator uses the image as style guidance only, not
    as a base to edit.

<Warning>
  Reference images are sent to the AI image-generation provider. Don't upload
  faces or personal data you don't have the rights to share.
</Warning>

Reference uploads count toward your plan's storage allowance but **not** toward
your monthly image-generation quota — uploading a reference is not a generation.

## Monthly image-generation limits

Each plan includes a monthly image-generation allowance. One generation request
counts as one operation regardless of how many variants it produces — a
four-variant request still counts the same as a one-variant request. Reference
uploads do not count.

You can see your current usage on the **Billing → Usage** page in the dashboard,
alongside your other monthly operation counters.

| Plan       | Monthly image generations          |
| ---------- | ---------------------------------- |
| Starter    | Included allowance — see your plan |
| Pro        | Higher allowance                   |
| Autopilot  | Higher allowance                   |
| Enterprise | Highest allowance                  |

When you reach your monthly limit, generation is paused until the next billing
cycle. Upgrading your plan raises the allowance immediately. Enterprise
customers who have configured their own provider keys can continue generating
past the included allowance — see [Image generation and BYOK](/console/byok-images).

## Storage and approved assets

Generated images are stored against your account and served over a CDN.

* **Approved** images are kept for as long as you need them.
* **Unapproved drafts** and **reference uploads** are automatically removed
  after 90 days, so trial-and-error generation doesn't fill up your storage.
* Storage usage is metered per plan. If you reach your storage limit, you can
  upgrade, free space by removing unapproved drafts, or — on the Autopilot plan
  — add a recurring storage add-on from the **Billing → Packs** page.

<Note>
  Reducing your storage limit (by downgrading or cancelling a storage add-on)
  never deletes images you already have. It only prevents new uploads until you
  are back under the limit.
</Note>
