What image formats and dimensions do ChatGPT chat-card ads accept?

The Citead team, updated

In short. ChatGPT chat-card ads accept JPEG, PNG, or WebP images that are at least 640 × 640 pixels.

Definition: A ChatGPT chat-card ad image is the image file attached to a chat_card creative through OpenAI's Ads API. OpenAI's campaign documentation accepts JPEG, PNG, or WebP images with dimensions of at least 640 × 640 pixels.

Key facts

  • OpenAI's campaign management documentation accepts JPEG, PNG, or WebP for an uploaded chat-card image.
  • The documented minimum is 640 × 640 pixels.
  • The upload endpoint accepts either a binary multipart upload or JSON containing image_url, according to OpenAI's Files API reference.
  • The upload response supplies a reusable file_id, which is passed to the ad creative.
  • A chat_card requires creative.file_id, the file returned by POST /upload, in OpenAI's Ads API reference.

Which image formats and dimensions are documented?

The campaign management page names three accepted image formats: JPEG, PNG, and WebP. It sets the minimum at 640 × 640 pixels. The wording gives a floor rather than one fixed canvas size, so an image can exceed that minimum while remaining within the documented requirement.

The same upload section gives this multipart example:

curl -X POST "https://api.ads.openai.com/v1/upload" \
  -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}" \
  -F "file=@/path/to/product-image.png"

How does the image reach a chat-card creative?

OpenAI's Files API reference describes two paths to POST /upload: JSON with an image_url, or multipart/form-data with a binary file. Both paths return a reusable file_id. The ad creation request then places that identifier in creative.file_id.

The Ads API reference defines creative.file_id as the file returned by POST /upload for a chat_card. The image is therefore uploaded first and linked to the ad by its file identifier. A product-ad template follows a different path because its image comes from the selected feed item.

What else is checked in the creative request?

The campaign documentation describes a standard chat_card as containing a title, body, image, and landing-page URL. The file and ad group must belong to the selected account.

These text and destination fields are separate from the image upload requirement.

How can an advertiser check the upload shape?

The Files reference shows the remote-image form:

{
  "image_url": "https://example.com/assets/workspace-planner-card.png"
}

After the response returns file_id, the Ads API reference shows it inside the creative object:

{
  "creative": {
    "type": "chat_card",
    "title": "Try the new workspace planner",
    "body": "Coordinate tasks, docs, and meetings in one place.",
    "target_url": "https://example.com/workspace-planner",
    "file_id": "file_901"
  }
}

The checked documentation specifies the accepted formats and minimum dimensions. It does not specify a maximum pixel dimension, aspect ratio, file size, or transparency requirement for a chat-card image.

FAQ

Are JPEG, PNG, and WebP all accepted?

Yes. The campaign management documentation names JPEG, PNG, and WebP for the uploaded image.

Can a remote image URL be uploaded?

Yes. The upload endpoint accepts JSON containing image_url; the returned file_id is then used in the chat_card creative.

Is 640 × 640 the only allowed size?

No. OpenAI documents 640 × 640 as the minimum. The checked pages leave the maximum dimensions and aspect-ratio rule unspecified.

Sources

  1. OpenAI Developers, "Campaign Management - Ads", undated
  2. OpenAI Developers, "Files - Ads", undated
  3. OpenAI Developers, "Ads", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark