Pick the shape before you write the prompt
Decide where the image will sit first, because the shape decides the layout. Wikipedia's aspect ratio page says the 1:1 square is often seen on platforms like Instagram, which accepted only 1:1 uploads until August 2015. Vertical video was popularized by Snapchat, Instagram and YouTube. Widescreen is the HDTV standard, and the Thumbnail page says YouTube recommends 1280x720 for a thumbnail, with a minimum width of 640 pixels.
Each model has its own list of shapes. Gemini makes a square unless your input images or the aspect_ratio setting say otherwise. Nano Banana 2 and Pro add 1:4, 4:1, 1:8 and 8:1, which the cookbook calls ultrawide, panoramic and extreme panoramic. Qwen-Image's model card lists seven sizes. OpenAI's generation guide takes a custom size: both sides a multiple of 16, a ratio from 1:3 to 3:1 and no edge over 3840 pixels. Its slide example uses 1536x864.
Platforms change their pixel sizes and file limits. Read the help page of the one you post to before you export. The table sticks to what the image makers and Wikipedia document.
| Ratio | Where it fits, per Wikipedia | Gemini, 1K output | Qwen-Image model card |
|---|---|---|---|
| 1:1 | Square images, often seen on platforms like Instagram | 1024x1024, the default | 1328x1328 |
| 9:16 | Vertical video, popularized by Snapchat, Instagram and YouTube | 768x1344 | 928x1664 |
| 16:9 | The HDTV standard, and the shape YouTube recommends for thumbnails | 1344x768 | 1664x928 |
| 3:2 | Still photography | 1248x832 | 1584x1056 |
| 21:9 | Ultrawide, popular for gaming and desktop monitors | 1536x672 | Not in its table |
Why the second image stops matching the first
It is a known limit, and OpenAI lists it. Its generation guide says the model "may occasionally struggle to maintain visual consistency for recurring characters or brand elements across multiple generations."
The prompting guide answers with repetition. Its children's book example first defines a character: a green hooded tunic, brown boots, a kind expression. A second prompt continues the story with the same character, lists the tunic, the face and the palette again, and ends with a ban on redesigning it. A brand works the same way, with your colors, type and logo rule in place of the tunic.
The prompt below is OpenAI's own, from its "Keep a character consistent" section.
Pass the previous output as the next edit input, request one change, and repeat the details to preserve.
Continue the children's book story using the same character.
Scene:
The same young forest hero is gently helping a frightened squirrel
out of a fallen tree after a winter storm.
The character kneels beside the squirrel, offering reassurance.
Character Consistency:
- Same green hooded tunic
- Same facial features, proportions, and color palette
- Same gentle, heroic personality
Style:
Children's book watercolor illustration,
soft lighting, snowy forest environment,
warm and comforting mood.
Constraints:
- Do not redesign the character
- No text
- No watermarks- The Scene changes with every image, as a new post will.
- The Character Consistency list is what you copy word for word each time. For a brand it holds the colors, the type and the logo.
- The Constraints repeat the exclusions, so a no-text rule does not quietly lapse in the third image.
A brand brief to paste into every prompt
Write the brief once. Put it ahead of each post's own details. OpenAI's fundamentals say to organize a complex prompt as scene, subject, details and constraints in labeled sections, and to name colors, materials, lighting and the visual medium.
The brief below is ours, built on those two rules. Field & Flour is OpenAI's example bakery from lesson 1. The colors, type and layout are placeholders for yours.
BRAND BRIEF (paste at the top of every prompt)
Brand: Field & Flour, a local bakery.
Look: warm, simple, flat shapes, no gradients, plenty of empty space.
Colors: cream background (#F6EFE3), wheat gold (#D9A441), dark brown text (#3B2A20).
Type: bold rounded sans-serif headlines, plain sans-serif for small text.
Logo: use image 1 exactly as it is, once, in the bottom-right corner. Do not redraw it.
Constraints: only the words in quotes below. No other text, no watermarks, no extra logos.
THIS POST (change every time)
Format: 1:1 square.
Text: "Rye bread, Saturdays only"
Scene: a dark rye loaf on a wooden board in soft morning light, with empty space on the left for the text.- The Logo line gives the attached file a number and a role. OpenAI's fundamentals say to identify each input by number and purpose.
- The Constraints line borrows the exclusions of OpenAI's Thread ad prompt: no extra text, no watermarks, no unrelated logos.
- Keep Colors to a short list, and compare what comes back with your own swatches. A model can drift from a hex code.
- The Text line is the quoted copy from the text lesson, so each post has its words in a note first.
One master image, many sizes
Make the master in the shape with the most text or detail, then ask for the others from it. Gemini's cookbook shows the pattern in a chat. Each call after the first passes previous_interaction_id, and the last one adds an aspect_ratio setting to bring the scene back as a wide shot. The call below is from its chat-mode example, where the earlier turns made a toy fox figurine.
In a chat app, ask for the new shape in the same conversation and restate what must stay, because a detail you do not repeat is a detail the next image can drop. Edit images with AI has the app steps for sending a picture back with one change.
turn5 = client.interactions.create(
model=MODEL_ID,
input="Bring it back to the bedroom in an ultra-wide panoramic shot",
previous_interaction_id=turn4.id,
generation_config={"image_generation_config": {"aspect_ratio": "16:9"}},
response_modalities=["text", "image"],
)- Pick the master: the shape with the most text or detail.
- Attach the master and the logo, and give each a number and a role.
- Name the new ratio in the prompt, and in the size or ratio setting if the app has one.
- Say what stays (logo, colors, wording) and what changes (the layout for the new shape).
- Move the words to where the new shape has room, and describe that position in the prompt.
- Open the result at full size and check it against the master. Then repeat for the next shape.
If a logo must be exact, place the original file over the result in a design app. OpenAI's guide gives the same advice for any part of an image that must stay pixel-identical.
A looping GIF for a post
OpenAI's GPT Image 2.6 models, Flare and Sunburst, can return an animated GIF, and the guide's lantern example uses gpt-image-2.6-sunburst. Set output_format to gif on the generation or edit endpoint, and send still reference images to the edit endpoint to guide the animation, for example to move a mascot you already have. A community post says ChatGPT Images 2.6 turns a prompt or an image into a GIF with a speed you can adjust.
For a smooth loop, the prompting guide says to give the subject a starting pose to return to and to say whether the camera should move. Its lantern example, below, does both.
200 ms
per frame, which is the default
Source: OpenAI API docs: Image generation (read November 6, 2026)
1.8 s
for one full loop at those settings
Source: OpenAI API docs: Image generation (read November 6, 2026)
A little monkey in an olive-green hooded coat stands in a snowy pine forest at dusk. A wooden cabin glows in the background. The monkey holds a glowing amber paper lantern at chest height, slowly lifts it, looks up and blinks, then lowers it back to its starting pose. Keep the lantern in its hands and the camera still. Make the motion loop smoothly.- The
sizesetting is the size of each frame. When a request goes over the model's limits, the guide says to reduceframe_count, the frame dimensions orn. - GIF output does not support streaming, partial images, custom
output_compressionorprompt_rewriter. - Decode the
b64_jsonvalue in the response as base64 and save the bytes with a.gifextension.
Common mistakes
- Choosing the shape last. A layout built for a square rarely survives a tall crop with its words in the right place.
- Typing "same style as before" and nothing else, although OpenAI's guide says the phrase carries some context and the critical constraints still need restating once the result drifts.
- Changing the colors, the text and the layout in one round, then not knowing which change broke the look.
- Treating the generated colors as your brand colors. Compare them with your swatches.
- Pushing key words to an image's edge, where a crop or an app's own labels can cover them.
- Trusting the first export. Open each size at full size and read every word against your note.
Try it yourself
Use a real or pretend small business. Keep everything in one chat, so the master stays in reach.
- Write the brand brief with two colors, a type style and the logo rule. Keep the logo file from lesson 1 next to it.
- Make a square post with one short quoted line.
- Attach that post and the logo, and ask for a tall story and a wide banner, restating what must stay.
- Put the three images side by side at full size and mark each difference in logo, color and spelling.
- Optional: make a looping GIF of the loaf or the logo with OpenAI's pattern, a starting pose and a still camera.
You are done when the three shapes read as one brand and every word matches your note.
Next: put a product in a scene
A social image often shows a product on a shelf or an app on a phone. The next lesson puts a product or a screen into a scene with image editing models.
Check yourself
You want a vertical story image. Which ratio do you ask for?
Show answer
C. 9:16 Wikipedia names 9:16 as the vertical video shape that Snapchat, Instagram and YouTube popularized.
What does OpenAI's generation guide say about a custom image size?
Show answer
D. Both sides must be multiples of 16, with a ratio from 1:3 to 3:1 The guide asks for multiples of 16 on both sides and a ratio between 1:3 and 3:1, with no edge over 3840 pixels.
Your second image drifts from the look of the first. What does OpenAI's guide suggest?
Show answer
A. Restate the details to preserve and request one change The guide says to request one change and repeat the details to preserve, and to restate critical constraints when the result drifts.
A GIF is made with frame_count 9 and frame_duration_ms 200. How long is one loop?
Show answer
B. 1.8 seconds Nine frames of 200 milliseconds make 1,800 milliseconds, which OpenAI's guide gives as 1.8 seconds.
Frequently asked questions
What size should AI social media graphics be?
The ratio is the shape and the pixel size is a setting, so decide the shape first and the export size second. Take the export size from the platform's help page, since platforms change it. If a model's largest output is smaller, enlarge the result in an image editor and check the text again.
How do I make the same character appear in every post?
Attach a reference image of the character each time and repeat its defining details in the prompt. According to OpenAI's community post, ChatGPT can save reference images of yourself, pets and characters, so you do not upload them again. In the API, each edit call takes its reference images as input.
Which AI image generator has the most size options?
On the pages we read, Gemini lists 14 ratios for Nano Banana 2 and Pro, Qwen-Image's model card shows seven sizes, and OpenAI accepts any size that follows its size rule. More options do not mean better results. Run your brand brief through two of them and compare the logo and the colors.
How long can an AI-made GIF be?
OpenAI's settings allow at most sixteen frames of up to 2000 milliseconds each, which is 32 seconds on paper. The frame size, the frame count and the number of animations also have to fit the model's pixel budget, so a bigger frame may mean fewer frames.
Sources
- OpenAI API docs: Image prompting https://developers.openai.com/api/docs/guides/image-prompting
- OpenAI API docs: Image generation https://developers.openai.com/api/docs/guides/image-generation
- OpenAI Developer Community: Images, upgraded, introducing ChatGPT Images 2.6 https://community.openai.com/t/images-upgraded-introducing-chatgpt-images-2-6/1412901
- Google Gemini cookbook: Get started with Nano Banana https://github.com/google-gemini/cookbook/blob/main/quickstarts/Get_Started_Nano_Banana.ipynb
- Hugging Face: Qwen/Qwen-Image model card https://huggingface.co/Qwen/Qwen-Image
- Wikipedia: Aspect ratio (image) https://en.wikipedia.org/wiki/Aspect_ratio_%28image%29
- Wikipedia: Thumbnail https://en.wikipedia.org/wiki/Thumbnail
