Summary
I have created a fine-tuned model based on gpt-4.1-nano for vision tasks, but when I try to analyze a user-provided image using that custom model, I get a BadRequestError (400) error. The base gpt-4.1-nano model without fine-tuning works as expected. According to the Vision Fine-Tuning guide, image fine-tuning should be supported, but I’m unsure how to invoke my custom model correctly for image analysis.
1. Background
Base model: gpt-4.1-nano (multimodal, supports image input)
Custom model: ft:gpt-4.1-nano:ORG:custom-vision-model (finetuned with image→caption pairs)
Official docs:
Vision Fine-Tuning overview
“Introducing vision to the fine-tuning API”
2. Expected Behavior
When I send an image payload to the fine-tuned model, I expect it to return a caption or analysis, similar to how the base model handles image inputs. Example input:
[
{ role: 'user', content: [ {
image_url: 'https://...',
type: 'input_image',
detail: 'low'
}] },
{ role: 'assistant', content: 'What can I do for you with this image?' },
{ role: 'user', content: 'Describe this image' },
]
3. Actual Behavior
Instead of a valid response, I receive:
BadRequestError
Error code: 400
error.message: There was an issue with your request. Please check your inputs and try again
The same payload works successfully with the basegpt-4.1-nano model (no fine-tuning).
My custom model name and deployment appear correctly in my account.
Thanks for taking the time to share this level of detail. So that we can progress this with the best placed team, can you please email this and any other information you believe to be relevant to support@openai.com?
This is nothing to be personally emailed, and it is nonsensical to have an OpenAI account who’s entire engagement on the forum is to say “email us”, even previously posting their AI template here (as if that isn’t information already known, and a help button on the platform site is there also, if we want to submit ourselves to further bot-like responses that want videos of the problem they’ll never watch to delay action.)
This is an issue I was able to easily replicate on behalf of the original poster, not coming here to report the issue, but already being here to verify the issue. Thus, platform-wide.
I performed a fine tune training and also was unable to submit a call with an image part of a user message.
THE ISSUE
Fine-tuning of gpt-4.1-nano model then blocked from including user images to chat completions endpoint for language generation.
Simple as that. The rights of a ft:model type are not provisioned correctly in the API specification.
When trying to reproduce, I noticed it is no longer possible to fine-tune gpt-4.1-nano with any examples that contain images.
The job failed due to an invalid training file. Invalid file format for this model. Images are not supported for gpt-4.1-nano-2025-04-14. Please remove all images from your examples and try again, or use a model that supports images such as gpt-4o-2024-08-06.
The base model accepts images just fine.
For OpenAI, this was ftjob-FPQSbC2eK82R8nQ40rSP3N0h
Error details: {'code': 'invalid_training_file', 'param': 'training_file', 'message': 'The job failed due to an invalid training file. Invalid file format for this model. Images are not supported for gpt-4.1-nano-2025-04-14. Please remove all images from your examples and try again, or use a model that supports images such as gpt-4o-2024-08-06.'}
-mini also
Error details: {'code': 'invalid_training_file', 'param': 'training_file', 'message': 'The job failed due to an invalid training file. Invalid file format for this model. Images are not supported for gpt-4.1-mini-2025-04-14. Please remove all images from your examples and try again, or use a model that supports images such as gpt-4o-2024-08-06.'}
I have replace my fine-tune model by original model gpt-4.1-nano, every setting still work correctly, so I don’t think the problem come from my settings
The conclusion is: they were blocking inference from using images.
In reaction to my flagging the issue, they also block training.
So at least you can’t spend money on uselessness.
The ability should be made available though. Disallowing user images when running any fine tune model based on 4.1 mini or nano is quite odd. Perhaps these models after fine-tuning are not intelligent enough to follow OpenAI’s hundreds of tokens of “vision safety rules” that are injected. Or OpenAI would have to eat training on more hidden tokens than your whole example.
I don’t entirely know what you mean by this, but you can still fine-tune gpt-4.1 and gpt-4o with vision. It’s just strange that it’s unsupported for the smaller models and that this limitation isn’t documented anywhere by OpenAI.
So the same thing just happened to me as well. I fine-tuned gpt-4.1-2025-04-14 and just learned i can’t use any tools including files with it. I searched for ever and couldn’t find any documentation other than Chat telling me this was the case and then locating this same situation here.