# Civitai AI Models API
> Live data from Civitai, the largest community for sharing AI image-generation models — Stable Diffusion checkpoints, LoRAs, embeddings, VAEs and more — served from the public Civitai API, no key, nothing stored. This is the AI-art creator-platform cut: which models the community is downloading and rating, who makes them and how each one is engaged with. The models endpoint lists and searches models by name, type and base model, sorted by downloads, rating, likes or newest, each with its creator, tags and engagement (downloads, thumbs-up, comments). The model endpoint returns a single model in full — its description, full stats, tags, base models, version count and commercial-use permissions. The creators endpoint lists the platform's model creators with their model counts. By default only safe-for-work models are returned; pass nsfw=true to include adult content. Track the AI-art model meta — what the community is building and downloading right now — as live JSON. This is the AI-model-community cut — distinct from the general ML-model-hub, the image-generation and the price/market APIs in the catalogue.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/civitai-api/..."
```

## Pricing
- **Free** (Free) — 25,000 calls/Mo, 3 req/s
- **Creator** ($7/Mo) — 275,000 calls/Mo, 10 req/s
- **Pro** ($21/Mo) — 1,100,000 calls/Mo, 28 req/s
- **Scale** ($49/Mo) — 3,600,000 calls/Mo, 60 req/s

## Endpoints

### Models

#### `GET /v1/models` — List/search models with engagement

**Parameters:**
- `query` (query, optional, string) — Search query
- `type` (query, optional, string) — Model type (Checkpoint, LORA, ...)
- `sort` (query, optional, string) — downloads (default), rating, newest or likes Example: `downloads`
- `nsfw` (query, optional, string) — Include adult models (default false) Example: `false`
- `limit` (query, optional, string) — Max models (1-50) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/models?sort=downloads&nsfw=false&limit=20"
```

**Response:**
```json
{
    "data": {
        "nsfw": false,
        "sort": "downloads",
        "count": 2,
        "models": [
            {
                "id": 2669019,
                "name": "BlenderMix [Anima]",
                "nsfw": false,
                "tags": [
                    "3d",
                    "base model",
                    "2.5d",
                    "sfm",
                    "characters",
                    "video game",
                    "man",
                    "male"
                ],
                "type": "Checkpoint",
                "rating": null,
                "creator": "guy90",
                "comments": 0,
                "downloads": 440,
                "thumbs_up": 97,
                "base_model": "Anima"
            },
            {
                "id": 2666382,
                "name": "Yarat - Yet Another Realistic Anima (Fine-)Tune",
                "nsfw": false,
                "tags": [
                    "photorealistic",
                    "base model",
                    "anime",
                    "realism"
                ],
                "type": "Checkpoint",
                "rating": null,
                "creator": "KyoLabs",
                "comments": 5,
                "downloads": 338,
                "thumbs_up": 36,
                "base_model": "Anima"
            }
        ],
        "source": "Civitai"
    },
    "meta": {
        "timestamp": "2026-06-12T01:42:53.875Z",
        "request_id": "261cd11a-9973-
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/tags` — The model-tag vocabulary

