VLM – Models

This page is part of the Custom Vision Language Models (VLM) API reference. See the overview for task modes, key concepts, the end-to-end workflow and the list of all endpoints.

Model Endpoints

Every training run creates a new model (a version of the task). Models move through these statuses:

train_statusDescription
TO_TRAINQueued, waiting for a worker.
PENDINGA worker has claimed the model and is preparing the training job.
IN_TRAININGTraining is running.
TRAINEDTraining finished successfully, the model can be deployed and used for requests.
FAILEDTraining failed.
TIMED_OUTTraining exceeded the allowed time.
CANCELEDTraining was canceled (e.g. the model was deleted while queued).

GET/v2/model/?task={task_id}

List Models

List the trained model versions of a task. Uses cursor pagination: follow the next link returned in the response.

Required attributes

  • Name
    Authorization
    Type
    string
    Description

    Unique API token for authentication.

  • Name
    task
    Type
    string
    Description

    UUID of the task (query parameter).

Returns (each item)

  • Name
    id
    Type
    string
    Description

    UUID of the model.

  • Name
    version
    Type
    integer
    Description

    Version number within the task.

  • Name
    train_status
    Type
    string
    Description

    Training status, see the table above.

  • Name
    evaluate_status
    Type
    string
    Description

    Evaluation status: TO_EVALUATE, PENDING, IN_EVALUATION, EVALUATED or FAILED.

  • Name
    model_type
    Type
    string
    Description

    Base model used for training, e.g. LiquidAI/LFM2.5-VL-450M or Qwen/Qwen3-VL-Embedding-2B.

  • Name
    training_type
    Type
    string
    Description

    Training method, e.g. lora.

  • Name
    created_date
    Type
    string
    Description

    Timestamp when the training was requested.

  • Name
    finished_date
    Type
    string
    Description

    Timestamp when the training finished, null while running.

  • Name
    locked
    Type
    boolean
    Description

    Locked models are kept when older versions are pruned.

Request

GET
/v2/model/?task={task_id}
curl -v -XGET \
     -H 'Authorization: Token __API_TOKEN__' \
     'https://api.ximilar.com/vlm/v2/model/?task=__TASK_ID__'

Response

{
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "0f1c9b1e-6a1c-4c0d-8f77-1a6c2f1f4c11",
      "created_date": "2026-03-02T11:03:12.512001Z",
      "task": "dbb498ba-cf24-4400-9897-d5196444a880",
      "task_name": "Card grading",
      "finished_date": "2026-03-02T12:41:55.000000Z",
      "train_status": "TRAINED",
      "evaluate_status": "EVALUATED",
      "version": 2,
      "locked": false,
      "model_type": "LiquidAI/LFM2.5-VL-450M",
      "training_type": "lora",
      "training_provider_scope": "ANY",
      "training_attempt": null
    }
  ]
}

GET/v2/model/{model_id}/

Get Model

Get the details of a model version, including training and evaluation stats (next-token accuracy for instruction and agentic models; hit rate, precision, recall, MRR and nDCG at k for retrieval models).

Required attributes

  • Name
    Authorization
    Type
    string
    Description

    Unique API token for authentication.

  • Name
    model_id
    Type
    string
    Description

    UUID of the model.

Optional attributes

  • Name
    test
    Type
    boolean
    Description

    Query parameter. true returns the stats computed on the test samples, false (default) on the training split.

Returns

All fields of List Models plus description (editable via PATCH), production (whether this version is deployed), started_date, download_date, model_path_download, stats, workspace_id and auto_deploy.

Request

GET
/v2/model/{model_id}/
curl -v -XGET \
     -H 'Authorization: Token __API_TOKEN__' \
     'https://api.ximilar.com/vlm/v2/model/__MODEL_ID__/?test=true'

DELETE/v2/model/{model_id}/

Delete Model

Delete a model version. Queued models (TO_TRAIN) can be deleted to cancel the training. Models that are PENDING or IN_TRAINING cannot be deleted and return 409 Conflict.

Required attributes

  • Name
    Authorization
    Type
    string
    Description

    Unique API token for authentication.

  • Name
    model_id
    Type
    string
    Description

    UUID of the model.

Request

DELETE
/v2/model/{model_id}/
curl -v -XDELETE \
     -H 'Authorization: Token __API_TOKEN__' \
     https://api.ximilar.com/vlm/v2/model/__MODEL_ID__/

GET/v2/model/{model_id}/request-download/

Download Model

Get a temporary download link for the trained weights of a model. The link is valid for one hour.

Required attributes

  • Name
    Authorization
    Type
    string
    Description

    Unique API token for authentication.

  • Name
    model_id
    Type
    string
    Description

    UUID of a model with train_status TRAINED.

Errors

  • 404 Model is not trained! Please wait!

Request

GET
/v2/model/{model_id}/request-download/
curl -v -XGET \
     -H 'Authorization: Token __API_TOKEN__' \
     https://api.ximilar.com/vlm/v2/model/__MODEL_ID__/request-download/

Response

{
  "id": "0f1c9b1e-6a1c-4c0d-8f77-1a6c2f1f4c11",
  "task": "dbb498ba-cf24-4400-9897-d5196444a880",
  "version": 2,
  "download_url": "https://storage.ximilar.com/...",
  "expires_in": 3600
}

Was this page helpful?