Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

feat: Download model simultaneously via API #1632

@louis-jan

Description

@louis-jan

Problem Statement

It would be great to allow users to download models simultaneously via the API. Currently, a POST request to /models/pull triggers only one download at a time, causing the second request to wait until the first download is completed. This causes a poor UX when integrating cortex.cpp into Jan.

Feature Idea

Supporting that might lead to a slight change in the response structure of the /events

{
  "task": {
    "id": "tinyllama:gguf",
    "items": [
      {
        "bytes": 668788096,
        "checksum": "N/A",
        "downloadUrl": "https://huggingface.co/cortexso/tinyllama/resolve/gguf/model.gguf",
        "downloadedBytes": 0,
        "id": "model.gguf",
        "localPath": "/home/jan/cortexcpp/models/cortex.so/tinyllama/gguf/model.gguf"
      },
      {
        "bytes": 668788096,
        "checksum": "N/A",
        "downloadUrl": "https://huggingface.co/cortexso/tinyllama/resolve/gguf/model.yml",
        "downloadedBytes": 651208498,
        "id": "model.yml",
        "localPath": "/home/jan/cortexcpp/models/cortex.so/tinyllama/gguf/model.yml"
      }
    ],
    "type": "Model"
  },
  "type": "DownloadUpdated"
}

So that there should be an array of tasks instead of a task object. This could affect Jan later, so we should update accordingly.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions