Batch file documentation error - and many more documentation issues added

You will find that a Python execution environment doesn’t appreciate JavaScript’s “const” very much…


What I need to find by doing (and then waiting 24h) instead of by reading anywhere it is offered: the files endpoint purpose of a batch results file output.

Documentation about the purpose in batches results, fine tune results, or any central listing of all purposes and their upload or download capability is missing.

…this answer, btw:
image


Some of these dox would be good with a “get notebook” cookbook link that could run everything discussed. Perhaps even for batches, a block to sit at a 10 minute poller.

2 Likes

Since this has not been fixed, I bump with another documentation issue here:

https://help.openai.com/en/articles/5072518-controlling-the-length-of-openai-model-responses

It states: For reasoning models like o3, o4-mini, and gpt-4.1, use max_completion_tokens.

However, gpt-4.1 is not a reasoning model, and max_tokens works fine on chat completions. Truncated where expected:

prompt> are you a reasoning model?
assistant> I am a reasoning-aware language model designed to understand and generate human-like text. I can assist with reasoning tasks, problem-solving

Additionally, that page requires mentioning that max_completion_tokens does not deal with the topic title “Controlling the length of OpenAI model responses”, but rather, sets the maximum cost of output, including unseen reasoning, and must be set much higher - dictating a separate usage section there specifically for reasoning AI models.

Then note the prediction tokens as an output cost, and the actual effect of sending more unmatched prediction than your max_completion_tokens.

Here is even more inconsistency against fact.

https://help.openai.com/en/articles/10910291-api-organization-verification

The validation page says:

Once verified, your organization will be able to use o3 with Streaming responses and have access to our GPT Image model.

Additionally, you will be able to access Reasoning Summaries when using the Responses API for o1, o3-mini, o3 and o4-mini.

Some organizations may already have access to these models and capabilities without having to go through the Verification process. To check if your organization has access, view the Limits page or test in the Playground.

“To check if your organization has access”, it says, look here:

We determine that to be a falsehood if you refuse to submit to this overreach.

The model name is still shown in limits, so contrary to document, that cannot show if validation has released a model for use.

Is it the missing RPM alone that is an indicator? How about this org with RPM then? Nope.

There is also no indication other than your failing API requests that you are denied reasoning summaries.

Even more documentation errors. Assistants API Reference, missing the object contents for file search:

Which should be:

    tool_resources={
        "file_search": {
            "vector_store_ids": [vector_store_id]
        }
    },

Just more shouting into the abyss here.

API Reference → Responses → Delete response ID

It shows an invalid method .del()

Didn’t think this reserved keyword would actually be in the Python library as a method without it failing with syntax errors:

So in fact, we go to openai/resources/responses/responses.py to see the correct usage..

    def delete(
        self,
        response_id: str,
        *,
     
        timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
    ) -> None:
        """
        Deletes a model response with the given ID.
        """"

For the create image edit endpoint, API Reference shows this parameter:

image

However, it simply cannot be passed to the API:

Trying “quality”: “standard” against dall-e-2 and the Python SDK library:

        if model == "gpt-image-1":
            image_params.pop("response_format", None)
        elif model == "dall-e-2":
            image_params.pop("quality", None)
            image_params.pop("background", None)
            image_params["quality"] = "standard"  # trying this alleged default
        else:
            raise ValueError("edit_image received unknown model")

We observe the documentation to present a falsehood.

Others have reported the same on gpt-images-1: no quality support of low, medium, high like the documentation also presents.


The search API has no Python documentation, and the format/type the discovered SDK method is returning is quite different than the underlying JSON.

Showing here: My metadata isn't correctly processed when uploading a JSON file - #2 by _j

Multiple misspellings of “guarantee” in API reference for chat completions.

I can just keep piling on things done poorly, this one for ChatGPT.

GPT-4.5 is getting a nonsensical message about dalle in its system message, which doesn’t exist for it - or anything else other than the DALL-E GPT:

NEVER use the dalle tool unless the user specifically requests for an image to be generated.

and: annoying “helpful followup” solicitations. It’s wasting input and output tokens. (Where I asked for that system message reproduction to counter this.)

More bad documentation to report. This is about API vision. https://platform.openai.com/docs/guides/images-vision?api-mode=chat

