Embedding models the bulk-ingestion (batch embeddings) lane admits. A model needs a provider batch
adapter to be listed here, but an adapter alone is not enough: a route is listed only once every core
pod can take it, because a pod on an older image routes a job it cannot place to the wrong provider.
This list IS that switch — adding a model here opens its route everywhere at once.
Public and shared deliberately: bulkUpsertContexts answers a batch-transport job on any other model
with a 501, but createBulkUploadUrls resolves no base at all, so a caller that stages before it upserts
learns of the refusal only once the bytes are already uploaded. A caller that knows this bound can check
the base up front and refuse the request instead — which only works while this list says what the
deployment will really take. A base on an unlisted model keeps ingesting on the sync transport.
Embedding models the bulk-ingestion (batch embeddings) lane admits. A model needs a provider batch adapter to be listed here, but an adapter alone is not enough: a route is listed only once every core pod can take it, because a pod on an older image routes a job it cannot place to the wrong provider. This list IS that switch — adding a model here opens its route everywhere at once.
Public and shared deliberately:
bulkUpsertContextsanswers a batch-transport job on any other model with a 501, butcreateBulkUploadUrlsresolves no base at all, so a caller that stages before it upserts learns of the refusal only once the bytes are already uploaded. A caller that knows this bound can check the base up front and refuse the request instead — which only works while this list says what the deployment will really take. A base on an unlisted model keeps ingesting on the sync transport.