Skip to main content
Code: embeddings_batch_not_supported HTTP status: 400 Type: invalid_request

When it fires

You sent input as a string[] (array of strings) to POST /v1/embeddings. The v1.0 embedding surface explicitly rejects this shape. OpenAI’s API accepts input: string[] and returns one embedding per string (N→N batch semantics). Aurous Labs’ multimodal embedding models concatenate batched text into one document and return a single combined vector — the opposite of what an OpenAI-trained customer would expect. Silently swapping semantics would cause subtle bugs in production code (a “100 documents embedded” call would return 1 unusable embedding), so the platform refuses the request at the DTO boundary.

How to fix it

Pick one of two workarounds depending on what you actually want:

If you want N→N batch (one embedding per item)

Loop client-side and send one request per item. Parallelize with Promise.all (Node) or asyncio.gather (Python) to keep throughput high. See Multimodal — batch rejection for full SDK examples.

If you want ONE combined embedding for several text fragments

Pass them as content parts inside a single input array. The model will concatenate them into one document and return a single vector for the combined meaning:
This is intentional, semantically meaningful, and accepted by the platform — the resulting vector represents all three fragments together as one point in vector space.

Example response

No credits are charged for a request rejected at the DTO boundary.