**Parameters:**
- `query` (query, optional, string) — Search query
- `limit` (query, optional, string) — Max tags (1-100) Example: `30`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/tags?limit=30"
```

**Response:**
```json
{
    "data": {
        "tags": [
            {
                "name": "character"
            },
            {
                "name": "anime"
            },
            {
                "name": "style"
            },
            {
                "name": "woman"
            },
            {
                "name": "girls"
            },
            {
                "name": "concept"
            },
            {
                "name": "celebrity"
            },
            {
                "name": "game character"
            },
            {
                "name": "lora"
            },
            {
                "name": "photorealistic"
            },
            {
                "name": "male"
            },
            {
                "name": "realistic"
            },
            {
                "name": "clothing"
            },
            {
                "name": "video game"
            },
            {
                "name": "cartoon"
            },
            {
                "name": "man"
            },
            {
                "name": "base model"
            },
            {
                "name": "game"
            },
            {
                "name": "anthro"
            },
            {
                "name": "manga"
            },
            {
                "name": "actress"
            },
            {
                "name": "styles"
            },
            {
                "name": "fantasy"
            },
            {
 
…(truncated, see openapi.json for full schema)
```

### Model

#### `GET /v1/model` — A single model in full

**Parameters:**
- `id` (query, required, string) — Numeric model id Example: `4201`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/model?id=4201"
```

**Response:**
```json
{
    "data": {
        "id": 4201,
        "name": "Realistic Vision V6.0 B1",
        "nsfw": false,
        "tags": [
            "photorealistic",
            "anatomical",
            "realistic",
            "semi-realistic",
            "base model",
            "cgi"
        ],
        "type": "Checkpoint",
        "rating": null,
        "source": "Civitai",
        "creator": "SG_161222",
        "comments": 0,
        "downloads": 2239671,
        "favorites": null,
        "thumbs_up": 52550,
        "base_models": [
            "SD 1.5 Hyper",
            "SD 1.5"
        ],
        "description": "Check my exclusive models on Mage: ParagonXL / NovaXL / NovaXL Lightning / NovaXL V2 / NovaXL Pony / NovaXL Pony Lightning / RealDreamXL / RealDreamXL Lightning Recommendations for using the Hyper model: Sampler = DPM SDE++ Karras or another / 4-6+ steps CFG Scale = 1.5-2.0 ( the lower the value, the more mutations, but the less contrast ) I also recommend using ADetailer for generation (some examples were generated with ADetailer, this will be noted in the image comments). This model is availab",
        "rating_count": null,
        "version_count": 19,
        "latest_version": {
            "name": "V5.1 Hyper (VAE)",
            "base_model": "SD 1.5 Hyper",
            "published_at": "2024-05-12T06:24:13.109Z"
        },
        "allow_commercial_use": "{Image,RentCivit,Rent}"
    },
    "meta": {
        "timestamp": "2026-06-12T01:42:54.169Z",
        "request
…(truncated, see openapi.json for full schema)
```

### Creators

#### `GET /v1/creators` — Model creators with their model counts

**Parameters:**
- `query` (query, optional, string) — Search query
- `limit` (query, optional, string) — Max creators (1-50) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/creators?limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "source": "Civitai",
        "creators": [
            {
                "link": "https://civitai.com/api/v1/models?username=JustMaier",
                "username": "JustMaier",
                "model_count": 3
            },
            {
                "link": "https://civitai.com/api/v1/models?username=Maxfield",
                "username": "Maxfield",
                "model_count": 5
            },
            {
                "link": "https://civitai.com/api/v1/models?username=manuelurenah",
                "username": "manuelurenah",
                "model_count": null
            },
            {
                "link": "https://civitai.com/api/v1/models?username=bkdiehl482",
                "username": "bkdiehl482",
                "model_count": null
            },
            {
                "link": "https://civitai.com/api/v1/models?username=koenb",
                "username": "koenb",
                "model_count": null
            },
            {
                "link": "https://civitai.com/api/v1/models?username=ish00tcake1styt",
                "username": "ish00tcake1styt",
                "model_count": 1
            },
            {
                "link": "https://civitai.com/api/v1/models?username=PublicPrompts",
                "username": "PublicPrompts",
                "model_count": 13
            },
            {
                "link": "https://civitai.com/api/v1/models?username=drone2222",
         
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "sort = downloads (default), rating, newest or likes. type filters by Checkpoint, LORA, TextualInversion, etc. nsfw defaults to false; pass nsfw=true to include adult models. Engagement counts are community totals.",
        "source": "Civitai (civitai.com/api/v1, live)",
        "service": "civitai-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/model": "A single model in full — description, stats, tags, base models, versions (id=4201).",
            "GET /v1/models": "List/search models with engagement (query, type, sort=downloads|rating|newest|likes, nsfw=false, limit=20).",
            "GET /v1/creators": "Model creators with their model counts (query optional)."
        },
        "description": "Live data from Civitai, the largest community for sharing AI image-generation models (Stable Diffusion checkpoints, LoRAs, embeddings). The AI-art creator-platform cut: which models the community downloads and rates, who makes them and how each is engaged with. The models endpoint lists and searches models with type, creator, base model, tags and engagement (downloads, thumbs-up, comments); the model endpoint returns a single model in full; the creators endpoint lists model creators with their model counts. Safe-for-work only by default. Live, no key, nothing stored. The AI-model-community cut — distinct from the general ML-model-hub, image-generation and price/market APIs.",
        "upstream_st
…(truncated, see openapi.json for full schema)
```

### Images

#### `GET /v1/images` — The community AI-art gallery (SFW)

**Parameters:**
- `sort` (query, optional, string) — reactions (default), comments or newest Example: `reactions`
- `modelId` (query, optional, string) — Filter to images from one model
- `period` (query, optional, string) — AllTime, Year, Month, Week or Day
- `limit` (query, optional, string) — Max images (1-50) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/civitai-api/v1/images?sort=reactions&limit=20"
```

**Response:**
```json
{
    "data": {
        "sort": "reactions",
        "count": 20,
        "images": [
            {
                "id": 12097475,
                "url": "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/936f0e8d-c76f-4aa7-8b5c-37349f9b7da7/original=true/936f0e8d-c76f-4aa7-8b5c-37349f9b7da7.jpeg",
                "likes": 15363,
                "width": 1520,
                "hearts": 6657,
                "height": 1952,
                "prompt": null,
                "comments": 24,
                "post_url": "https://civitai.com/posts/2669960",
                "username": "Stellaaa",
                "base_model": "Pony",
                "created_at": "2024-05-10T21:33:39.009Z",
                "reactions_total": 24950
            },
            {
                "id": 64399178,
                "url": "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/db5208dd-da08-40c7-8ed4-bd67508740ac/original=true/db5208dd-da08-40c7-8ed4-bd67508740ac.jpeg",
                "likes": 15058,
                "width": 832,
                "hearts": 5362,
                "height": 1216,
                "prompt": null,
                "comments": 27,
                "post_url": "https://civitai.com/posts/14356296",
                "username": "L10n_H34r7",
                "base_model": "Flux.1 D",
                "created_at": "2025-04-11T19:56:34.648Z",
                "reactions_total": 23612
            },
            {
                "id": 17391786,
                "url": "https://image.
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/civitai-api
OpenAPI spec: https://www.oanor.com/api/civitai-api/openapi.json