These requirements just seem bizarrely out of touch. Not only are larger images allowed (but face resizing by the API), but certainly text and logos can be sent (or: put it in legal).

I can prove that immediately wrong, as do the examples later in the same page referring to sending images like 4096 x 8192.

This is arrived at with my trying in earnest to make a pricing calculator that aligns with documentation, only possible from a lot of experimentation and prior issue reports.

Tiles models

Sending an image 32,000px by 32px to gpt-4.1 (alternating 32x32 black and white):

The AI can see the patterns of what would become 2048x2 if you follow the formula page for resizing.

gpt-4.1 gives 779 input tokens reported by API on 32000 x 32. Aligning with calculations


Improper resize on tiled images, or really 2000 pixel limit?

I’m going to send this image. 8 tiles are used because 513 is over the 512px tile size.

Any resizing of 2048px to 2000px done would affect that smaller dimension, also, then being one tile high instead of two, but that doesn’t happen:

Note that we had to live for two weeks with bad documentation saying gpt-4.1 was “patches”.

Patches Models

These are ones with a 32x32 grid that is one token, and resizing until reaching max 1536 tokens.

gpt-4.1-mini however is dumbfounded at the same image previously described correctly, complete hallucination:

And then the tokens billed, or any size restriction, doesn’t align to anything in the pricing formulation section OpenAI provides - which doesn’t actually have a formula or algorithm, just guesswork for you.

one word, one 51200x32 image, similar billing:

We extrapolate back, and it may be only “patches” models that are having a 2000px size limit placed on them, despite that the model could take 1536 tokens of vision sent in a different dimensionality instead of a 63 token cap. If tiles models were similarly affected with resizes between 2000 and 2048, that would break the later documentation in the same page.

Conclusion

  • Input size as a limit is wrong
  • Patches resizing is not documented
  • Tiles is not even resized to the stated “limit”
  • 2000 pixels is a bad limit, it is 62.5 tiles. Could have been 64 tiles evenly. Or images could not be limited in dimension like that, but instead let the other algorithms keep whatever is sent under the 1536 token budget.
  • documentation needs to be rewritten, just like everything else noted here.

Appendix

gpt-4.1-mini — that boy just ain’t right

This shows it isn’t just a fluke of skinny images resized to nothing: gpt-4.1-mini model just cannot see the checkerboard even, that we can plainly see it in the Prompts Playground preview.

Another documentation issue, this time the database powering https://platform.openai.com/docs/models/gpt-4-turbo

No image input for “gpt-4-1106-vision-preview”??

Does this friend that accepts full images at 85 tokens base still have people with access, but not us?

Error: Error code: 404 - {'error': {'message': 'The model gpt-4-1106-vision-preview has been deprecated, learn more here: https://platform.openai.com/docs/deprecations', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}

Images endpoint API reference

images.generate Python example shows writing bytes for gpt-image-1.

However, there is no response_format object example, and no code demonstration for URL image return type.

“pay for several images to figure this out?”

Images’ example and response could use a selector for models like chat completions.

Is anything at all fixed, May 14, 16 days later?

  1. Batch docs Python example uses javascript const: no (https://platform.openai.com/docs/guides/batch#4-check-the-status-of-a-batch)
  2. gpt-4.1 is a reasoning model?: no (https://help.openai.com/en/articles/5072518-controlling-the-length-of-openai-model-responses)
  3. check your validation model access via org’s limits: no (https://help.openai.com/en/articles/10910291-api-organization-verification), (https://platform.openai.com/settings/organization/limits)
  4. tool_resources → file_search API parameters missing: no (https://platform.openai.com/docs/api-reference/assistants/createAssistant)
  5. API ref, Responses “delete” SDK method example wrong: no (https://platform.openai.com/docs/api-reference/responses/delete?lang=python)
  6. “standard” quality rejected by dall-e-2 API: no (but reformatted) (https://platform.openai.com/docs/api-reference/images)
  7. Chat Completions & Responses"service tier" misspellings: no (https://platform.openai.com/docs/api-reference/responses/create)
  8. Vision “size limits” wrong in several ways: no (https://platform.openai.com/docs/guides/images-vision?api-mode=chat)
  9. Shutoff gpt-4-1106-vision-preview in models docs: no (https://platform.openai.com/docs/models/gpt-4-turbo)

OpenAI yaml: April 29.

1 Like