Skip to main content
POST
/
models
/
presign
Request a presigned upload URL for a model file
curl --request POST \
  --url https://core.cyberun.cloud/api/v1/models/presign \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "file_name": "sdxl_base_1.0.safetensors",
  "file_size": 6800000000,
  "model_type": "checkpoints",
  "model_path": "models/checkpoints/sdxl_base_1.0.safetensors"
}
'
{
  "upload_url": "https://s3.example.com/bucket/key?X-Amz-Signature=...",
  "storage_key": "models/019abc12-4567/019def34-5678",
  "upload_headers": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.cyberun.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

User session JWT (Bearer ). Must be paired with the X-Team-ID request header on team-scoped endpoints so the server knows which team's resources to operate on.

Headers

X-Team-ID
string<uuid>

UUID of the team to scope the request to. Used by dual-auth endpoints (runtime + scoped management):

  • JWT callers MUST send it — a user may belong to multiple teams and the runtime cannot otherwise know which one to operate on. Missing header → 400.
  • Credential callers (sk-, dk-) can omit it because the team is derived from the credential row itself. Any value sent is ignored.
Example:

"019abc12-4567-7890-abcd-ef1234567891"

Body

application/json

Request a presigned S3 PUT URL to upload a model file.

file_name
string
required

Original filename of the model file.

Example:

"sdxl_base_1.0.safetensors"

file_size
integer<int64>
required

File size in bytes.

Example:

6800000000

model_type
string
required

Type/subdirectory of the model (e.g. checkpoints, loras, vae). Corresponds to a ComfyUI models subdirectory.

Required string length: 1 - 50
Example:

"checkpoints"

model_path
string
required

Relative path inside ComfyUI models directory (e.g. models/checkpoints/sdxl.safetensors). Must not contain .., backslashes, or be absolute.

Pattern: ^(?!/)(?!.*\.\.)(?!.*\\)[\w./ -]+$
Example:

"models/checkpoints/sdxl_base_1.0.safetensors"

Response

Presigned upload URL generated

upload_url
string
required

S3 PUT URL for uploading the model file. Include all upload_headers in the request.

Example:

"https://s3.example.com/bucket/key?X-Amz-Signature=..."

storage_key
string
required

S3 object key to reference when confirming the upload.

Example:

"models/019abc12-4567/019def34-5678"

upload_headers
object
required

Required HTTP headers for the PUT upload (signed into the URL).