Nano Banana Pro Returned a Server Error Before Generating Anything
Nano Banana Pro returned an immediate HTTP 500 until I fixed the aspect ratio and reference image structure.

Higgsfield API error (HTTP 500). Internal Server Error
Nano Banana Pro returned that message immediately. It did not create a job, and it did not generate an image.
The failing command used nano_banana_2 with a reference image, --aspect_ratio auto, and --resolution 4k. The same failure occurred whether I supplied a local path or an upload ID.
The obvious suspicion was the reference file. That was only part of it.
Two separate parameter problems were producing the same unhelpful server response.
auto was allowed on paper and broken in practice
The model schema listed auto as an accepted value for aspect_ratio. Passing it still caused an HTTP 500.
That matters because a listed enum value normally looks safer than a manually selected ratio. I expected the server to inspect the source image and make the choice. Instead, the request failed before a job was created.
The second problem was the --image flag. That flag also produced a 500 with this model.
Nano Banana Pro expected the reference through input_images. It was not enough to move the upload ID into an array. The array needed objects with a specific shape:
[
{
"id": "<upload-id>",
"type": "media_input"
}
]
An array of strings failed with Input should be a valid object. An object containing the ID but not the type failed with Field required.
Those validation messages were more useful than the original 500. They showed that the server did not merely need an uploaded image. It needed a structured media input.
I reduced the request before trying 4K again
I did not keep resubmitting the full upscale command. I built a minimum probe at 1K.
First, I uploaded the original:
higgsfield upload create <path> --json
That returned the upload ID needed by input_images.
Next, I checked the source image dimensions. I used PIL:
python -c "from PIL import Image; print(Image.open(p).size)"
With the dimensions known, I selected the closest explicit ratio supported by the model. The two originals in this case mapped to 2:3 and 4:3.
I did not pass auto.
Then I placed the media object in a JSON file and supplied it through:
--input_images @file.json
The probe used 1K so I could test the request shape before committing to the real output. Once that request created and completed a job, I used the same structure for the 4K runs.
Both 4K upscales completed. This was validated on June 11, 2026.
Why the minimum probe mattered
The original upscales failed three times with the combination of --image and auto. Repeating that command did not reveal whether the image, the ratio, the resolution, or the request structure was responsible.
The small probe separated those variables.
The validation errors established the required object structure. The explicit ratios removed the broken auto value. Only after both changes worked at 1K did I return to the intended 4K output.
The extra cost was one 1K probe.
There was no reason to test 8K. Nano Banana Pro and Bytedance Image Upscale both top out at 4K on the platform.
Check whether the failed request became a job
An immediate HTTP 500 can look expensive because it arrives from the API rather than from local validation. In this case, the failure occurred before job creation and did not spend credits.
I still verify that instead of assuming it.
After an immediate 500, I check:
higgsfield generate list
If no job was created, I know the request failed before it entered the generation queue. That separates a malformed request from a generated result that failed later.
It also changes how I debug. A pre-creation 500 calls for parameter inspection. It does not call for another full-resolution attempt with the same arguments.
The rule I use now
For nano_banana_2, I never use --aspect_ratio auto. I inspect the source dimensions and choose the nearest explicit supported ratio.
I also pass references through input_images as an array of objects. Each object includes both the upload ID and "type": "media_input".
Before any paid batch, I send one minimum 1K request. That probe confirms the media shape, ratio, and job creation path with the smallest documented test.
If Nano Banana Pro is returning an immediate 500 for you today, check the job list first. Then replace auto, stop using --image, and test one structured input_images request at 1K.
Every fix in this article was paid for with a mistake first. Better on my film than on your brand.


