> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a custom model

> Upload custom model weights to the namespace.

**Requirements:**
- Organization must be on Enterprise tier

**Supported Model Formats:**
- `safetensors`: SafeTensors format (recommended for transformers)
- `onnx`: ONNX Runtime format
- `pytorch`: PyTorch state_dict or TorchScript
- `huggingface`: HuggingFace model directory

**Base Images (auto-selected based on format):**
- `mixpeek/serve-gpu:latest`: For safetensors, pytorch, huggingface (includes torch, transformers)
- `mixpeek/serve-minimal:latest`: For ONNX (includes onnxruntime only)

**Important:** Models run in fixed base images. You cannot install additional pip packages.
All required frameworks (torch, transformers, onnxruntime) are pre-installed.



## OpenAPI

````yaml post /v1/namespaces/{namespace_id}/models
openapi: 3.1.0
info:
  title: Mixpeek API
  description: >-
    This is the Mixpeek API, providing access to various endpoints for data
    processing and retrieval.
  termsOfService: https://mixpeek.com/terms
  contact:
    name: Mixpeek Support
    url: https://mixpeek.com/contact
    email: info@mixpeek.com
  version: '0.82'
servers:
  - url: https://api.mixpeek.com
    description: Production
security: []
paths:
  /v1/namespaces/{namespace_id}/models:
    post:
      tags:
        - Custom Models
      summary: Upload a custom model
      description: >-
        Upload custom model weights to the namespace.


        **Requirements:**

        - Organization must be on Enterprise tier


        **Supported Model Formats:**

        - `safetensors`: SafeTensors format (recommended for transformers)

        - `onnx`: ONNX Runtime format

        - `pytorch`: PyTorch state_dict or TorchScript

        - `huggingface`: HuggingFace model directory


        **Base Images (auto-selected based on format):**

        - `mixpeek/serve-gpu:latest`: For safetensors, pytorch, huggingface
        (includes torch, transformers)

        - `mixpeek/serve-minimal:latest`: For ONNX (includes onnxruntime only)


        **Important:** Models run in fixed base images. You cannot install
        additional pip packages.

        All required frameworks (torch, transformers, onnxruntime) are
        pre-installed.
      operationId: upload_model_v1_namespaces__namespace_id__models_post
      parameters:
        - name: namespace_id
          in: path
          required: true
          schema:
            type: string
            title: Namespace Id
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: >-
                #/components/schemas/Body_upload_model_v1_namespaces__namespace_id__models_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelUploadResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Custom models not supported
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Model already exists
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Body_upload_model_v1_namespaces__namespace_id__models_post:
      properties:
        file:
          type: string
          format: binary
          title: File
          description: Model archive (.tar.gz)
        name:
          type: string
          title: Name
          description: Model name
        version:
          type: string
          title: Version
          description: Model version
        model_format:
          type: string
          enum:
            - safetensors
            - onnx
            - pytorch
            - huggingface
          title: Model Format
          description: Model format
        framework:
          anyOf:
            - type: string
            - type: 'null'
          title: Framework
          description: ML framework (e.g., sentence-transformers)
        task_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Task Type
          description: Task type (e.g., embedding, classification)
        num_cpus:
          type: number
          title: Num Cpus
          description: CPU requirements
          default: 1
        num_gpus:
          type: integer
          title: Num Gpus
          description: GPU requirements
          default: 0
        memory_gb:
          type: number
          title: Memory Gb
          description: Memory in GB
          default: 4
      type: object
      required:
        - file
        - name
        - version
        - model_format
      title: Body_upload_model_v1_namespaces__namespace_id__models_post
    ModelUploadResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether upload succeeded
        model_id:
          type: string
          title: Model Id
          description: Unique model identifier
        deployment_status:
          type: string
          enum:
            - deployed
            - pending
            - failed
            - not_deployed
          title: Deployment Status
          description: Deployment status
        endpoint:
          type: string
          title: Endpoint
          description: Model inference endpoint
        model_archive_url:
          type: string
          title: Model Archive Url
          description: S3 URL where archive is stored
      type: object
      required:
        - success
        - model_id
        - deployment_status
        - endpoint
        - model_archive_url
      title: ModelUploadResponse
      description: Response model for model upload.
    ErrorResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Always false for error responses
          default: false
        status:
          type: integer
          title: Status
          description: HTTP status code for this error
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: Error details payload
      type: object
      required:
        - status
        - error
      title: ErrorResponse
      description: Error response model.
      examples:
        - error:
            details:
              id: ns_123
              resource: namespace
            message: Namespace not found
            type: NotFoundError
          status: 404
          success: false
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ErrorDetail:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error message
        type:
          type: string
          title: Type
          description: Stable error type identifier (machine-readable)
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            Fine-grained error code for programmatic handling (e.g.,
            namespace_name_taken, feature_extractor_not_found). Present only
            when consumers may need to branch on a specific error condition.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Optional structured details to help debugging (validation errors,
            IDs, etc.)
      type: object
      required:
        - message
        - type
      title: ErrorDetail
      description: Error detail model.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````