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

# Create a remote model upload

`POST /projects/{projectId}/models/uploads`

Starts an asynchronous job that imports model files from Hugging Face or a presigned URL into a registered model and creates a model revision when the import completes.

## Path parameters

- `projectId` string, required — Project identifier.

## Request body

- DECreateRemoteUploadSpec — Request parameters for creating a remote upload.
  - `modelId` string, required — ID of the registered model that will receive the imported files.
  - `remoteUrl` string, required — Hugging Face repository URL or presigned archive URL to import.
  - `token` string — Optional source credential used to access a private remote location. The value is write-only and is not returned.

## Response `200`

OK

- DERemoteUpload — Asynchronous job that imports remote files into a registered model and creates a model revision.
  - `id` string, required — Unique ID of the remote model import job.
  - `projectId` string, required — ID of the project that owns the import job.
  - `modelId` string, required — ID of the registered model receiving the imported files.
  - `remoteUrl` string, required — Hugging Face repository or presigned URL being imported.
  - `status` 'REMOTE_UPLOAD_STATUS_PENDING' | 'REMOTE_UPLOAD_STATUS_RUNNING' | 'REMOTE_UPLOAD_STATUS_ERROR' | 'REMOTE_UPLOAD_STATUS_SUCCEEDED' | 'REMOTE_UPLOAD_STATUS_FAILED', required — Current lifecycle state of the asynchronous import job.
  - `statusMessage` string — Human-readable progress or failure detail for the current status.
  - `restartCount` integer — Number of times the import worker has restarted this job.
  - `maxRestarts` integer — Maximum worker restarts allowed before the job fails permanently.
  - `createdAt` string, date-time, required — Time when the import job was created.
  - `updatedAt` string, date-time — Time when the import job was last updated.

## 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/f26a23fab8e0/schema)
