Image generation with Muse Image

Muse Image generates and edits images from a conversation. Send interleaved text and reference images, get an image back, then keep refining it turn by turn, all through the same Responses API you already use for text. One model handles both generation and editing, and plain text-to-image and one-off edits are just special cases of the same conversational interface.

How it works

Muse Image takes text and, optionally, reference images, and returns an image. One model covers the whole workflow:

  • Generate: describe an image and get it back.
  • Edit: send an existing image with an instruction, and it changes only what you ask for while keeping the rest intact.
  • Refine: keep going in the same conversation, and each turn builds on the last.

The main interface is the conversational Responses API. It accepts arbitrary interleaved text and image input and keeps conversation state across turns, so you can generate an image and then steer it toward the result you want. This interleaved, multi-turn flow is what Muse Image is built around.

For a one-off generation or edit with no conversation state, the single-shot images endpoints (/v1/images/generations and /v1/images/edits) are compatible with the OpenAI Images API, so an OpenAI client works by pointing base_url at https://api.meta.ai/v1.

Automatic grounding

Muse Image is agentic. Before it renders, it can look things up and use what it finds as references, so results stay accurate for real places, products, brands, styles, and current events:

  • Visual references: for a real landmark, product, logo, or style, it can pull reference imagery from the web and match likeness, composition, and detail.
  • Current facts: when a prompt depends on real-world information such as recent results, prices, or dates, it can look them up so any text or data in the image is right.
  • Generated layouts: for infographics, charts, or other structured graphics, it can compute and arrange the elements before rendering.

This all happens on its own. You don't configure it, and this built-in search is part of the per-image price, so it carries no extra search-grounding charge. The intermediate lookups aren't surfaced as separate tool-call items, so you just get the finished image. On the Responses API you also get a short summary of what the model did in a reasoning item (see Read the response); the images endpoints return the finished image only. If you'd rather constrain it, you can turn specific tools off or cap refinement on the Responses API or the images endpoints.

Search is built in, not a tool

Muse Image runs web and image search itself. This differs from a text model's search grounding, where you add a web_search tool: with Muse Image, search is built in and on by default, and passing a web_search tool returns an error (see Control the tools and reasoning on the Responses API, or the images endpoints).

Conversational generation

Use the Responses API to generate an image and then refine it across turns. Pass a text prompt (and optional reference images) as input; the response's output array carries the result.

python
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.meta.ai/v1",
api_key=os.environ["MODEL_API_KEY"],
)
response = client.responses.create(
model="muse-image-1.0",
input="a red fox trotting through fresh snow, golden hour",
)
print(response.model_dump_json(indent=2))