---
title: "Create a model"
method: POST
path: "/projects/{projectId}/models"
tags: ["VolumeService"]
---

# Create a model

`POST /projects/{projectId}/models`

Registers a custom model resource in the project. Registration creates the model's metadata; upload or import model files separately before deploying it.

## Path parameters

- `projectId` string, required — Project identifier.

## Request body

- DECreateModelRequest — Request for registering a custom model or adapter in a project.
  - `name` string, required — Name for the custom model. May be bare or qualified as `<project_slug>/<model_name>`; a supplied project slug must match the project in the request path.
  - `type` string, required — Volume type to create. Use `model` or `adapter`; plural `models` and `adapters` are also accepted.
  - `description` string — Human-readable description of the model and its intended use.
  - `baseModelId` string, required — ID of the supported base model from which this model was derived.

## Response `200`

OK

- DEModel — Custom or derived model registered in a project and backed by versioned weight files.
  - `id` string, required — Unique model identifier.
  - `projectId` string, required — ID of the project that owns the model.
  - `organizationId` string, required — ID of the organization that owns the model's project.
  - `name` string, required — Project-qualified model name in the form `<project_slug>/<model_name>`. Create and update requests may use the bare or qualified form.
  - `description` string — Human-readable description of the model and its intended use.
  - `weights` DEModelWeights, required — Architecture, size, precision, and speculative-decoding metadata for model weights.
    - `type` 'WEIGHTS_TYPE_DEFAULT' | 'WEIGHTS_TYPE_SPECULATOR' | 'WEIGHTS_TYPE_ADAPTER' — Role of the weights: full model, speculative draft model, or LoRA adapter.
    - `speculatorMechanism` 'SPECULATOR_MECHANISM_DRAFT' | 'SPECULATOR_MECHANISM_LOOKAHEAD' | 'SPECULATOR_MECHANISM_MTP' — Speculative decoding mechanism for speculator weights.
    - `draftSpeculatorType` 'DRAFT_SPECULATOR_TYPE_EAGLE' | 'DRAFT_SPECULATOR_TYPE_PHOENIX' — Draft-model speculator family for draft speculative decoding.
    - `architecture` string — Model architecture detected from the weight metadata.
    - `contextLength` string — Maximum context length reported by the model metadata.
    - `parameters` DEModelParameters — Model parameter count and precision breakdown.
      - `total` string, required — Total number of parameters in the model weights.
      - `byDtype` DEModelDTypeCount[], required — Parameter counts grouped by numerical data type.
        - `dtype` string, required — Numerical data type, such as `float16`, `bfloat16`, or `int8`.
        - `count` string, required — Number of model parameters stored with this data type.
  - `baseModelId` string — ID of the supported or custom base model from which this model was derived.
  - `baseModel` string — Resource name of the base model, using `projects/{baseProject}/models/{baseModelId}`; empty when the model has no base.
  - `visibility` 'VISIBILITY_PRIVATE' | 'VISIBILITY_INTERNAL', required — Who can discover the model. `VISIBILITY_PRIVATE` restricts it to the project; `VISIBILITY_INTERNAL` shares it with the organization.

## Other responses

- `default` — Default error response

---

[API](https://skmtc.net/together/apis/together-apis.md) · [All operations](https://skmtc.net/together/apis/together-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/together/together-apis/revisions/468edbdc879c/schema)
