Skip to content

Models

A model represents a trained AI resource published on Civitai — a checkpoint, LoRA, textual inversion, VAE, ControlNet, upscaler, etc. Each model has one or more model versions containing the actual files.

List models

GET /api/v1/models

Auth: Mixed — the favorites and hidden params require a bearer token.

Query parameters

NameTypeDefaultDescription
limitinteger (1–100)100Number of items per page.
pageinteger (≥ 1)1-indexed page number. Incompatible with query.
cursorstringOpaque pagination cursor. Use metadata.nextCursor from the previous response.
querystringFull-text search (Meilisearch). Requires cursor-based pagination.
idscomma-separated integersRestrict to specific model IDs.
tagstringFilter by tag name.
usernamestringFilter by creator. Auto-slugified.
typesModelType or ModelType[]One or more of the values from GET /enums (ModelType). Repeat the param or comma-separate.
baseModelsstring or string[]Filter by base model (e.g. SDXL 1.0, Flux.1 D). See GET /enums (BaseModel).
checkpointTypeStandard | Trained | MergeFor checkpoint models only.
sortHighest Rated | Most Downloaded | Newest | ...Highest RatedSee source for full list.
periodAllTime | Year | Month | Week | DayAllTimeTime window for sort metrics.
nsfwbooleanfalseIf true, include mature content. Ignored on SFW-gated regions.
supportsGenerationbooleanOnly return models supported by on-site generation.
fromPlatformbooleanOnly return models trained on Civitai.
earlyAccessbooleanInclude early-access versions.
primaryFileOnlybooleanfalseDrop non-primary files from each version's files[].
favoritesbooleanfalse(auth required) Only models in the caller's bookmark collection.
hiddenbooleanfalse(auth required) Only models the caller has hidden.

Unknown params are silently ignored after Zod parsing; invalid ones return 400.

Response

json
{
  "items": [
    {
      "id": 827184,
      "name": "WAI-illustrious-SDXL",
      "description": "<p>...</p>",
      "type": "Checkpoint",
      "nsfw": false,
      "nsfwLevel": 31,
      "availability": "Public",
      "supportsGeneration": true,
      "allowNoCredit": true,
      "allowCommercialUse": "{Image,RentCivit}",
      "allowDerivatives": true,
      "allowDifferentLicense": true,
      "minor": false,
      "poi": false,
      "sfwOnly": false,
      "stats": {
        "downloadCount": 1272529,
        "thumbsUpCount": 79272,
        "thumbsDownCount": 202,
        "commentCount": 1931,
        "tippedAmountCount": 156742
      },
      "creator": {
        "username": "WAI0731",
        "image": "https://image.civitai.com/.../WAI0731.jpeg"
      },
      "tags": ["base model", "anime"],
      "modelVersions": [
        {
          "id": 2514310,
          "name": "v16.0",
          "baseModel": "Illustrious",
          "baseModelType": "Standard",
          "publishedAt": "2025-12-18T09:16:12.062Z",
          "supportsGeneration": true,
          "stats": { "downloadCount": 215627, "thumbsUpCount": 13828, "thumbsDownCount": 22 },
          "files": [
            {
              "id": 2402203,
              "name": "waiIllustriousSDXL_v160.safetensors",
              "type": "Model",
              "sizeKB": 6775430.35,
              "hashes": {
                "AutoV2": "A5F58EB1C3",
                "SHA256": "A5F58EB1C3...",
                "BLAKE3": "1A411D9B..."
              },
              "downloadUrl": "https://civitai.com/api/download/models/2514310",
              "primary": true,
              "metadata": { "format": "SafeTensor", "size": "pruned", "fp": "fp16" }
            }
          ],
          "images": [],
          "downloadUrl": "https://civitai.com/api/download/models/2514310"
        }
      ]
    }
  ],
  "metadata": {
    "nextCursor": "75363|932023|257749",
    "nextPage": "https://civitai.com/api/v1/models?limit=100&cursor=...",
    "currentPage": 1,
    "pageSize": 100
  }
}

When using page pagination, metadata additionally includes currentPage and pageSize. When using cursor pagination, those are omitted.

Notes

  • page * limit above 1000 returns 429; use cursor for deep paging. See Pagination.
  • Including query without cursor is fine; combining query with page returns 400.
  • Only Published versions are returned to non-moderator callers. Files marked non-public by the uploader are hidden from files[].
  • images[] is omitted entirely when the model is taken down; files[] and downloadUrl are omitted when the model is archived.

Example

bash
curl "https://civitai.com/api/v1/models?limit=5&types=LORA&baseModels=SDXL%201.0&sort=Most%20Downloaded"
GET

Get a model

GET /api/v1/models/{id}

Auth: Public.

Path parameters

NameTypeDescription
idintegerModel ID.

Response

Returns the same shape as a single item from the list endpoint — same top-level keys (id, name, type, modelVersions, creator, tags, stats, ...).

Returns 404 if the model doesn't exist:

json
{ "error": "No model with id 0" }

Example

bash
curl "https://civitai.com/api/v1/models/827184"
GET

Civitai Developer Documentation