Use case · campaigns · 4 assets from 1 concept

AI social media graphics: one idea, every aspect ratio

Social work is never one image. It is one idea rendered into a matrix of platform shapes, and then the whole matrix again next week. The creative decision happens once; everything after it is mechanical, which is exactly the shape of work worth handing to an agent.

Generate each shape natively rather than cropping one image four ways, hold the campaign together with a reference image, and know what the platform is going to do to the file after you upload it.

By the imagemcpserver.com teamPublished Updated

The shapes you need

Four ratios cover most campaigns. Ask for each one explicitly — a generation with no aspectRatio comes back square regardless of what you had in mind.

1:1

Feed post

Square feeds and carousels. The safest default.

9:16

Story / Reel

Full-screen vertical. Keep the subject clear of the top and bottom third.

16:9

Link preview

What renders when someone shares a URL.

4:3

Slide / carousel

Multi-card posts and presentation exports.

One ratio we cannot give you: 4:5

The accepted values are 1:1, 16:9, 9:16, 4:3, 3:4 and 21:9 — and 4:5, the ratio that fills the most vertical space in an Instagram feed, is not one of them. The nearest is 3:4, which is a little taller. If you need 4:5 exactly, generate at 3:4 or 1:1 with breathing room around the subject and crop it yourself.

Approve once, then fan out

The workflow has two phases. First you get one image right — a creative decision that deserves your attention. Then every other size derives from it in a single batched call, which is mechanical and deserves none.

  1. 1

    Generate the concept at 1:1

    Iterate here. This is where the judgement lives.

  2. 2

    Pass it as a reference for the rest

    Every other ratio quotes the approved image rather than re-inventing it.

  3. 3

    Batch the remaining ratios

    One multicall, several sizes, back together in one round trip.

  4. 4

    Add a transparent variant

    A cutout of the subject for stickers and overlays — and check isTransparent on it.

  5. 5

    Upload the cleanest file that fits

    The platform will re-encode whatever you send, so do not pre-compress it into the ground.

the fan-out call
{
  "name": "multicall",
  "arguments": {
    "requests": [
      { "tool": "generate_image",
        "args": {
          "prompt": "<same concept>",
          "aspectRatio": "9:16",
          "referenceImages": ["<approved 1:1 url>"]
        }},
      { "tool": "generate_image",
        "args": {
          "prompt": "<same concept>",
          "aspectRatio": "16:9",
          "referenceImages": ["<approved 1:1 url>"]
        }},
      { "tool": "generate_transparent_image",
        "args": {
          "prompt": "<subject only, plain background>",
          "referenceImages": ["<approved 1:1 url>"]
        }}
    ]
  }
}
three assets · one round trip · one visual language

Do not let the model write your headline

Even where a model renders type cleanly, you have created an asset that cannot be localised, cannot be A/B tested, and has to be regenerated for every copy change. Generate the background; set the type in a layer above it. One background then serves six headline variants, four languages and every future edit for nothing.

If what you actually want is a finished captioned graphic assembled from a brand template, that is a different product — a template-rendering API composes text and layout deterministically, which an image model cannot. Plenty of teams run both: generated imagery as the backdrop, a template engine to lay the words on top.

add to every social prompt

“…no text, no letters, no words, no logos. Leave the lower third visually calm for overlaid type.”

The step after the asset is finished

What the platform does to your upload

Every major platform re-encodes what you send it, and it is the single most complained-about thing in creative communities. You cannot switch it off. What you can control is what you hand the encoder — and the intuitive move is the wrong one.

the tempting move

Compress hard before uploading, so less data has to travel and the platform has less to chew on.

what actually happens

Lossy passes compound. A file squeezed to quality 50 and then re-encoded by the platform comes out measurably worse than the same image sent near-lossless and re-encoded once.

