Hi,
I’ve been experimenting with input_fidelity, and it’s been awesome so far. However, I noticed that it doesn’t seem to work correctly with multi-turn editing.
For reference, I’ve included the code and images I used to reproduce the issue.
Environment:
openai==1.100.2
Initial Edit
response = client.responses.create(
model="gpt-5",
input=[
{
"role": "user",
"content": [
{"type": "input_text", "text": "Change the sun to moon"},
{
"type": "input_image",
"image_url": f"data:image/jpeg;base64,{base64_image}",
},
],
}
],
tools=[{"type": "image_generation", "input_fidelity": "high"}],
)
image_data = [
output.result
for output in response.output
if output.type == "image_generation_call"
]
if image_data:
image_base64 = image_data[0]
with open("iteration-1.png", "wb") as f:
f.write(base64.b64decode(image_base64))
Follow-up Edit
response_fwup = client.responses.create(
model="gpt-5",
previous_response_id=response.id,
input="Now, change the podium to pink",
tools=[{"type": "image_generation", "input_fidelity": "high"}],
)
image_data_fwup = [
output.result
for output in response_fwup.output
if output.type == "image_generation_call"
]
if image_data_fwup:
image_base64 = image_data_fwup[0]
with open("iteration-2.png", "wb") as f:
f.write(base64.b64decode(image_base64))
Has anyone else run into this issue? Is input_fidelity currently supported for multi-turn editing, or is this a limitation of the API?
Please let me know if I’m using it incorrectly or missed anything. Thanks!
Fig 1: Original Image
