AI Model
Lifecycle of AI Models.
create-model
[BETA] Create Model
POST /ai/modelModel files will be downloaded from Huggingface.
Name must be the exact name of the model on huggingface (ex: openai/gpt-oss-120b or ggml-org/gpt-oss-120b-GGUF).
If the model is under a license then you must provide a Huggingface access token for an account that signed the license agreement
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
huggingface-token | string | no | Huggingface Token |
name | string | no | Model name |
Example
{
"huggingface-token": "string",
"name": "string"
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for create-model: golang | Python | Java
CLI: exo api create-model
get-model
[BETA] Get Model
GET /ai/model/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
created-at | string | Creation time |
id | string | Model ID |
model-size | integer | Model size (nullable) |
name | string | Model name |
status | string | Model status Allowed values: ready, creating, downloading, error. |
updated-at | string | Update time |
Example output
{
"created-at": "2024-01-01T12:00:00Z",
"id": "string",
"model-size": 0,
"name": "string",
"status": "ready",
"updated-at": "2024-01-01T12:00:00Z"
}404: 404
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
error | string | Error description |
Example output
{
"error": "string"
}SDK reference for get-model: golang | Python | Java
CLI: exo api get-model
delete-model
[BETA] Delete Model
DELETE /ai/model/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}412: 412
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
deployments | array[string] | Deployments using models |
Example output
{
"deployments": [
"string"
]
}SDK reference for delete-model: golang | Python | Java
CLI: exo api delete-model
Other Operations
list-models
[BETA] List Models
GET /ai/modelResponses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
models | array[object] | schema details |
Example output
{
"models": [
{
"created-at": "2024-01-01T12:00:00Z",
"id": "string",
"model-size": 0,
"name": "string",
"status": "ready",
"updated-at": "2024-01-01T12:00:00Z"
}
]
}SDK reference for list-models: golang | Python | Java
CLI: exo api list-models