We measured this against the encoder our own compression endpoint runs: the harder the upload was pre-compressed, the worse the final image after a second re-encode, with the near-lossless upload finishing best. So compression has two different jobs. For assets you serve yourself it is a page-weight tool and you should lean on it. For assets you hand to a platform it is mostly a way to get under a size ceiling — go no further than that.

The rule

Upload the cleanest file that fits under the platform’s limit. Reserve aggressive quality settings for images your own pages serve, where you own the only encode that will ever happen. Checked September 2026 — platform behaviour changes, so re-test if quality matters to your brand.

What a campaign costs

One concept rendered into four assets. Generation is priced by the model you pick — 8 credits on a fast one, 15 on a standard one — and the transparent variant adds 8 for the cutout stage.

Credit cost of a four-asset social campaign, on a fast model and on a standard model.
AssetRatioToolFastStandard
Square feed post1:1generate_image815
Story / Reel9:16generate_image815
Link preview16:9generate_image815
Transparent sticker1:1generate_transparent_image1623
Compression pass4 × compress_image44
One campaign4472

Ten campaigns a month is 440 credits on a fast model or 720 on a standard one — both inside the Starter plan’s 1,000. See plans →

Social graphics questions

Does the platform reduce my image quality?

Yes — every major platform re-encodes what you upload, and that pass is not something you can opt out of through an API. Instagram's own help documentation notes that oversized images are downsized, which is where visible artefacts come from. The practical consequence is that your upload is the input to someone else's encoder, so it should be as clean as the size ceiling allows. Checked September 2026.

Should I compress hard before uploading to save bandwidth?

No, and this is the counter-intuitive one. Lossy passes compound: an image you squeezed to quality 50 and then let a platform re-encode comes out measurably worse than the same image uploaded near-lossless and re-encoded once. We measured it against our own encoder and the ordering is consistent — the least-compressed upload survives best. Compress hard for assets you serve yourself; upload the highest quality that fits the platform ceiling.

Should I generate one image and crop it for each platform?

No. Generate each ratio natively. A model composing for 9:16 puts the subject where a vertical frame wants it; cropping a square into a story leaves the subject marooned in the middle with dead space above and below. Ask for the ratio explicitly, too — omit aspectRatio and the request defaults to 1:1.

Can I generate a 4:5 Instagram feed post?

Not natively. The accepted ratios are 1:1, 16:9, 9:16, 4:3, 3:4 and 21:9, and 4:5 — the ratio that fills the most feed height on Instagram — is not among them. The closest is 3:4, which is slightly taller. If you specifically need 4:5, generate at 3:4 or 1:1 with room around the subject and crop to 4:5 yourself, rather than asking for a ratio the API will silently substitute.

How do I keep a campaign visually consistent?

Approve one image, then pass it in referenceImages for every other size and variant. A reference does far more than repeating adjectives, because the model receives the image itself as an input rather than a description of it. The same reference works for the transparent sticker variant too.

Can I put the caption text in the image?

Better not to. Baked-in text cannot be localised, cannot be A/B tested and has to be regenerated for every copy change. Generate a text-free background and set type in a layer above it, so one background serves six headline variants and four languages. If what you actually want is a finished captioned graphic from a brand template, a template-rendering API is a better fit than an image model — those are two different jobs and plenty of teams use both.

What about logos and stickers that sit over other content?

Those need transparency, so use generate_transparent_image rather than trying to cut out a normal generation afterwards. Check result.isTransparent on the response: if the cutout stage fails, the endpoint still returns 200 with the un-cut image and still bills in full, which is easy to miss inside a batch nobody is watching.

How many credits does a campaign cost?

A four-asset set from one concept — 1:1, 9:16, 16:9 and a transparent sticker — is 44 credits on a fast model or 72 on a standard one, compression included. Ten campaigns a month is 440 or 720, both inside the Starter plan’s 1,000.

Reference

Credit costs and accepted ratios were read from the request handlers and tool schemas. The re-encoding comparison was measured directly against the encoder our compression endpoint runs. Platform upload behaviour is third-party and moves — checked September 2026.

Related