v5

OpenAPI 3.1.02026-08-025631,1012.8 MB
Models

Generate presigned URL for model upload

Generate a presigned URL for uploading a custom model archive.

This is step 1 of the presigned URL workflow:

  1. POST /models/uploads → Returns presigned_url + upload_id
  2. PUT presigned_url with model archive (client uploads directly to S3)
  3. POST /models/uploads/{upload_id}/confirm → Validates and creates model

The model will be stored at the organization level and can be enabled in any namespace within the organization.

Availability: custom model upload is an enterprise-tier feature — requests from other account tiers receive a 403. Contact support or upgrade your plan to enable it (BACKE-2759: this gate was previously undocumented and only discoverable by hitting the 403).

post/v1/models/uploads

Request body

namestring required

Model name: 3-64 chars, letters/numbers/underscores, starts with a letter (no hyphens or spaces)

versionstring required

Semantic version string

model_format'safetensors' | 'onnx' | 'pytorch' | 'huggingface' required

Format of the model weights

descriptionstring nullable

Optional description of the model

file_size_bytesinteger nullable

Expected file size in bytes for quota validation

presigned_url_expirationinteger

Presigned URL expiration time in seconds (1-24 hours)

frameworkstring nullable

ML framework (e.g., sentence-transformers, transformers)

task_typestring nullable

Task type (e.g., embedding, classification, generation)

source'customer' | 'mixpeek' | 'system'

Who is uploading: 'customer' (default) or 'mixpeek' (professional services). Mixpeek-sourced models are non-exportable by default.

Example request

{
  "name": "custom_embedder",
  "version": "1.0.0",
  "model_format": "safetensors"
}

Response

Successful Response

upload_idstring required

Upload ID to use when confirming

presigned_urlstring required

S3 presigned URL for PUT upload

s3_keystring required

S3 object key where file will be stored

expires_atstring date-time required

When the presigned URL expires

organization_idstring required

Organization ID

namestring required

Model name

versionstring required

Model version

model_format'safetensors' | 'onnx' | 'pytorch' | 'huggingface' required

Model format