---
title: "Acquire a model component from any source"
method: POST
path: "/v1/models/acquire"
tags: ["Models"]
---

# Acquire a model component from any source

`POST /v1/models/acquire`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/models/acquire`
- Auth: HTTP bearer

The multi-source acquisition seam the `model_download` MCP tool reaches
for non-HuggingFace sources. Resolves `source` to its adapter and starts
the transfer through the live `DownloadManager` (HF overlay / Civitai /
URL) — or, for `local`, registers the on-disk component in place with no
transfer. Base GGUF chat models keep the companion-aware
`POST /v1/models/download` route.

## Request body

- object
  - `source` 'huggingface' | 'civitai' | 'url' | 'local' | 'curated', required: Acquisition source a model id belongs to.
  - `id` string, required: Source-native model id — HF repo, Civitai model id, https URL, or local disk path.
  - `versionId` string: Civitai version anchor; absent for HuggingFace flat repos.
  - `file` string: Explicit file path to select within the candidate (overrides the adapter's default pick).
  - `kind` 'model' | 'lora' | 'vae' | 'embedding': Component kind — a base `model` loads into memory; a `lora` / `vae` / `embedding` is referenced, never loaded standalone.

## Response `200`

Transfer started (or local component registered)

- object
  - `ok` true, required
  - `id` string, required: A `download_id` for a tracked transfer, or the new component's model id for a local register.
  - `source` 'huggingface' | 'civitai' | 'url' | 'local' | 'curated', required: Acquisition source a model id belongs to.
  - `kind` 'model' | 'lora' | 'vae' | 'embedding': Component kind — a base `model` loads into memory; a `lora` / `vae` / `embedding` is referenced, never loaded standalone.
  - `registered` boolean, required: True when a local component was registered in place; false when a transfer job was started.

## Other responses

- `400`: Invalid request
- `409`: Component already present / conflict
- `502`: Upstream source error

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
