Compare commits
16 Commits
auto-gen
...
d756ea1d0e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d756ea1d0e | ||
|
|
79bbf669e2 | ||
|
|
5e4348ebc1 | ||
|
|
1b8a798c31 | ||
|
|
d95b81dde5 | ||
|
|
ec08eb5d31 | ||
|
|
2c1c3a7ed7 | ||
|
|
ee36caccd6 | ||
|
|
e226548471 | ||
|
|
b9196ef5f5 | ||
|
|
a38915b354 | ||
|
|
da55b0889b | ||
|
|
9b143e65b1 | ||
|
|
27d2a70867 | ||
|
|
3c828a170f | ||
|
|
ae7ba961c1 |
8
.dockerignore
Normal file
8
.dockerignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
venv/
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
instance/
|
||||||
|
flask_session/
|
||||||
|
static/uploads/
|
||||||
|
tools/
|
||||||
|
.git/
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -31,3 +31,6 @@ Thumbs.db
|
|||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
|
# Tools (cloned at runtime — not tracked in this repo)
|
||||||
|
tools/
|
||||||
|
|||||||
511
CLAUDE.md
Normal file
511
CLAUDE.md
Normal file
@@ -0,0 +1,511 @@
|
|||||||
|
# GAZE — Character Browser: LLM Development Guide
|
||||||
|
|
||||||
|
## What This Project Is
|
||||||
|
|
||||||
|
GAZE is a Flask web app for managing AI image generation assets and generating images via ComfyUI. It is a **personal creative tool** for organizing characters, outfits, actions, styles, scenes, and detailers — all of which map to Stable Diffusion LoRAs and prompt fragments — and generating images by wiring those assets into a ComfyUI workflow at runtime.
|
||||||
|
|
||||||
|
The app is deployed locally, connects to a local ComfyUI instance at `http://127.0.0.1:8188`, and uses SQLite for persistence. LoRA and model files live on `/mnt/alexander/AITools/Image Models/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### File Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
app.py # ~186 lines: Flask init, config, logging, route registration, startup/migrations
|
||||||
|
models.py # SQLAlchemy models only
|
||||||
|
comfy_workflow.json # ComfyUI workflow template with placeholder strings
|
||||||
|
utils.py # Pure constants + helpers (no Flask/DB deps)
|
||||||
|
services/
|
||||||
|
__init__.py
|
||||||
|
comfyui.py # ComfyUI HTTP client (queue_prompt, get_history, get_image)
|
||||||
|
workflow.py # Workflow building (_prepare_workflow, _apply_checkpoint_settings)
|
||||||
|
prompts.py # Prompt building + dedup (build_prompt, build_extras_prompt)
|
||||||
|
llm.py # LLM integration + MCP tool calls (call_llm, load_prompt)
|
||||||
|
mcp.py # MCP/Docker server lifecycle (ensure_mcp_server_running)
|
||||||
|
sync.py # All sync_*() functions + preset resolution helpers
|
||||||
|
job_queue.py # Background job queue (_enqueue_job, _make_finalize, worker thread)
|
||||||
|
file_io.py # LoRA/checkpoint scanning, file helpers
|
||||||
|
routes/
|
||||||
|
__init__.py # register_routes(app) — imports and calls all route modules
|
||||||
|
characters.py # Character CRUD + generation + outfit management
|
||||||
|
outfits.py # Outfit routes
|
||||||
|
actions.py # Action routes
|
||||||
|
styles.py # Style routes
|
||||||
|
scenes.py # Scene routes
|
||||||
|
detailers.py # Detailer routes
|
||||||
|
checkpoints.py # Checkpoint routes
|
||||||
|
looks.py # Look routes
|
||||||
|
presets.py # Preset routes
|
||||||
|
generator.py # Generator mix-and-match page
|
||||||
|
gallery.py # Gallery browsing + image/resource deletion
|
||||||
|
settings.py # Settings page + status APIs + context processors
|
||||||
|
strengths.py # Strengths gallery system
|
||||||
|
transfer.py # Resource transfer system
|
||||||
|
queue_api.py # /api/queue/* endpoints
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dependency Graph
|
||||||
|
|
||||||
|
```
|
||||||
|
app.py
|
||||||
|
├── models.py (unchanged)
|
||||||
|
├── utils.py (no deps except stdlib)
|
||||||
|
├── services/
|
||||||
|
│ ├── comfyui.py ← utils (for config)
|
||||||
|
│ ├── prompts.py ← utils, models
|
||||||
|
│ ├── workflow.py ← prompts, utils, models
|
||||||
|
│ ├── llm.py ← mcp (for tool calls)
|
||||||
|
│ ├── mcp.py ← (stdlib only: subprocess, os)
|
||||||
|
│ ├── sync.py ← models, utils
|
||||||
|
│ ├── job_queue.py ← comfyui, models
|
||||||
|
│ └── file_io.py ← models, utils
|
||||||
|
└── routes/
|
||||||
|
├── All route modules ← services/*, utils, models
|
||||||
|
└── (routes never import from other routes)
|
||||||
|
```
|
||||||
|
|
||||||
|
**No circular imports**: routes → services → utils/models. Services never import routes. Utils never imports services.
|
||||||
|
|
||||||
|
### Route Registration Pattern
|
||||||
|
|
||||||
|
Routes use a `register_routes(app)` closure pattern — each route module defines a function that receives the Flask `app` object and registers routes via `@app.route()` closures. This preserves all existing `url_for()` endpoint names without requiring Blueprint prefixes. Helper functions used only by routes in that module are defined inside `register_routes()` before the routes that reference them.
|
||||||
|
|
||||||
|
### Database
|
||||||
|
SQLite at `instance/database.db`, managed by Flask-SQLAlchemy. The DB is a cache of the JSON files on disk — the JSON files are the source of truth.
|
||||||
|
|
||||||
|
**Models**: `Character`, `Look`, `Outfit`, `Action`, `Style`, `Scene`, `Detailer`, `Checkpoint`, `Settings`
|
||||||
|
|
||||||
|
All category models (except Settings and Checkpoint) share this pattern:
|
||||||
|
- `{entity}_id` — canonical ID (from JSON, often matches filename without extension)
|
||||||
|
- `slug` — URL-safe version of the ID (alphanumeric + underscores only, via `re.sub(r'[^a-zA-Z0-9_]', '', id)`)
|
||||||
|
- `name` — display name
|
||||||
|
- `filename` — original JSON filename
|
||||||
|
- `data` — full JSON blob (SQLAlchemy JSON column)
|
||||||
|
- `default_fields` — list of `section::key` strings saved as the user's preferred prompt fields
|
||||||
|
- `image_path` — relative path under `static/uploads/`
|
||||||
|
|
||||||
|
### Data Flow: JSON → DB → Prompt → ComfyUI
|
||||||
|
|
||||||
|
1. **JSON files** in `data/{characters,clothing,actions,styles,scenes,detailers,looks}/` are loaded by `sync_*()` functions into SQLite.
|
||||||
|
2. At generation time, `build_prompt(data, selected_fields, default_fields, active_outfit)` converts the character JSON blob into `{"main": ..., "face": ..., "hand": ...}` prompt strings.
|
||||||
|
3. `_prepare_workflow(workflow, character, prompts, ...)` wires prompts and LoRAs into the loaded `comfy_workflow.json`.
|
||||||
|
4. `queue_prompt(workflow, client_id)` POSTs the workflow to ComfyUI's `/prompt` endpoint.
|
||||||
|
5. The app polls `get_history(prompt_id)` and retrieves the image via `get_image(filename, subfolder, type)`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ComfyUI Workflow Node Map
|
||||||
|
|
||||||
|
The workflow (`comfy_workflow.json`) uses string node IDs. These are the critical nodes:
|
||||||
|
|
||||||
|
| Node | Role |
|
||||||
|
|------|------|
|
||||||
|
| `3` | Main KSampler |
|
||||||
|
| `4` | Checkpoint loader |
|
||||||
|
| `5` | Empty latent (width/height) |
|
||||||
|
| `6` | Positive prompt — contains `{{POSITIVE_PROMPT}}` placeholder |
|
||||||
|
| `7` | Negative prompt |
|
||||||
|
| `8` | VAE decode |
|
||||||
|
| `9` | Save image |
|
||||||
|
| `11` | Face ADetailer |
|
||||||
|
| `13` | Hand ADetailer |
|
||||||
|
| `14` | Face detailer prompt — contains `{{FACE_PROMPT}}` placeholder |
|
||||||
|
| `15` | Hand detailer prompt — contains `{{HAND_PROMPT}}` placeholder |
|
||||||
|
| `16` | Character LoRA (or Look LoRA when a Look is active) |
|
||||||
|
| `17` | Outfit LoRA |
|
||||||
|
| `18` | Action LoRA |
|
||||||
|
| `19` | Style / Detailer / Scene LoRA (priority: style > detailer > scene) |
|
||||||
|
|
||||||
|
LoRA nodes chain: `4 → 16 → 17 → 18 → 19`. Unused LoRA nodes are bypassed by pointing `model_source`/`clip_source` directly to the prior node. All model/clip consumers (nodes 3, 6, 7, 11, 13, 14, 15) are wired to the final `model_source`/`clip_source` at the end of `_prepare_workflow`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Key Functions by Module
|
||||||
|
|
||||||
|
### `utils.py` — Constants and Pure Helpers
|
||||||
|
|
||||||
|
- **`_IDENTITY_KEYS` / `_WARDROBE_KEYS`** — Lists of canonical field names for the `identity` and `wardrobe` sections. Used by `_ensure_character_fields()`.
|
||||||
|
- **`ALLOWED_EXTENSIONS`** — Permitted upload file extensions.
|
||||||
|
- **`_LORA_DEFAULTS`** — Default LoRA directory paths per category.
|
||||||
|
- **`parse_orientation(orientation_str)`** — Converts orientation codes (`1F`, `2F`, `1M1F`, etc.) into Danbooru tags.
|
||||||
|
- **`_resolve_lora_weight(lora_data)`** — Extracts and validates LoRA weight from a lora data dict.
|
||||||
|
- **`allowed_file(filename)`** — Checks file extension against `ALLOWED_EXTENSIONS`.
|
||||||
|
|
||||||
|
### `services/prompts.py` — Prompt Building
|
||||||
|
|
||||||
|
- **`build_prompt(data, selected_fields, default_fields, active_outfit)`** — Converts a character (or combined) data dict into `{"main", "face", "hand"}` prompt strings. Field selection priority: `selected_fields` → `default_fields` → select all (fallback). Fields are addressed as `"section::key"` strings (e.g. `"identity::hair"`, `"wardrobe::top"`). Characters support a **nested** wardrobe format where `wardrobe` is a dict of outfit names → outfit dicts.
|
||||||
|
- **`build_extras_prompt(actions, outfits, scenes, styles, detailers)`** — Used by the Generator page. Combines prompt text from all checked items across categories into a single string.
|
||||||
|
- **`_cross_dedup_prompts(positive, negative)`** — Cross-deduplicates tags between positive and negative prompt strings. Equal counts cancel completely; excess on one side is retained.
|
||||||
|
- **`_resolve_character(character_slug)`** — Returns a `Character` ORM object for a given slug string. Handles `"__random__"` sentinel.
|
||||||
|
- **`_ensure_character_fields(character, selected_fields, ...)`** — Mutates `selected_fields` in place, appending populated identity/wardrobe keys. Called in every secondary-category generate route after `_resolve_character()`.
|
||||||
|
- **`_append_background(prompts, character=None)`** — Appends `"<primary_color> simple background"` tag to `prompts['main']`.
|
||||||
|
|
||||||
|
### `services/workflow.py` — Workflow Wiring
|
||||||
|
|
||||||
|
- **`_prepare_workflow(workflow, character, prompts, ...)`** — Core workflow wiring function. Replaces prompt placeholders, chains LoRA nodes dynamically, randomises seeds, applies checkpoint settings, runs cross-dedup as the final step.
|
||||||
|
- **`_apply_checkpoint_settings(workflow, ckpt_data)`** — Applies checkpoint-specific sampler/prompt/VAE settings.
|
||||||
|
- **`_get_default_checkpoint()`** — Returns `(checkpoint_path, checkpoint_data)` from session, database Settings, or workflow file fallback.
|
||||||
|
- **`_log_workflow_prompts(label, workflow)`** — Logs the fully assembled workflow prompts in a readable block.
|
||||||
|
|
||||||
|
### `services/job_queue.py` — Background Job Queue
|
||||||
|
|
||||||
|
- **`_enqueue_job(label, workflow, finalize_fn)`** — Adds a generation job to the queue.
|
||||||
|
- **`_make_finalize(category, slug, db_model_class=None, action=None)`** — Factory returning a callback that retrieves the generated image from ComfyUI, saves it, and optionally updates the DB cover image.
|
||||||
|
- **`_prune_job_history(max_age_seconds=3600)`** — Removes old terminal-state jobs from memory.
|
||||||
|
- **`init_queue_worker(flask_app)`** — Stores the app reference and starts the worker thread.
|
||||||
|
|
||||||
|
### `services/comfyui.py` — ComfyUI HTTP Client
|
||||||
|
|
||||||
|
- **`queue_prompt(prompt_workflow, client_id)`** — POSTs workflow to ComfyUI's `/prompt` endpoint.
|
||||||
|
- **`get_history(prompt_id)`** — Polls ComfyUI for job completion.
|
||||||
|
- **`get_image(filename, subfolder, folder_type)`** — Retrieves generated image bytes.
|
||||||
|
- **`_ensure_checkpoint_loaded(checkpoint_path)`** — Forces ComfyUI to load a specific checkpoint.
|
||||||
|
|
||||||
|
### `services/llm.py` — LLM Integration
|
||||||
|
|
||||||
|
- **`call_llm(prompt, system_prompt)`** — OpenAI-compatible chat completion supporting OpenRouter (cloud) and Ollama/LMStudio (local). Implements a tool-calling loop (up to 10 turns) using `DANBOORU_TOOLS` via MCP Docker container.
|
||||||
|
- **`load_prompt(filename)`** — Loads system prompt text from `data/prompts/`.
|
||||||
|
- **`call_mcp_tool()`** — Synchronous wrapper for MCP tool calls.
|
||||||
|
|
||||||
|
### `services/sync.py` — Data Synchronization
|
||||||
|
|
||||||
|
- **`sync_characters()`, `sync_outfits()`, `sync_actions()`, etc.** — Load JSON files from `data/` directories into SQLite. One function per category.
|
||||||
|
- **`_resolve_preset_entity(type, id)`** / **`_resolve_preset_fields(preset_data)`** — Preset resolution helpers.
|
||||||
|
|
||||||
|
### `services/file_io.py` — File & DB Helpers
|
||||||
|
|
||||||
|
- **`get_available_loras(category)`** — Scans filesystem for available LoRA files in a category.
|
||||||
|
- **`get_available_checkpoints()`** — Scans checkpoint directories.
|
||||||
|
- **`_count_look_assignments()`** / **`_count_outfit_lora_assignments()`** — DB aggregate queries.
|
||||||
|
|
||||||
|
### `services/mcp.py` — MCP/Docker Lifecycle
|
||||||
|
|
||||||
|
- **`ensure_mcp_server_running()`** — Ensures the danbooru-mcp Docker container is running.
|
||||||
|
- **`ensure_character_mcp_server_running()`** — Ensures the character-mcp Docker container is running.
|
||||||
|
|
||||||
|
### Route-local Helpers
|
||||||
|
|
||||||
|
Some helpers are defined inside a route module's `register_routes()` since they're only used by routes in that file:
|
||||||
|
- `routes/scenes.py`: `_queue_scene_generation()` — scene-specific workflow builder
|
||||||
|
- `routes/detailers.py`: `_queue_detailer_generation()` — detailer-specific generation helper
|
||||||
|
- `routes/styles.py`: `_build_style_workflow()` — style-specific workflow builder
|
||||||
|
- `routes/checkpoints.py`: `_build_checkpoint_workflow()` — checkpoint-specific workflow builder
|
||||||
|
- `routes/strengths.py`: `_build_strengths_prompts()`, `_prepare_strengths_workflow()` — strengths gallery helpers
|
||||||
|
- `routes/transfer.py`: `_create_minimal_template()` — transfer template builder
|
||||||
|
- `routes/gallery.py`: `_scan_gallery_images()`, `_enrich_with_names()`, `_parse_comfy_png_metadata()`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## JSON Data Schemas
|
||||||
|
|
||||||
|
### Character (`data/characters/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"character_id": "tifa_lockhart",
|
||||||
|
"character_name": "Tifa Lockhart",
|
||||||
|
"identity": { "base_specs": "", "hair": "", "eyes": "", "hands": "", "arms": "", "torso": "", "pelvis": "", "legs": "", "feet": "", "extra": "" },
|
||||||
|
"defaults": { "expression": "", "pose": "", "scene": "" },
|
||||||
|
"wardrobe": {
|
||||||
|
"default": { "full_body": "", "headwear": "", "top": "", "bottom": "", "legwear": "", "footwear": "", "hands": "", "gloves": "", "accessories": "" }
|
||||||
|
},
|
||||||
|
"styles": { "aesthetic": "", "primary_color": "", "secondary_color": "", "tertiary_color": "" },
|
||||||
|
"lora": { "lora_name": "Illustrious/Looks/tifa.safetensors", "lora_weight": 0.8, "lora_triggers": "" },
|
||||||
|
"tags": [],
|
||||||
|
"participants": { "orientation": "1F", "solo_focus": "true" }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
`participants` is optional; when absent, `(solo:1.2)` is injected. `orientation` is parsed by `parse_orientation()` into Danbooru tags (`1girl`, `hetero`, etc.).
|
||||||
|
|
||||||
|
### Outfit (`data/clothing/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"outfit_id": "french_maid_01",
|
||||||
|
"outfit_name": "French Maid",
|
||||||
|
"wardrobe": { "full_body": "", "headwear": "", "top": "", "bottom": "", "legwear": "", "footwear": "", "hands": "", "accessories": "" },
|
||||||
|
"lora": { "lora_name": "Illustrious/Clothing/maid.safetensors", "lora_weight": 0.8, "lora_triggers": "" },
|
||||||
|
"tags": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Action (`data/actions/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action_id": "sitting",
|
||||||
|
"action_name": "Sitting",
|
||||||
|
"action": { "full_body": "", "additional": "", "head": "", "eyes": "", "arms": "", "hands": "" },
|
||||||
|
"lora": { "lora_name": "", "lora_weight": 1.0, "lora_triggers": "" },
|
||||||
|
"tags": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Scene (`data/scenes/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"scene_id": "beach",
|
||||||
|
"scene_name": "Beach",
|
||||||
|
"scene": { "background": "", "foreground": "", "furniture": "", "colors": "", "lighting": "", "theme": "" },
|
||||||
|
"lora": { "lora_name": "", "lora_weight": 1.0, "lora_triggers": "" },
|
||||||
|
"tags": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Style (`data/styles/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"style_id": "watercolor",
|
||||||
|
"style_name": "Watercolor",
|
||||||
|
"style": { "artist_name": "", "artistic_style": "" },
|
||||||
|
"lora": { "lora_name": "", "lora_weight": 1.0, "lora_triggers": "" }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Detailer (`data/detailers/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"detailer_id": "detailed_skin",
|
||||||
|
"detailer_name": "Detailed Skin",
|
||||||
|
"prompt": ["detailed skin", "pores"],
|
||||||
|
"focus": { "face": true, "hands": true },
|
||||||
|
"lora": { "lora_name": "", "lora_weight": 1.0, "lora_triggers": "" }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Look (`data/looks/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"look_id": "tifa_casual",
|
||||||
|
"look_name": "Tifa Casual",
|
||||||
|
"character_id": "tifa_lockhart",
|
||||||
|
"positive": "casual clothes, jeans",
|
||||||
|
"negative": "revealing",
|
||||||
|
"lora": { "lora_name": "Illustrious/Looks/tifa_casual.safetensors", "lora_weight": 0.85, "lora_triggers": "" },
|
||||||
|
"tags": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Looks occupy LoRA node 16, overriding the character's own LoRA. The Look's `negative` is prepended to the workflow's negative prompt.
|
||||||
|
|
||||||
|
### Checkpoint (`data/checkpoints/*.json`)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"checkpoint_path": "Illustrious/model.safetensors",
|
||||||
|
"checkpoint_name": "Model Display Name",
|
||||||
|
"base_positive": "anime",
|
||||||
|
"base_negative": "text, logo",
|
||||||
|
"steps": 25,
|
||||||
|
"cfg": 5,
|
||||||
|
"sampler_name": "euler_ancestral",
|
||||||
|
"scheduler": "normal",
|
||||||
|
"vae": "integrated"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Checkpoint JSONs are keyed by `checkpoint_path`. If no JSON exists for a discovered model file, `_default_checkpoint_data()` provides defaults.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## URL Routes
|
||||||
|
|
||||||
|
### Characters
|
||||||
|
- `GET /` — character gallery (index)
|
||||||
|
- `GET /character/<slug>` — character detail with generation UI
|
||||||
|
- `POST /character/<slug>/generate` — queue generation (AJAX or form); returns `{"job_id": ...}`
|
||||||
|
- `POST /character/<slug>/replace_cover_from_preview` — promote preview to cover
|
||||||
|
- `GET/POST /character/<slug>/edit` — edit character data
|
||||||
|
- `POST /character/<slug>/upload` — upload cover image
|
||||||
|
- `POST /character/<slug>/save_defaults` — save default field selection
|
||||||
|
- `POST /character/<slug>/outfit/switch|add|delete|rename` — manage per-character wardrobe outfits
|
||||||
|
- `GET/POST /create` — create new character (blank or LLM-generated)
|
||||||
|
- `POST /rescan` — sync DB from JSON files
|
||||||
|
|
||||||
|
### Category Pattern (Outfits, Actions, Styles, Scenes, Detailers)
|
||||||
|
Each category follows the same URL pattern:
|
||||||
|
- `GET /<category>/` — gallery
|
||||||
|
- `GET /<category>/<slug>` — detail + generation UI
|
||||||
|
- `POST /<category>/<slug>/generate` — queue generation; returns `{"job_id": ...}`
|
||||||
|
- `POST /<category>/<slug>/replace_cover_from_preview`
|
||||||
|
- `GET/POST /<category>/<slug>/edit`
|
||||||
|
- `POST /<category>/<slug>/upload`
|
||||||
|
- `POST /<category>/<slug>/save_defaults`
|
||||||
|
- `POST /<category>/<slug>/clone` — duplicate entry
|
||||||
|
- `POST /<category>/<slug>/save_json` — save raw JSON (from modal editor)
|
||||||
|
- `POST /<category>/rescan`
|
||||||
|
- `POST /<category>/bulk_create` — LLM-generate entries from LoRA files on disk
|
||||||
|
|
||||||
|
### Looks
|
||||||
|
- `GET /looks` — gallery
|
||||||
|
- `GET /look/<slug>` — detail
|
||||||
|
- `GET/POST /look/<slug>/edit`
|
||||||
|
- `POST /look/<slug>/generate` — queue generation; returns `{"job_id": ...}`
|
||||||
|
- `POST /look/<slug>/replace_cover_from_preview`
|
||||||
|
- `GET/POST /look/create`
|
||||||
|
- `POST /looks/rescan`
|
||||||
|
|
||||||
|
### Generator (Mix & Match)
|
||||||
|
- `GET/POST /generator` — freeform generator with multi-select accordion UI
|
||||||
|
- `POST /generator/preview_prompt` — AJAX: preview composed prompt without generating
|
||||||
|
|
||||||
|
### Checkpoints
|
||||||
|
- `GET /checkpoints` — gallery
|
||||||
|
- `GET /checkpoint/<slug>` — detail + generation settings editor
|
||||||
|
- `POST /checkpoint/<slug>/save_json`
|
||||||
|
- `POST /checkpoints/rescan`
|
||||||
|
|
||||||
|
### Job Queue API
|
||||||
|
All generation routes use the background job queue. Frontend polls:
|
||||||
|
- `GET /api/queue/<job_id>/status` — returns `{"status": "pending"|"running"|"done"|"failed", "result": {...}}`
|
||||||
|
|
||||||
|
Image retrieval is handled server-side by the `_make_finalize()` callback; there are no separate client-facing finalize routes.
|
||||||
|
|
||||||
|
### Utilities
|
||||||
|
- `POST /set_default_checkpoint` — save default checkpoint to session and persist to `comfy_workflow.json`
|
||||||
|
- `GET /get_missing_{characters,outfits,actions,scenes,styles,detailers,looks,checkpoints}` — AJAX: list items without cover images (sorted by display name)
|
||||||
|
- `POST /generate_missing` — batch generate covers for all characters missing one (uses job queue)
|
||||||
|
- `POST /clear_all_covers` / `clear_all_{outfit,action,scene,style,detailer,look,checkpoint}_covers`
|
||||||
|
- `GET /gallery` — global image gallery browsing `static/uploads/`
|
||||||
|
- `GET/POST /settings` — LLM provider configuration
|
||||||
|
- `POST /resource/<category>/<slug>/delete` — soft (JSON only) or hard (JSON + safetensors) delete
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
- Bootstrap 5.3 (CDN). Custom styles in `static/style.css`.
|
||||||
|
- All templates extend `templates/layout.html`. The base layout provides:
|
||||||
|
- `{% block content %}` — main page content
|
||||||
|
- `{% block scripts %}` — additional JS at end of body
|
||||||
|
- Navbar with links to all sections
|
||||||
|
- Global default checkpoint selector (saves to session via AJAX)
|
||||||
|
- Resource delete modal (soft/hard) shared across gallery pages
|
||||||
|
- `initJsonEditor(saveUrl)` — shared JSON editor modal (simple form + raw textarea tabs)
|
||||||
|
- Context processors inject `all_checkpoints`, `default_checkpoint_path`, and `COMFYUI_WS_URL` into every template.
|
||||||
|
- **No `{% block head %}` exists** in layout.html — do not try to use it.
|
||||||
|
- Generation is async: JS submits the form via AJAX (`X-Requested-With: XMLHttpRequest`), receives a `{"job_id": ...}` response, then polls `/api/queue/<job_id>/status` every ~1.5 seconds until `status == "done"`. The server-side worker handles all ComfyUI polling and image saving via the `_make_finalize()` callback. There are no client-facing finalize HTTP routes.
|
||||||
|
- **Batch generation** (library pages): Uses a two-phase pattern:
|
||||||
|
1. **Queue phase**: All jobs are submitted upfront via sequential fetch calls, collecting job IDs
|
||||||
|
2. **Poll phase**: All jobs are polled concurrently via `Promise.all()`, updating UI as each completes
|
||||||
|
3. **Progress tracking**: Displays currently processing items in real-time using a `Set` to track active jobs
|
||||||
|
4. **Sorting**: All batch operations sort items by display `name` (not `filename`) for better UX
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## LLM Integration
|
||||||
|
|
||||||
|
### System Prompts
|
||||||
|
Text files in `data/prompts/` define JSON output schemas for LLM-generated entries:
|
||||||
|
- `character_system.txt` — character JSON schema
|
||||||
|
- `outfit_system.txt` — outfit JSON schema
|
||||||
|
- `action_system.txt`, `scene_system.txt`, `style_system.txt`, `detailer_system.txt`, `look_system.txt`, `checkpoint_system.txt`
|
||||||
|
|
||||||
|
Used by: character/outfit/action/scene/style create forms, and bulk_create routes.
|
||||||
|
|
||||||
|
### Danbooru MCP Tools
|
||||||
|
The LLM loop in `call_llm()` provides three tools via a Docker-based MCP server (`danbooru-mcp:latest`):
|
||||||
|
- `search_tags(query, limit, category)` — prefix search
|
||||||
|
- `validate_tags(tags)` — exact-match validation
|
||||||
|
- `suggest_tags(partial, limit, category)` — autocomplete
|
||||||
|
|
||||||
|
The LLM uses these to verify and discover correct Danbooru-compatible tags for prompts.
|
||||||
|
|
||||||
|
All system prompts (`character_system.txt`, `outfit_system.txt`, `action_system.txt`, `scene_system.txt`, `style_system.txt`, `detailer_system.txt`, `look_system.txt`, `checkpoint_system.txt`) instruct the LLM to use these tools before finalising any tag values. `checkpoint_system.txt` applies them specifically to the `base_positive` and `base_negative` fields.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## LoRA File Paths
|
||||||
|
|
||||||
|
LoRA filenames in JSON are stored as paths relative to ComfyUI's `models/lora/` root:
|
||||||
|
|
||||||
|
| Category | Path prefix | Example |
|
||||||
|
|----------|-------------|---------|
|
||||||
|
| Character / Look | `Illustrious/Looks/` | `Illustrious/Looks/tifa_v2.safetensors` |
|
||||||
|
| Outfit | `Illustrious/Clothing/` | `Illustrious/Clothing/maid.safetensors` |
|
||||||
|
| Action | `Illustrious/Poses/` | `Illustrious/Poses/sitting.safetensors` |
|
||||||
|
| Style | `Illustrious/Styles/` | `Illustrious/Styles/watercolor.safetensors` |
|
||||||
|
| Detailer | `Illustrious/Detailers/` | `Illustrious/Detailers/skin.safetensors` |
|
||||||
|
| Scene | `Illustrious/Backgrounds/` | `Illustrious/Backgrounds/beach.safetensors` |
|
||||||
|
|
||||||
|
Checkpoint paths: `Illustrious/<filename>.safetensors` or `Noob/<filename>.safetensors`.
|
||||||
|
|
||||||
|
Absolute paths on disk:
|
||||||
|
- Checkpoints: `/mnt/alexander/AITools/Image Models/Stable-diffusion/{Illustrious,Noob}/`
|
||||||
|
- LoRAs: `/mnt/alexander/AITools/Image Models/lora/Illustrious/{Looks,Clothing,Poses,Styles,Detailers,Backgrounds}/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Adding a New Category
|
||||||
|
|
||||||
|
To add a new content category (e.g. "Poses" as a separate concept from Actions), the pattern is:
|
||||||
|
|
||||||
|
1. **Model** (`models.py`): Add a new SQLAlchemy model with the standard fields.
|
||||||
|
2. **Sync function** (`services/sync.py`): Add `sync_newcategory()` following the pattern of `sync_outfits()`.
|
||||||
|
3. **Data directory** (`app.py`): Add `app.config['NEWCATEGORY_DIR'] = 'data/newcategory'`.
|
||||||
|
4. **Routes** (`routes/newcategory.py`): Create a new route module with a `register_routes(app)` function. Implement index, detail, edit, generate, replace_cover_from_preview, upload, save_defaults, clone, rescan routes. Follow `routes/outfits.py` or `routes/scenes.py` exactly.
|
||||||
|
5. **Route registration** (`routes/__init__.py`): Import and call `newcategory.register_routes(app)`.
|
||||||
|
6. **Templates**: Create `templates/newcategory/{index,detail,edit,create}.html` extending `layout.html`.
|
||||||
|
7. **Nav**: Add link to navbar in `templates/layout.html`.
|
||||||
|
8. **Startup** (`app.py`): Import and call `sync_newcategory()` in the `with app.app_context()` block.
|
||||||
|
9. **Generator page**: Add to `routes/generator.py`, `services/prompts.py` `build_extras_prompt()`, and `templates/generator.html` accordion.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Session Keys
|
||||||
|
|
||||||
|
The Flask filesystem session stores:
|
||||||
|
- `default_checkpoint` — checkpoint_path string for the global default
|
||||||
|
- `prefs_{slug}` — selected_fields list for character detail page
|
||||||
|
- `preview_{slug}` — relative image path of last character preview
|
||||||
|
- `prefs_outfit_{slug}`, `preview_outfit_{slug}`, `char_outfit_{slug}` — outfit detail state
|
||||||
|
- `prefs_action_{slug}`, `preview_action_{slug}`, `char_action_{slug}` — action detail state
|
||||||
|
- `prefs_scene_{slug}`, `preview_scene_{slug}`, `char_scene_{slug}` — scene detail state
|
||||||
|
- `prefs_detailer_{slug}`, `preview_detailer_{slug}`, `char_detailer_{slug}`, `action_detailer_{slug}`, `extra_pos_detailer_{slug}`, `extra_neg_detailer_{slug}` — detailer detail state (selected fields, preview image, character, action LoRA, extra positive prompt, extra negative prompt)
|
||||||
|
- `prefs_style_{slug}`, `preview_style_{slug}`, `char_style_{slug}` — style detail state
|
||||||
|
- `prefs_look_{slug}`, `preview_look_{slug}` — look detail state
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Running the App
|
||||||
|
|
||||||
|
### Directly (development)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /mnt/alexander/Projects/character-browser
|
||||||
|
source venv/bin/activate
|
||||||
|
python app.py
|
||||||
|
```
|
||||||
|
|
||||||
|
The app runs in debug mode on port 5000 by default. ComfyUI must be running at `http://127.0.0.1:8188`.
|
||||||
|
|
||||||
|
The DB is initialised and all sync functions are called inside `with app.app_context():` at the bottom of `app.py` before `app.run()`.
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
The compose file (`docker-compose.yml`) runs two services:
|
||||||
|
- **`danbooru-mcp`** — built from `https://git.liveaodh.com/aodhan/danbooru-mcp.git`; the MCP tag-search container used by `call_llm()`.
|
||||||
|
- **`app`** — the Flask app, exposed on host port **5782** → container port 5000.
|
||||||
|
|
||||||
|
Key environment variables set by compose:
|
||||||
|
- `COMFYUI_URL=http://10.0.0.200:8188` — points at ComfyUI on the Docker host network.
|
||||||
|
- `SKIP_MCP_AUTOSTART=true` — disables the app's built-in danbooru-mcp launch logic (compose manages it).
|
||||||
|
|
||||||
|
Volumes mounted into the app container:
|
||||||
|
- `./data`, `./static/uploads`, `./instance`, `./flask_session` — persistent app data.
|
||||||
|
- `/Volumes/ImageModels:/ImageModels:ro` — model files for checkpoint/LoRA scanning (**requires Docker Desktop file sharing enabled for `/Volumes/ImageModels`**).
|
||||||
|
- `/var/run/docker.sock` — Docker socket so the app can exec danbooru-mcp tool containers.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Pitfalls
|
||||||
|
|
||||||
|
- **SQLAlchemy JSON mutation**: After modifying a JSON column dict in place, always call `flag_modified(obj, "data")` or the change won't be detected.
|
||||||
|
- **Dual write**: Every edit route writes back to both the DB (`db.session.commit()`) and the JSON file on disk. Both must be kept in sync.
|
||||||
|
- **Slug generation**: `re.sub(r'[^a-zA-Z0-9_]', '', id)` — note this removes hyphens and dots, not just replaces them. Character IDs like `yuna_(ff10)` become slug `yunaffx10`. This is intentional.
|
||||||
|
- **Checkpoint slugs use underscore replacement**: `re.sub(r'[^a-zA-Z0-9_]', '_', ...)` (replaces with `_`, not removes) to preserve readability in paths.
|
||||||
|
- **LoRA chaining**: If a LoRA node has no LoRA (name is empty/None), the node is skipped and `model_source`/`clip_source` pass through unchanged. Do not set the node inputs for skipped nodes.
|
||||||
|
- **AJAX detection**: `request.headers.get('X-Requested-With') == 'XMLHttpRequest'` determines whether to return JSON or redirect.
|
||||||
|
- **Session must be marked modified for JSON responses**: After setting session values in AJAX-responding routes, set `session.modified = True`.
|
||||||
|
- **Detailer `prompt` is a list**: The `prompt` field in detailer JSON is stored as a list of strings (e.g. `["detailed skin", "pores"]`), not a plain string. When merging into `tags` for `build_prompt`, use `extend` for lists and `append` for strings — never append the list object itself or `", ".join()` will fail on the nested list item.
|
||||||
|
- **`_make_finalize` action semantics**: Pass `action=None` when the route should always update the DB cover (e.g. batch generate, checkpoint generate). Pass `action=request.form.get('action')` for routes that support both "preview" (no DB update) and "replace" (update DB). The factory skips the DB write when `action` is truthy and not `"replace"`.
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# Feature Development Guide: Gallery Pages & Character Integration
|
|
||||||
|
|
||||||
This guide outlines the architectural patterns and best practices developed during the implementation of the **Actions**, **Outfits**, and **Styles** galleries. Use this as a blueprint for adding similar features (e.g., "Scenes", "Props", "Effects").
|
|
||||||
|
|
||||||
## 1. Data Model & Persistence
|
|
||||||
- **Database Model:** Add a new class in `models.py`. Include `default_fields` (JSON) to support persistent prompt selections.
|
|
||||||
- **JSON Sync:** Implement a `sync_[feature]()` function in `app.py` to keep the SQLite database in sync with the `data/[feature]/*.json` files.
|
|
||||||
- **Slugs:** Use URL-safe slugs generated from the ID for clean routing.
|
|
||||||
|
|
||||||
## 2. Quadruple LoRA Chaining
|
|
||||||
Our workflow supports chaining up to four distinct LoRAs from specific directories:
|
|
||||||
1. **Character:** `Illustrious/Looks/` (Node 16)
|
|
||||||
2. **Outfit:** `Illustrious/Clothing/` (Node 17)
|
|
||||||
3. **Action:** `Illustrious/Poses/` (Node 18)
|
|
||||||
4. **Style:** `Illustrious/Styles/` (Node 19)
|
|
||||||
|
|
||||||
**Implementation Detail:**
|
|
||||||
In `_prepare_workflow`, LoRAs must be chained sequentially. If a previous LoRA is missing, the next one must "reach back" to the Checkpoint (Node 4) or the last valid node in the chain to maintain the model/CLIP connection. Node 19 is the terminal LoRA loader before terminal consumers (KSampler, Detailers).
|
|
||||||
|
|
||||||
## 3. Style Prompt Construction
|
|
||||||
Artistic styles follow specific formatting rules in the `build_prompt` engine:
|
|
||||||
- **Artist Attribution:** Artist names are prefixed with "by " (e.g., "by Sabu").
|
|
||||||
- **Artistic Styles:** Raw descriptive style tags (e.g., "watercolor painting") are appended to the prompt.
|
|
||||||
- **Priority:** Style tags are applied after identity and wardrobe tags but before trigger words.
|
|
||||||
|
|
||||||
## 4. Adetailer Routing
|
|
||||||
To improve generation quality, route specific JSON sub-fields to targeted Adetailers:
|
|
||||||
- **Face Detailer (Node 14):** Receives `character_name`, `expression`, and action-specific `head`/`eyes` tags.
|
|
||||||
- **Hand Detailer (Node 15):** Receives priority hand tags (Wardrobe Gloves > Wardrobe Hands > Identity Hands) and action-specific `arms`/`hands` tags.
|
|
||||||
|
|
||||||
## 5. Character-Integrated Previews
|
|
||||||
The "Killer Feature" is previewing a standalone item (like an Action, Outfit, or Style) on a specific character.
|
|
||||||
|
|
||||||
**Logic Flow:**
|
|
||||||
1. **Merge Data:** Copy `character.data`.
|
|
||||||
2. **Override/Merge:** Replace character `defaults` with feature-specific tags (e.g., Action pose overrides Character pose).
|
|
||||||
3. **Context Injection:** Append character-specific styles (e.g., `[primary_color] simple background`) to the main prompt.
|
|
||||||
4. **Auto-Selection:** When a character is selected, ensure their essential identity and active wardrobe fields are automatically included in the prompt.
|
|
||||||
|
|
||||||
## 6. UI/UX Patterns
|
|
||||||
- **Selection Boxes:** Use checkboxes next to field labels to allow users to toggle specific tags.
|
|
||||||
- **Default Selection:** Implement a "Save as Default Selection" button that persists the current checkbox state to the database.
|
|
||||||
- **Session State:** Store the last selected character and field preferences in the Flask `session` to provide a seamless experience.
|
|
||||||
- **AJAX Generation:** Use the WebSocket + Polling hybrid pattern in the frontend to show real-time progress bars without page reloads.
|
|
||||||
|
|
||||||
## 7. Directory Isolation
|
|
||||||
Always isolate LoRAs by purpose to prevent dropdown clutter:
|
|
||||||
- `get_available_loras()` -> Characters
|
|
||||||
- `get_available_clothing_loras()` -> Outfits
|
|
||||||
- `get_available_action_loras()` -> Actions/Poses
|
|
||||||
- `get_available_style_loras()` -> Styles
|
|
||||||
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
FROM python:3.12-slim
|
||||||
|
|
||||||
|
# Install system deps: git (for danbooru-mcp repo clone) + docker CLI
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
ca-certificates \
|
||||||
|
&& install -m 0755 -d /etc/apt/keyrings \
|
||||||
|
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
|
||||||
|
&& chmod a+r /etc/apt/keyrings/docker.asc \
|
||||||
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
||||||
|
> /etc/apt/sources.list.d/docker.list \
|
||||||
|
&& apt-get update && apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY requirements.txt .
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Writable dirs that will typically be bind-mounted at runtime
|
||||||
|
RUN mkdir -p static/uploads instance flask_session data/characters data/clothing \
|
||||||
|
data/actions data/styles data/scenes data/detailers data/checkpoints data/looks
|
||||||
|
|
||||||
|
EXPOSE 5000
|
||||||
|
|
||||||
|
CMD ["python", "app.py"]
|
||||||
14
README.md
14
README.md
@@ -39,6 +39,20 @@ A local web-based GUI for managing character profiles (JSON) and generating cons
|
|||||||
|
|
||||||
## Setup & Installation
|
## Setup & Installation
|
||||||
|
|
||||||
|
### Option A — Docker (recommended)
|
||||||
|
|
||||||
|
1. **Clone the repository.**
|
||||||
|
2. Edit `docker-compose.yml` if needed:
|
||||||
|
- Set `COMFYUI_URL` to your ComfyUI host/port.
|
||||||
|
- Adjust the `/Volumes/ImageModels` volume path to your model directory. If you're on Docker Desktop, add the path under **Settings → Resources → File Sharing** first.
|
||||||
|
3. **Start services:**
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
The app will be available at `http://localhost:5782`.
|
||||||
|
|
||||||
|
### Option B — Local (development)
|
||||||
|
|
||||||
1. **Clone the repository** to your local machine.
|
1. **Clone the repository** to your local machine.
|
||||||
2. **Configure Paths**: Open `app.py` and update the following variables to match your system:
|
2. **Configure Paths**: Open `app.py` and update the following variables to match your system:
|
||||||
```python
|
```python
|
||||||
|
|||||||
@@ -1,208 +0,0 @@
|
|||||||
# danbooru-mcp
|
|
||||||
|
|
||||||
An MCP (Model Context Protocol) server that lets an LLM search, validate, and get suggestions for valid **Danbooru tags** — the prompt vocabulary used by Illustrious and other Danbooru-trained Stable Diffusion models.
|
|
||||||
|
|
||||||
Tags are scraped directly from the **Danbooru public API** and stored in a local SQLite database with an **FTS5 full-text search index** for fast prefix/substring queries. Each tag includes its post count, category, and deprecation status so the LLM can prioritise well-used, canonical tags.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Tools
|
|
||||||
|
|
||||||
| Tool | Description |
|
|
||||||
|------|-------------|
|
|
||||||
| `search_tags(query, limit=20, category=None)` | Prefix/full-text search — returns rich tag objects ordered by relevance |
|
|
||||||
| `validate_tags(tags)` | Exact-match validation — splits into `valid`, `deprecated`, `invalid` |
|
|
||||||
| `suggest_tags(partial, limit=10, category=None)` | Autocomplete for partial tag strings, sorted by post count |
|
|
||||||
|
|
||||||
### Return object shape
|
|
||||||
|
|
||||||
All tools return tag objects with:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"name": "blue_hair",
|
|
||||||
"post_count": 1079908,
|
|
||||||
"category": "general",
|
|
||||||
"is_deprecated": false
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Category filter values
|
|
||||||
|
|
||||||
`"general"` · `"artist"` · `"copyright"` · `"character"` · `"meta"`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
### 1. Install dependencies
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pip install -e .
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Build the SQLite database (scrapes the Danbooru API)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python scripts/scrape_tags.py
|
|
||||||
```
|
|
||||||
|
|
||||||
This scrapes ~1–2 million tags from the Danbooru public API (no account required)
|
|
||||||
and stores them in `db/tags.db` with a FTS5 index.
|
|
||||||
Estimated time: **5–15 minutes** depending on network speed.
|
|
||||||
|
|
||||||
```
|
|
||||||
Options:
|
|
||||||
--db PATH Output database path (default: db/tags.db)
|
|
||||||
--workers N Parallel HTTP workers (default: 4)
|
|
||||||
--max-page N Safety cap on pages (default: 2500)
|
|
||||||
--no-resume Re-scrape all pages from scratch
|
|
||||||
--no-fts Skip FTS5 rebuild (for incremental runs)
|
|
||||||
```
|
|
||||||
|
|
||||||
The scraper is **resumable** — if interrupted, re-run it and it will
|
|
||||||
continue from where it left off.
|
|
||||||
|
|
||||||
### 3. (Optional) Test API access first
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python scripts/test_danbooru_api.py
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. Run the MCP server
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python src/server.py
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Docker
|
|
||||||
|
|
||||||
### Quick start (pre-built DB — recommended)
|
|
||||||
|
|
||||||
Use this when you've already run `python scripts/scrape_tags.py` and have `db/tags.db`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Build image with the pre-built DB baked in (~30 seconds)
|
|
||||||
docker build -f Dockerfile.prebuilt -t danbooru-mcp .
|
|
||||||
|
|
||||||
# Verify
|
|
||||||
docker run --rm --entrypoint python danbooru-mcp \
|
|
||||||
-c "import sqlite3,sys; c=sqlite3.connect('/app/db/tags.db'); sys.stderr.write(str(c.execute('SELECT COUNT(*) FROM tags').fetchone()[0]) + ' tags\n')"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build from scratch (runs the scraper during Docker build)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Scrapes the Danbooru API during build — takes ~15 minutes
|
|
||||||
docker build \
|
|
||||||
--build-arg DANBOORU_USER=your_username \
|
|
||||||
--build-arg DANBOORU_API_KEY=your_api_key \
|
|
||||||
-t danbooru-mcp .
|
|
||||||
```
|
|
||||||
|
|
||||||
### MCP client config (Docker)
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"danbooru-tags": {
|
|
||||||
"command": "docker",
|
|
||||||
"args": ["run", "--rm", "-i", "danbooru-mcp:latest"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## MCP Client Configuration
|
|
||||||
|
|
||||||
### Claude Desktop (`claude_desktop_config.json`)
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"danbooru-tags": {
|
|
||||||
"command": "python",
|
|
||||||
"args": ["/absolute/path/to/danbooru-mcp/src/server.py"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Custom DB path via environment variable
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"danbooru-tags": {
|
|
||||||
"command": "python",
|
|
||||||
"args": ["/path/to/src/server.py"],
|
|
||||||
"env": {
|
|
||||||
"DANBOORU_TAGS_DB": "/custom/path/to/tags.db"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Example LLM Prompt Workflow
|
|
||||||
|
|
||||||
```
|
|
||||||
User: Generate a prompt for a girl with blue hair and a sword.
|
|
||||||
|
|
||||||
LLM calls validate_tags(["1girl", "blue_hairs", "sword", "looking_at_vewer"])
|
|
||||||
→ {
|
|
||||||
"valid": ["1girl", "sword"],
|
|
||||||
"deprecated": [],
|
|
||||||
"invalid": ["blue_hairs", "looking_at_vewer"]
|
|
||||||
}
|
|
||||||
|
|
||||||
LLM calls suggest_tags("blue_hair", limit=3)
|
|
||||||
→ [
|
|
||||||
{"name": "blue_hair", "post_count": 1079908, "category": "general"},
|
|
||||||
{"name": "blue_hairband", "post_count": 26905, "category": "general"},
|
|
||||||
...
|
|
||||||
]
|
|
||||||
|
|
||||||
LLM calls suggest_tags("looking_at_viewer", limit=1)
|
|
||||||
→ [{"name": "looking_at_viewer", "post_count": 4567890, "category": "general"}]
|
|
||||||
|
|
||||||
Final validated prompt: 1girl, blue_hair, sword, looking_at_viewer
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
danbooru-mcp/
|
|
||||||
├── data/
|
|
||||||
│ └── all_tags.csv # original CSV export (legacy, replaced by API scrape)
|
|
||||||
├── db/
|
|
||||||
│ └── tags.db # SQLite DB (generated, gitignored)
|
|
||||||
├── plans/
|
|
||||||
│ └── danbooru-mcp-plan.md # Architecture plan
|
|
||||||
├── scripts/
|
|
||||||
│ ├── scrape_tags.py # API scraper → SQLite (primary)
|
|
||||||
│ ├── import_tags.py # Legacy CSV importer
|
|
||||||
│ └── test_danbooru_api.py # API connectivity tests
|
|
||||||
├── src/
|
|
||||||
│ └── server.py # MCP server
|
|
||||||
├── pyproject.toml
|
|
||||||
├── .gitignore
|
|
||||||
└── README.md
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- Python 3.10+
|
|
||||||
- `mcp[cli]` — official Python MCP SDK
|
|
||||||
- `requests` — HTTP client for API scraping
|
|
||||||
- `sqlite3` — Python stdlib (no install needed)
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ckpt_name": "Noob/oneObsession_v19Atypical.safetensors"
|
"ckpt_name": ""
|
||||||
},
|
},
|
||||||
"class_type": "CheckpointLoaderSimple"
|
"class_type": "CheckpointLoaderSimple"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "3p_sex_000037",
|
"action_id": "3p_sex_000037",
|
||||||
"action_name": "3P Sex 000037",
|
"action_name": "3P Sex 000037",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "threesome",
|
"base": "threesome",
|
||||||
"head": "blush",
|
"head": "blush, half-closed_eyes",
|
||||||
"eyes": "half-closed_eyes",
|
"upper_body": "reaching, nude",
|
||||||
"arms": "reaching",
|
"lower_body": "sex, spread_legs",
|
||||||
"hands": "groping",
|
"hands": "groping",
|
||||||
"torso": "nude",
|
|
||||||
"pelvis": "sex",
|
|
||||||
"legs": "spread_legs",
|
|
||||||
"feet": "toes_curled",
|
"feet": "toes_curled",
|
||||||
"additional": "sweat"
|
"additional": "sweat"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/3P_SEX-000037.safetensors",
|
"lora_name": "Illustrious/Poses/3P_SEX-000037.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "threesome, group_sex"
|
"lora_triggers": "threesome, group_sex",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"threesome",
|
"threesome",
|
||||||
@@ -27,4 +26,4 @@
|
|||||||
"groping",
|
"groping",
|
||||||
"sweat"
|
"sweat"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "4p_sex",
|
"action_id": "4p_sex",
|
||||||
"action_name": "4P Sex",
|
"action_name": "4P Sex",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Choreographed foursome group sex scene involving four participants (e.g., 1 girl and 3 boys or 3 girls and 1 boy) engaged in simultaneous sexual acts like double penetration or cooperative fellatio.",
|
"base": "Choreographed foursome group sex scene involving four participants (e.g., 1 girl and 3 boys or 3 girls and 1 boy) engaged in simultaneous sexual acts like double penetration or cooperative fellatio.",
|
||||||
"head": "Moaning expression, open mouth, potentially heavily breathing or performing fellatio.",
|
"head": "Moaning expression, open mouth, potentially heavily breathing or performing fellatio., Heart-shaped pupils, ahegao, or rolling back in pleasure.",
|
||||||
"eyes": "Heart-shaped pupils, ahegao, or rolling back in pleasure.",
|
"upper_body": "Bracing on the surface (all fours), holding onto partners, or grabbing sheets., Nude, arching back, breasts exposed and pressed or being touched.",
|
||||||
"arms": "Bracing on the surface (all fours), holding onto partners, or grabbing sheets.",
|
"lower_body": "Engaged in intercourse, involving vaginal or anal penetration, potentially double penetration., Spread wide, positioned in all fours, missionary, or reverse cowgirl depending on specific interaction.",
|
||||||
"hands": "Grabbing breasts, holding legs, fingering, or resting on knees/shoulders.",
|
"hands": "Grabbing breasts, holding legs, fingering, or resting on knees/shoulders.",
|
||||||
"torso": "Nude, arching back, breasts exposed and pressed or being touched.",
|
|
||||||
"pelvis": "Engaged in intercourse, involving vaginal or anal penetration, potentially double penetration.",
|
|
||||||
"legs": "Spread wide, positioned in all fours, missionary, or reverse cowgirl depending on specific interaction.",
|
|
||||||
"feet": "Toes curled, dynamic positioning based on stance (kneeling or lying).",
|
"feet": "Toes curled, dynamic positioning based on stance (kneeling or lying).",
|
||||||
"additional": "Sexual fluids, messy after-sex atmosphere, sweat, steaming body."
|
"additional": "Sexual fluids, messy after-sex atmosphere, sweat, steaming body."
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/4P_sex.safetensors",
|
"lora_name": "Illustrious/Poses/4P_sex.safetensors",
|
||||||
"lora_weight": 0.6,
|
"lora_weight": 0.6,
|
||||||
"lora_triggers": "4P_sexV1"
|
"lora_triggers": "4P_sexV1",
|
||||||
|
"lora_weight_min": 0.6,
|
||||||
|
"lora_weight_max": 0.6
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"4P_sexV1",
|
"4P_sexV1",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"hetero",
|
"hetero",
|
||||||
"sex"
|
"sex"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
{
|
{
|
||||||
"action_id": "_malebolgia__oral_sex_tounge_afterimage_concept_2_0_illustrious",
|
"action_id": "_malebolgia__oral_sex_tounge_afterimage_concept_2_0_illustrious",
|
||||||
"action_name": " Malebolgia Oral Sex Tounge Afterimage Concept 2 0 Illustrious",
|
"action_name": "Malebolgia Oral Sex Tounge Afterimage Concept 2 0 Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling, leaning forward, engaged in oral activity",
|
"base": "kneeling, leaning forward, engaged in oral activity",
|
||||||
"head": "facing target, mouth wide open, intense expression",
|
"head": "facing target, mouth wide open, intense expression, looking up, half-closed",
|
||||||
"eyes": "looking up, half-closed",
|
"upper_body": "reaching forward, angled towards partner",
|
||||||
"arms": "reaching forward",
|
"lower_body": "stationary, kneeling on the floor",
|
||||||
"hands": "grasping partner's thighs or hips",
|
"hands": "grasping partner's thighs or hips",
|
||||||
"torso": "angled towards partner",
|
|
||||||
"pelvis": "stationary",
|
|
||||||
"legs": "kneeling on the floor",
|
|
||||||
"feet": "tucked behind",
|
"feet": "tucked behind",
|
||||||
"additional": "afterimage, motion blur, multiple tongues, rapid tongue movement, speed lines, saliva trails"
|
"additional": "afterimage, motion blur, multiple tongues, rapid tongue movement, speed lines, saliva trails"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/[Malebolgia] Oral Sex Tounge Afterimage Concept 2.0 Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/[Malebolgia] Oral Sex Tounge Afterimage Concept 2.0 Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "[Malebolgia] Oral Sex Tounge Afterimage Concept 2.0 Illustrious"
|
"lora_triggers": "[Malebolgia] Oral Sex Tounge Afterimage Concept 2.0 Illustrious",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"oral",
|
"oral",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"motion blur",
|
"motion blur",
|
||||||
"surreal"
|
"surreal"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "actually_reliable_penis_kissing_3_variants_illustrious",
|
"action_id": "actually_reliable_penis_kissing_3_variants_illustrious",
|
||||||
"action_name": "Actually Reliable Penis Kissing 3 Variants Illustrious",
|
"action_name": "Actually Reliable Penis Kissing 3 Variants Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling in front of standing or sitting partner, leaning forward towards crotch",
|
"base": "kneeling in front of standing or sitting partner, leaning forward towards crotch",
|
||||||
"head": "face aligned with groin, lips pressing against glans or shaft, tongue slightly out, kissing connection",
|
"head": "face aligned with groin, lips pressing against glans or shaft, tongue slightly out, kissing connection, looking up at partner or closed in enjoyment, half-closed",
|
||||||
"eyes": "looking up at partner or closed in enjoyment, half-closed",
|
"upper_body": "reaching forward or resting on partner's legs, leaning forward, arched back",
|
||||||
"arms": "reaching forward or resting on partner's legs",
|
"lower_body": "kneeling pose, hips pushed back, kneeling on the ground",
|
||||||
"hands": "gently holding the shaft, cupping testicles, or resting on partner's thighs",
|
"hands": "gently holding the shaft, cupping testicles, or resting on partner's thighs",
|
||||||
"torso": "leaning forward, arched back",
|
|
||||||
"pelvis": "kneeling pose, hips pushed back",
|
|
||||||
"legs": "kneeling on the ground",
|
|
||||||
"feet": "toes curled or flat",
|
"feet": "toes curled or flat",
|
||||||
"additional": "saliva connection, affectionate oral interaction, unsucked penis"
|
"additional": "saliva connection, affectionate oral interaction, unsucked penis"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Actually_Reliable_Penis_Kissing_3_Variants_Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/Actually_Reliable_Penis_Kissing_3_Variants_Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Actually_Reliable_Penis_Kissing_3_Variants_Illustrious"
|
"lora_triggers": "Actually_Reliable_Penis_Kissing_3_Variants_Illustrious",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"penis kissing",
|
"penis kissing",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"tongue",
|
"tongue",
|
||||||
"close-up"
|
"close-up"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "after_sex_fellatio_illustriousxl_lora_nochekaiser_r1",
|
"action_id": "after_sex_fellatio_illustriousxl_lora_nochekaiser_r1",
|
||||||
"action_name": "After Sex Fellatio Illustriousxl Lora Nochekaiser R1",
|
"action_name": "After Sex Fellatio Illustriousxl Lora Nochekaiser R1",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "completely_nude, lying, on_back, m_legs, spread_legs",
|
"base": "completely_nude, lying, on_back, m_legs, spread_legs",
|
||||||
"head": "looking_at_viewer, tongue, open_mouth, blush, messing_hair",
|
"head": "looking_at_viewer, tongue, open_mouth, blush, messing_hair, half-closed_eyes, blue_eyes",
|
||||||
"eyes": "half-closed_eyes, blue_eyes",
|
"upper_body": "arms_at_sides, on_bed, large_breasts, nipples, sweat",
|
||||||
"arms": "arms_at_sides, on_bed",
|
"lower_body": "pussy, cum_in_pussy, leaking_cum, m_legs, spread_legs, legs_up",
|
||||||
"hands": "on_bed, pressing_bed",
|
"hands": "on_bed, pressing_bed",
|
||||||
"torso": "large_breasts, nipples, sweat",
|
|
||||||
"pelvis": "pussy, cum_in_pussy, leaking_cum",
|
|
||||||
"legs": "m_legs, spread_legs, legs_up",
|
|
||||||
"feet": "barefoot, toes",
|
"feet": "barefoot, toes",
|
||||||
"additional": "after_sex, after_vaginal, fellatio, penis, cum, cumdrip, messy_body, bed_sheet"
|
"additional": "after_sex, after_vaginal, fellatio, penis, cum, cumdrip, messy_body, bed_sheet"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/after-sex-fellatio-illustriousxl-lora-nochekaiser_r1.safetensors",
|
"lora_name": "Illustrious/Poses/after-sex-fellatio-illustriousxl-lora-nochekaiser_r1.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "after sex fellatio"
|
"lora_triggers": "after sex fellatio",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after_sex",
|
"after_sex",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"penis",
|
"penis",
|
||||||
"cum"
|
"cum"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "afterfellatio_ill",
|
"action_id": "afterfellatio_ill",
|
||||||
"action_name": "Afterfellatio Ill",
|
"action_name": "Afterfellatio Ill",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling, leaning_forward, pov",
|
"base": "kneeling, leaning_forward, pov",
|
||||||
"head": "looking_at_viewer, blush, tilted_head, cum_on_face",
|
"head": "looking_at_viewer, blush, tilted_head, cum_on_face, half-closed_eyes, tears",
|
||||||
"eyes": "half-closed_eyes, tears",
|
"upper_body": "arms_down, reaching_towards_viewer, leaning_forward",
|
||||||
"arms": "arms_down, reaching_towards_viewer",
|
"lower_body": "kneeling, kneeling",
|
||||||
"hands": "handjob, touching_penis",
|
"hands": "handjob, touching_penis",
|
||||||
"torso": "leaning_forward",
|
|
||||||
"pelvis": "kneeling",
|
|
||||||
"legs": "kneeling",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "cum_string, cum_in_mouth, closed_mouth"
|
"additional": "cum_string, cum_in_mouth, closed_mouth"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/afterfellatio_ill.safetensors",
|
"lora_name": "Illustrious/Poses/afterfellatio_ill.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "after fellatio, cum in mouth, closed mouth, cum string"
|
"lora_triggers": "after fellatio, cum in mouth, closed mouth, cum string",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after_fellatio",
|
"after_fellatio",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"pov",
|
"pov",
|
||||||
"handjob"
|
"handjob"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "afteroral",
|
"action_id": "afteroral",
|
||||||
"action_name": "Afteroral",
|
"action_name": "Afteroral",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Character depicted immediately after performing oral sex, often focusing on the upper body and face.",
|
"base": "Character depicted immediately after performing oral sex, often focusing on the upper body and face.",
|
||||||
"head": "Messy hair, flushed cheeks, mouth slightly open or panting.",
|
"head": "Messy hair, flushed cheeks, mouth slightly open or panting., Half-closed or dazed expression, potentially with runny mascara or makeup.",
|
||||||
"eyes": "Half-closed or dazed expression, potentially with runny mascara or makeup.",
|
"upper_body": "Relaxed or wiping mouth., Heaving chest indicative of heavy breathing.",
|
||||||
"arms": "Relaxed or wiping mouth.",
|
"lower_body": "N/A (typically upper body focus), N/A",
|
||||||
"hands": "Resting or near face.",
|
"hands": "Resting or near face.",
|
||||||
"torso": "Heaving chest indicative of heavy breathing.",
|
|
||||||
"pelvis": "N/A (typically upper body focus)",
|
|
||||||
"legs": "N/A",
|
|
||||||
"feet": "N/A",
|
"feet": "N/A",
|
||||||
"additional": "Presence of bodily fluids like saliva trails or excessive cum on face and messy makeup."
|
"additional": "Presence of bodily fluids like saliva trails or excessive cum on face and messy makeup."
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/afteroral.safetensors",
|
"lora_name": "Illustrious/Poses/afteroral.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "after oral, after deepthroat"
|
"lora_triggers": "after oral, after deepthroat",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after_fellatio",
|
"after_fellatio",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"penis_on_face",
|
"penis_on_face",
|
||||||
"sweat"
|
"sweat"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "afterpaizuri",
|
"action_id": "afterpaizuri",
|
||||||
"action_name": "Afterpaizuri",
|
"action_name": "Afterpaizuri",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling or sitting, displaying upper body aftermath, exhausted posture",
|
"base": "kneeling or sitting, displaying upper body aftermath, exhausted posture",
|
||||||
"head": "flushed face, messy hair, panting, mouth slightly open, tongue out",
|
"head": "flushed face, messy hair, panting, mouth slightly open, tongue out, half-closed eyes, dazed expression, looking at viewer",
|
||||||
"eyes": "half-closed eyes, dazed expression, looking at viewer",
|
"upper_body": "resting on thighs or gesturing towards chest, exposed cleavage, chest covered in white liquid, disheveled clothes",
|
||||||
"arms": "resting on thighs or gesturing towards chest",
|
"lower_body": "hips settling back, kneeling posture, kneeling, thighs together or slightly spread",
|
||||||
"hands": "presenting breasts or cleaning face",
|
"hands": "presenting breasts or cleaning face",
|
||||||
"torso": "exposed cleavage, chest covered in white liquid, disheveled clothes",
|
|
||||||
"pelvis": "hips settling back, kneeling posture",
|
|
||||||
"legs": "kneeling, thighs together or slightly spread",
|
|
||||||
"feet": "tucked under buttocks or relaxed",
|
"feet": "tucked under buttocks or relaxed",
|
||||||
"additional": "semen on breasts, semen on face, heavy breathing, sweat, sticky fluids"
|
"additional": "semen on breasts, semen on face, heavy breathing, sweat, sticky fluids"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/afterpaizuri.safetensors",
|
"lora_name": "Illustrious/Poses/afterpaizuri.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "afterpaizuri"
|
"lora_triggers": "afterpaizuri",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after paizuri",
|
"after paizuri",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"sweat",
|
"sweat",
|
||||||
"disheveled"
|
"disheveled"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "aftersexbreakv2",
|
"action_id": "aftersexbreakv2",
|
||||||
"action_name": "Aftersexbreakv2",
|
"action_name": "Aftersexbreakv2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "lying, on_back, on_bed, bowlegged_pose, spread_legs, twisted_torso",
|
"base": "lying, on_back, on_bed, bowlegged_pose, spread_legs, twisted_torso",
|
||||||
"head": "messy_hair, head_back, sweaty_face",
|
"head": "messy_hair, head_back, sweaty_face, rolling_eyes, half-closed_eyes, ahegao",
|
||||||
"eyes": "rolling_eyes, half-closed_eyes, ahegao",
|
"upper_body": "arms_spread, arms_above_head, sweat, nipples, collarbone, heavy_breathing",
|
||||||
"arms": "arms_spread, arms_above_head",
|
"lower_body": "hips, navel, female_pubic_hair, spread_legs, legs_up, bent_legs",
|
||||||
"hands": "relaxed_hands",
|
"hands": "relaxed_hands",
|
||||||
"torso": "sweat, nipples, collarbone, heavy_breathing",
|
|
||||||
"pelvis": "hips, navel, female_pubic_hair",
|
|
||||||
"legs": "spread_legs, legs_up, bent_legs",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "condom_wrapper, used_tissue, stained_sheets, cum_pool, bead_of_sweat"
|
"additional": "condom_wrapper, used_tissue, stained_sheets, cum_pool, bead_of_sweat"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/AfterSexBreakV2.safetensors",
|
"lora_name": "Illustrious/Poses/AfterSexBreakV2.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "aftersexbreak, after sex, male sitting"
|
"lora_triggers": "aftersexbreak, after sex, male sitting",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after_sex",
|
"after_sex",
|
||||||
@@ -38,4 +37,4 @@
|
|||||||
"bed_sheet",
|
"bed_sheet",
|
||||||
"stained_sheets"
|
"stained_sheets"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "against_glass_bs",
|
"action_id": "against_glass_bs",
|
||||||
"action_name": "Against Glass Bs",
|
"action_name": "Against Glass Bs",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "leaning forward, body pressed directly against the viewing plane/glass surface",
|
"base": "leaning forward, body pressed directly against the viewing plane/glass surface",
|
||||||
"head": "face close to camera, breath fog on glass, cheek slightly pressed",
|
"head": "face close to camera, breath fog on glass, cheek slightly pressed, looking directly at viewer, intimate gaze",
|
||||||
"eyes": "looking directly at viewer, intimate gaze",
|
"upper_body": "reaching forward towards the viewer, chest squished against glass, leaning into the surface",
|
||||||
"arms": "reaching forward towards the viewer",
|
"lower_body": "hips pushed forward or slightly angled back depending on angle, standing straight or knees slightly bent for leverage",
|
||||||
"hands": "palms pressed flat against glass, fingers spread, palm prints",
|
"hands": "palms pressed flat against glass, fingers spread, palm prints",
|
||||||
"torso": "chest squished against glass, leaning into the surface",
|
|
||||||
"pelvis": "hips pushed forward or slightly angled back depending on angle",
|
|
||||||
"legs": "standing straight or knees slightly bent for leverage",
|
|
||||||
"feet": "planted firmly on the ground",
|
"feet": "planted firmly on the ground",
|
||||||
"additional": "transparent surface, condensation, distortion from glass, surface interaction"
|
"additional": "transparent surface, condensation, distortion from glass, surface interaction"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Against_glass_bs.safetensors",
|
"lora_name": "Illustrious/Poses/Against_glass_bs.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Against_glass_bs"
|
"lora_triggers": "Against_glass_bs",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"against glass",
|
"against glass",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"cheek press",
|
"cheek press",
|
||||||
"distorted view"
|
"distorted view"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"action_id": "agressivechoking_000010",
|
|
||||||
"action_name": "Agressivechoking 000010",
|
|
||||||
"action": {
|
|
||||||
"full_body": "dynamic perspective, leaning forward, dominant violent stance, POV",
|
|
||||||
"head": "face close to camera, angry expression, gritting teeth or shouting, heavy breathing",
|
|
||||||
"eyes": "intense stare, dilated pupils, furious gaze, sanpaku",
|
|
||||||
"arms": "extended towards viewer or subject, muscles tensed, shoulders shrugged forward",
|
|
||||||
"hands": "fingers curled tightly, hand around neck, strangling motion, squeezing",
|
|
||||||
"torso": "hunched forward, tense upper body",
|
|
||||||
"pelvis": "weight shifted forward",
|
|
||||||
"legs": "wide stance for leverage, braced",
|
|
||||||
"feet": "planted firmly",
|
|
||||||
"additional": "sweat, speed lines, depth of field, high contrast lighting, shadow over eyes"
|
|
||||||
},
|
|
||||||
"participants": {
|
|
||||||
"solo_focus": "true",
|
|
||||||
"orientation": "MF"
|
|
||||||
},
|
|
||||||
"lora": {
|
|
||||||
"lora_name": "Illustrious/Poses/AgressiveChoking-000010.safetensors",
|
|
||||||
"lora_weight": 1.0,
|
|
||||||
"lora_triggers": "AgressiveChoking-000010"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"violence",
|
|
||||||
"dominance",
|
|
||||||
"pov",
|
|
||||||
"combat",
|
|
||||||
"anger"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"action_id": "ahegao_xl_v3_1278075",
|
|
||||||
"action_name": "Ahegao Xl V3 1278075",
|
|
||||||
"action": {
|
|
||||||
"full_body": "portrait or upper body focus, emphasizing facial distortion",
|
|
||||||
"head": "tilted back slightly, mouth wide open, tongue hanging out, face heavily flushed",
|
|
||||||
"eyes": "rolled back upwards, cross-eyed, look of exhaustion or ecstasy",
|
|
||||||
"arms": "raised up near the head",
|
|
||||||
"hands": "making double peace signs (v-sign) framing the face",
|
|
||||||
"torso": "facing forward",
|
|
||||||
"pelvis": "neutral",
|
|
||||||
"legs": "neutral",
|
|
||||||
"feet": "not visible",
|
|
||||||
"additional": "saliva trail, drooling, sweat, heavy blush stickers, heart-shaped pupils"
|
|
||||||
},
|
|
||||||
"participants": {
|
|
||||||
"solo_focus": "true",
|
|
||||||
"orientation": "F"
|
|
||||||
},
|
|
||||||
"lora": {
|
|
||||||
"lora_name": "Illustrious/Poses/Ahegao_XL_v3_1278075.safetensors",
|
|
||||||
"lora_weight": 1.0,
|
|
||||||
"lora_triggers": "Ahegao_XL_v3_1278075"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"ahegao",
|
|
||||||
"rolling eyes",
|
|
||||||
"tongue out",
|
|
||||||
"open mouth",
|
|
||||||
"blush",
|
|
||||||
"drooling",
|
|
||||||
"saliva",
|
|
||||||
"cross-eyed",
|
|
||||||
"double peace sign",
|
|
||||||
"v-sign"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "amateur_pov_filming",
|
"action_id": "amateur_pov_filming",
|
||||||
"action_name": "Amateur Pov Filming",
|
"action_name": "Amateur Pov Filming",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "selfie pose, standing or sitting, facing viewer or mirror",
|
"base": "selfie pose, standing or sitting, facing viewer or mirror",
|
||||||
"head": "looking_at_viewer, blush, maybe open mouth or shy expression",
|
"head": "looking_at_viewer, blush, maybe open mouth or shy expression, looking_at_viewer, contact with camera",
|
||||||
"eyes": "looking_at_viewer, contact with camera",
|
"upper_body": "raised to hold phone or camera, upper body in frame, breasts, nipples",
|
||||||
"arms": "raised to hold phone or camera",
|
"lower_body": "hips visible if full body mirror selfie, standing or sitting",
|
||||||
"hands": "holding_phone, holding_id_card, or adjusting clothes",
|
"hands": "holding_phone, holding_id_card, or adjusting clothes",
|
||||||
"torso": "upper body in frame, breasts, nipples",
|
|
||||||
"pelvis": "hips visible if full body mirror selfie",
|
|
||||||
"legs": "standing or sitting",
|
|
||||||
"feet": "barefoot if visible",
|
"feet": "barefoot if visible",
|
||||||
"additional": "phone recording interface, smartphone, mirror, amateur aesthetic"
|
"additional": "phone recording interface, smartphone, mirror, amateur aesthetic"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Amateur_POV_Filming.safetensors",
|
"lora_name": "Illustrious/Poses/Amateur_POV_Filming.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Homemade_PornV1, recording, pov, prostitution"
|
"lora_triggers": "Homemade_PornV1, recording, pov, prostitution",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"recording",
|
"recording",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"prostitution",
|
"prostitution",
|
||||||
"indoors"
|
"indoors"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "arch_back_sex_v1_1_illustriousxl",
|
"action_id": "arch_back_sex_v1_1_illustriousxl",
|
||||||
"action_name": "Arch Back Sex V1 1 Illustriousxl",
|
"action_name": "Arch Back Sex V1 1 Illustriousxl",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "doggystyle, sex_from_behind, all_fours",
|
"base": "doggystyle, sex_from_behind, all_fours",
|
||||||
"head": "head_back, looking_back",
|
"head": "head_back, looking_back, closed_eyes, blush",
|
||||||
"eyes": "closed_eyes, blush",
|
"upper_body": "arms_support, arched_back",
|
||||||
"arms": "arms_support",
|
"lower_body": "lifted_hip, kneeling, spread_legs",
|
||||||
"hands": "grabbing_another's_ass",
|
"hands": "grabbing_another's_ass",
|
||||||
"torso": "arched_back",
|
|
||||||
"pelvis": "lifted_hip",
|
|
||||||
"legs": "kneeling, spread_legs",
|
|
||||||
"feet": "toes",
|
"feet": "toes",
|
||||||
"additional": "kiss, sweat, saliva, intense_pleasure"
|
"additional": "kiss, sweat, saliva, intense_pleasure"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/arch-back-sex-v1.1-illustriousxl.safetensors",
|
"lora_name": "Illustrious/Poses/arch-back-sex-v1.1-illustriousxl.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "kiss, arched_back, sex_from_behind"
|
"lora_triggers": "kiss, arched_back, sex_from_behind",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"hetero",
|
"hetero",
|
||||||
@@ -26,4 +25,4 @@
|
|||||||
"nude",
|
"nude",
|
||||||
"indoors"
|
"indoors"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "arm_grab_missionary_ill_10",
|
"action_id": "arm_grab_missionary_ill_10",
|
||||||
"action_name": "Arm Grab Missionary Ill 10",
|
"action_name": "Arm Grab Missionary Ill 10",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "missionary, lying, on_back, sex, vaginal",
|
"base": "missionary, lying, on_back, sex, vaginal",
|
||||||
"head": "expressive face, open mouth, one_eye_closed, blushing",
|
"head": "expressive face, open mouth, one_eye_closed, blushing, looking_at_viewer (optional), dilated_pupils",
|
||||||
"eyes": "looking_at_viewer (optional), dilated_pupils",
|
"upper_body": "arms_up, pinned, restrained, grabbed_wrists, breasts, nipples, medium_breasts",
|
||||||
"arms": "arms_up, pinned, restrained, grabbed_wrists",
|
"lower_body": "legs_spread, lifted_pelvis, spread_legs, legs_up, knees_up, straddling (if applicable)",
|
||||||
"hands": "interlocked_fingers, holding_hands",
|
"hands": "interlocked_fingers, holding_hands",
|
||||||
"torso": "breasts, nipples, medium_breasts",
|
|
||||||
"pelvis": "legs_spread, lifted_pelvis",
|
|
||||||
"legs": "spread_legs, legs_up, knees_up, straddling (if applicable)",
|
|
||||||
"feet": "barefoot (implied)",
|
"feet": "barefoot (implied)",
|
||||||
"additional": "faceless_male, male_focus, motion_lines, sweat"
|
"additional": "faceless_male, male_focus, motion_lines, sweat"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/arm_grab_missionary_ill-10.safetensors",
|
"lora_name": "Illustrious/Poses/arm_grab_missionary_ill-10.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "arm_grab_missionary"
|
"lora_triggers": "arm_grab_missionary",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"missionary",
|
"missionary",
|
||||||
@@ -35,4 +34,4 @@
|
|||||||
"breasts",
|
"breasts",
|
||||||
"nipples"
|
"nipples"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "ballsdeep_il_v2_2_s",
|
"action_id": "ballsdeep_il_v2_2_s",
|
||||||
"action_name": "Ballsdeep Il V2 2 S",
|
"action_name": "Ballsdeep Il V2 2 S",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "sexual intercourse, variable position (prone, girl on top, or from behind)",
|
"base": "sexual intercourse, variable position (prone, girl on top, or from behind)",
|
||||||
"head": "expression of intensity or pleasure, often looking back or face down",
|
"head": "expression of intensity or pleasure, often looking back or face down, rolled back or squeezed shut",
|
||||||
"eyes": "rolled back or squeezed shut",
|
"upper_body": "grasping sheets or holding partner, arched or pressed against contrasting surface",
|
||||||
"arms": "grasping sheets or holding partner",
|
"lower_body": "hips pushed firmly against partner's hips, joined genitals, spread wide or wrapped around partner",
|
||||||
"hands": "clenched or grabbing",
|
"hands": "clenched or grabbing",
|
||||||
"torso": "arched or pressed against contrasting surface",
|
|
||||||
"pelvis": "hips pushed firmly against partner's hips, joined genitals",
|
|
||||||
"legs": "spread wide or wrapped around partner",
|
|
||||||
"feet": "toes curled",
|
"feet": "toes curled",
|
||||||
"additional": "deep penetration, testicles pressed flat against skin, stomach bulge visible"
|
"additional": "deep penetration, testicles pressed flat against skin, stomach bulge visible"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BallsDeep-IL-V2.2-S.safetensors",
|
"lora_name": "Illustrious/Poses/BallsDeep-IL-V2.2-S.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "deep penetration"
|
"lora_triggers": "deep penetration",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"deep_penetration",
|
"deep_penetration",
|
||||||
@@ -27,4 +26,4 @@
|
|||||||
"vaginal",
|
"vaginal",
|
||||||
"gaping"
|
"gaping"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "bathingtogether",
|
"action_id": "bathingtogether",
|
||||||
"action_name": "Bathingtogether",
|
"action_name": "Bathingtogether",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "bathing, sitting, partially_submerged",
|
"base": "bathing, sitting, partially_submerged",
|
||||||
"head": "looking_at_viewer, facing_viewer",
|
"head": "looking_at_viewer, facing_viewer, eye_contact",
|
||||||
"eyes": "eye_contact",
|
"upper_body": "arms_resting, bare_shoulders",
|
||||||
"arms": "arms_resting",
|
"lower_body": "submerged, knees_up, submerged",
|
||||||
"hands": "resting",
|
"hands": "resting",
|
||||||
"torso": "bare_shoulders",
|
|
||||||
"pelvis": "submerged",
|
|
||||||
"legs": "knees_up, submerged",
|
|
||||||
"feet": "no_shoes",
|
"feet": "no_shoes",
|
||||||
"additional": "bathtub, steam, water, bubbles, wet"
|
"additional": "bathtub, steam, water, bubbles, wet"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/bathingtogether.safetensors",
|
"lora_name": "Illustrious/Poses/bathingtogether.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "bathing together"
|
"lora_triggers": "bathing together",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"bathing",
|
"bathing",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"steam",
|
"steam",
|
||||||
"bare_shoulders"
|
"bare_shoulders"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,21 @@
|
|||||||
{
|
{
|
||||||
|
"action": {
|
||||||
|
"base": "2koma, before and after, side-by-side",
|
||||||
|
"head": "sticky_face,facial, bukkake, cum_on_face, eyes_closed",
|
||||||
|
"upper_body": "",
|
||||||
|
"lower_body": "",
|
||||||
|
"hands": "",
|
||||||
|
"feet": "",
|
||||||
|
"additional": "cum, close-uo"
|
||||||
|
},
|
||||||
"action_id": "before_after_1230829",
|
"action_id": "before_after_1230829",
|
||||||
"action_name": "Before After 1230829",
|
"action_name": "Before After 1230829",
|
||||||
"action": {
|
|
||||||
"full_body": "2koma, before_and_after",
|
|
||||||
"head": "heavy_breathing, orgasm, sticky_face",
|
|
||||||
"eyes": "eyes_closed",
|
|
||||||
"arms": "variation",
|
|
||||||
"hands": "variation",
|
|
||||||
"torso": "upper_body",
|
|
||||||
"pelvis": "variation",
|
|
||||||
"legs": "variation",
|
|
||||||
"feet": "variation",
|
|
||||||
"additional": "facial, bukkake, cum, cum_on_face"
|
|
||||||
},
|
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/before_after_1230829.safetensors",
|
"lora_name": "Illustrious/Poses/before_after_1230829.safetensors",
|
||||||
|
"lora_triggers": "before_after",
|
||||||
"lora_weight": 0.9,
|
"lora_weight": 0.9,
|
||||||
"lora_triggers": "before_after"
|
"lora_weight_max": 0.7,
|
||||||
|
"lora_weight_min": 0.6
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"before_and_after",
|
"before_and_after",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"upper_body",
|
"upper_body",
|
||||||
"split_theme"
|
"split_theme"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "belly_dancing",
|
"action_id": "belly_dancing",
|
||||||
"action_name": "Belly Dancing",
|
"action_name": "Belly Dancing",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "belly dancing, standing",
|
"base": "belly dancing, standing",
|
||||||
"head": "",
|
"head": "",
|
||||||
"eyes": "",
|
"upper_body": "hands above head",
|
||||||
"arms": "hands above head",
|
"lower_body": "swaying hips",
|
||||||
"hands": "palms together",
|
"hands": "palms together",
|
||||||
"torso": "",
|
|
||||||
"pelvis": "swaying hips",
|
|
||||||
"legs": "",
|
|
||||||
"feet": "",
|
"feet": "",
|
||||||
"additional": ""
|
"additional": ""
|
||||||
},
|
},
|
||||||
@@ -20,10 +17,12 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "",
|
"lora_name": "",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": ""
|
"lora_triggers": "",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"belly dancing",
|
"belly dancing",
|
||||||
"dance"
|
"dance"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "bentback",
|
"action_id": "bentback",
|
||||||
"action_name": "Bentback",
|
"action_name": "Bentback",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "bent_over, leaning_forward, from_behind",
|
"base": "bent_over, leaning_forward, from_behind",
|
||||||
"head": "looking_at_viewer, looking_back",
|
"head": "looking_at_viewer, looking_back, open_eyes",
|
||||||
"eyes": "open_eyes",
|
"upper_body": "arms_at_sides, twisted_torso, arched_back",
|
||||||
"arms": "arms_at_sides",
|
"lower_body": "ass_focus, kneepits",
|
||||||
"hands": "hands_on_legs",
|
"hands": "hands_on_legs",
|
||||||
"torso": "twisted_torso, arched_back",
|
|
||||||
"pelvis": "ass_focus",
|
|
||||||
"legs": "kneepits",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "unnatural_body"
|
"additional": "unnatural_body"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BentBack.safetensors",
|
"lora_name": "Illustrious/Poses/BentBack.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "bentback, kneepits"
|
"lora_triggers": "bentback, kneepits",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"bent_over",
|
"bent_over",
|
||||||
@@ -26,4 +25,4 @@
|
|||||||
"twisted_torso",
|
"twisted_torso",
|
||||||
"ass_focus"
|
"ass_focus"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "blowjobcomicpart2",
|
"action_id": "blowjobcomicpart2",
|
||||||
"action_name": "Blowjobcomicpart2",
|
"action_name": "Blowjobcomicpart2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "3koma, comic layout, vertical panel sequence",
|
"base": "3koma, comic layout, vertical panel sequence",
|
||||||
"head": "tongue_out, open mouth, saliva",
|
"head": "tongue_out, open mouth, saliva, empty_eyes, rolled eyes",
|
||||||
"eyes": "empty_eyes, rolled eyes",
|
"upper_body": "arms_down or holding_head, visible torso",
|
||||||
"arms": "arms_down or holding_head",
|
"lower_body": "sexual_activity, kneeling or sitting",
|
||||||
"hands": "fingers_on_penis",
|
"hands": "fingers_on_penis",
|
||||||
"torso": "visible torso",
|
|
||||||
"pelvis": "sexual_activity",
|
|
||||||
"legs": "kneeling or sitting",
|
|
||||||
"feet": "out_of_frame",
|
"feet": "out_of_frame",
|
||||||
"additional": "fellatio, irrumatio, licking_penis, ejaculation, excessive_cum"
|
"additional": "fellatio, irrumatio, licking_penis, ejaculation, excessive_cum"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BlowjobComicPart2.safetensors",
|
"lora_name": "Illustrious/Poses/BlowjobComicPart2.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "bjmcut"
|
"lora_triggers": "bjmcut",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"3koma",
|
"3koma",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"empty_eyes",
|
"empty_eyes",
|
||||||
"tongue_out"
|
"tongue_out"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "bodybengirl",
|
"action_id": "bodybengirl",
|
||||||
"action_name": "Bodybengirl",
|
"action_name": "Bodybengirl",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "suspended_congress, lifting_person, standing",
|
"base": "suspended_congress, lifting_person, dangling legs",
|
||||||
"head": "",
|
"head": "",
|
||||||
"eyes": "",
|
"upper_body": "dangling arms, torso_grab, bent_over",
|
||||||
"arms": "reaching",
|
"lower_body": "legs_hanging",
|
||||||
"hands": "",
|
"hands": "",
|
||||||
"torso": "torso_grab, bent_over",
|
|
||||||
"pelvis": "",
|
|
||||||
"legs": "legs_hanging",
|
|
||||||
"feet": "",
|
"feet": "",
|
||||||
"additional": "1boy, 1girl, suspended"
|
"additional": "1boy, 1girl, suspended, size difference, loli"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BodyBenGirl.safetensors",
|
"lora_name": "Illustrious/Poses/BodyBenGirl.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "bentstand-front, bentstand-behind"
|
"lora_triggers": "bentstand-behind",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"suspended_congress",
|
"suspended_congress",
|
||||||
@@ -27,4 +26,4 @@
|
|||||||
"1boy",
|
"1boy",
|
||||||
"1girl"
|
"1girl"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "bodybengirlpart2",
|
"action_id": "bodybengirlpart2",
|
||||||
"action_name": "Bodybengirlpart2",
|
"action_name": "Bodybengirlpart2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "body suspended in mid-air, held by torso, bent over forward",
|
"base": "body suspended in mid-air, held by torso, bent over forward",
|
||||||
"head": "embarrassed, sweating, scared",
|
"head": "embarrassed, sweating, scared, open, looking away or down",
|
||||||
"eyes": "open, looking away or down",
|
"upper_body": "arms hanging down, limp arms, arms at sides, torso grab, bent forward",
|
||||||
"arms": "arms hanging down, limp arms, arms at sides",
|
"lower_body": "hips raised if bent over, legs dangling, knees together, feet apart",
|
||||||
"hands": "hands open, limp",
|
"hands": "hands open, limp",
|
||||||
"torso": "torso grab, bent forward",
|
|
||||||
"pelvis": "hips raised if bent over",
|
|
||||||
"legs": "legs dangling, knees together, feet apart",
|
|
||||||
"feet": "feet off ground, dangling",
|
"feet": "feet off ground, dangling",
|
||||||
"additional": "motion lines, sweat drops"
|
"additional": "motion lines, sweat drops"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BodyBenGirlPart2.safetensors",
|
"lora_name": "Illustrious/Poses/BodyBenGirlPart2.safetensors",
|
||||||
"lora_weight": 0.9,
|
"lora_weight": 0.9,
|
||||||
"lora_triggers": "bentstand-behind, dangling legs, dangling arms, from_side, arms hanging down, torso_grab, suspended"
|
"lora_triggers": "bentstand-behind, dangling legs, dangling arms, from_side, arms hanging down, torso_grab, suspended",
|
||||||
|
"lora_weight_min": 0.9,
|
||||||
|
"lora_weight_max": 0.9
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"torso_grab",
|
"torso_grab",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"embarrassed",
|
"embarrassed",
|
||||||
"sweat"
|
"sweat"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "bored_retrain_000115_1336316",
|
"action_id": "bored_retrain_000115_1336316",
|
||||||
"action_name": "Bored Retrain 000115 1336316",
|
"action_name": "Bored Retrain 000115 1336316",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "slouching sitting posture, low energy, visually disinterested, exhibiting ennui",
|
"base": "slouching sitting posture, low energy, visually disinterested, exhibiting ennui",
|
||||||
"head": "tilted to the side, resting heavily on hand, cheek squished against palm, blank or annoyed expression",
|
"head": "tilted to the side, resting heavily on hand, cheek squished against palm, blank or annoyed expression, half-lidded, dull gaze, looking away or staring into space, heavy eyelids",
|
||||||
"eyes": "half-lidded, dull gaze, looking away or staring into space, heavy eyelids",
|
"upper_body": "elbow proped on surface, arm supporting the head, other arm dangling loosely or lying flat, slumped shoulders, curved spine, leaning forward",
|
||||||
"arms": "elbow proped on surface, arm supporting the head, other arm dangling loosely or lying flat",
|
"lower_body": "sitting back, relaxed weight, stretched out under a table or loosely crossed",
|
||||||
"hands": "palm supporting chin or cheek, fingers lazily curled",
|
"hands": "palm supporting chin or cheek, fingers lazily curled",
|
||||||
"torso": "slumped shoulders, curved spine, leaning forward",
|
|
||||||
"pelvis": "sitting back, relaxed weight",
|
|
||||||
"legs": "stretched out under a table or loosely crossed",
|
|
||||||
"feet": "resting idly",
|
"feet": "resting idly",
|
||||||
"additional": "sighing context, waiting, lethargic atmosphere"
|
"additional": "sighing context, waiting, lethargic atmosphere"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Bored_Retrain-000115_1336316.safetensors",
|
"lora_name": "Illustrious/Poses/Bored_Retrain-000115_1336316.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Bored_Retrain-000115_1336316"
|
"lora_triggers": "Bored_Retrain-000115_1336316",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"boredom",
|
"boredom",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"tired",
|
"tired",
|
||||||
"cheek resting on hand"
|
"cheek resting on hand"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "breast_pressh",
|
"action_id": "breast_pressh",
|
||||||
"action_name": "Breast Pressh",
|
"action_name": "Breast Pressh",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "sandwiched, girl_sandwich, standing, height_difference, size_difference",
|
"base": "sandwiched, girl_sandwich, standing, height_difference, size_difference",
|
||||||
"head": "head_between_breasts, face_between_breasts, cheek_squash",
|
"head": "head_between_breasts, face_between_breasts, cheek_squash, eyes_closed, squints",
|
||||||
"eyes": "eyes_closed, squints",
|
"upper_body": "hugging, arms_around_waist, breast_press, chest_to_chest",
|
||||||
"arms": "hugging, arms_around_waist",
|
"lower_body": "hips_touching, standing, legs_apart",
|
||||||
"hands": "hands_on_back",
|
"hands": "hands_on_back",
|
||||||
"torso": "breast_press, chest_to_chest",
|
|
||||||
"pelvis": "hips_touching",
|
|
||||||
"legs": "standing, legs_apart",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "1boy, 2girls, multiple_girls, hetero"
|
"additional": "1boy, 2girls, multiple_girls, hetero"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/breast_pressH.safetensors",
|
"lora_name": "Illustrious/Poses/breast_pressH.safetensors",
|
||||||
"lora_weight": 0.6,
|
"lora_weight": 0.6,
|
||||||
"lora_triggers": "breast_pressH"
|
"lora_triggers": "breast_pressH",
|
||||||
|
"lora_weight_min": 0.6,
|
||||||
|
"lora_weight_max": 0.6
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"height_difference",
|
"height_difference",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"1boy",
|
"1boy",
|
||||||
"2girls"
|
"2girls"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "breast_smother_illustriousxl_lora_nochekaiser",
|
"action_id": "breast_smother_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Breast Smother Illustriousxl Lora Nochekaiser",
|
"action_name": "Breast Smother Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "intimate upper body POV or side view, character pressing another's face into their chest",
|
"base": "intimate upper body POV or side view, character pressing another's face into their chest",
|
||||||
"head": "tilted downwards, chin tucked, affectionate or dominant expression",
|
"head": "tilted downwards, chin tucked, affectionate or dominant expression, looking down, half-closed, affectionate gaze",
|
||||||
"eyes": "looking down, half-closed, affectionate gaze",
|
"upper_body": "wrapping around the partner's head or neck, leaning slightly backward, chest prominent, squished breasts, cleavage",
|
||||||
"arms": "wrapping around the partner's head or neck",
|
"lower_body": "close contact, standing or sitting, posture relaxed",
|
||||||
"hands": "cradling the back of the head, fingers interlocked in hair, pressing face deeper",
|
"hands": "cradling the back of the head, fingers interlocked in hair, pressing face deeper",
|
||||||
"torso": "leaning slightly backward, chest prominent, squished breasts, cleavage",
|
|
||||||
"pelvis": "close contact",
|
|
||||||
"legs": "standing or sitting, posture relaxed",
|
|
||||||
"feet": "planted on ground",
|
"feet": "planted on ground",
|
||||||
"additional": "face buried in breasts, chest covering face, soft lighting, skin compression"
|
"additional": "face buried in breasts, chest covering face, soft lighting, skin compression"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/breast-smother-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/breast-smother-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "breast-smother-illustriousxl-lora-nochekaiser"
|
"lora_triggers": "breast-smother-illustriousxl-lora-nochekaiser",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"breast smother",
|
"breast smother",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"pov",
|
"pov",
|
||||||
"large breasts"
|
"large breasts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "breast_sucking_fingering_illustriousxl_lora_nochekaiser",
|
"action_id": "breast_sucking_fingering_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Breast Sucking Fingering Illustriousxl Lora Nochekaiser",
|
"action_name": "Breast Sucking Fingering Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "duo, sexual interaction, close-up, breast sucking, fingering, intimate embrace",
|
"base": "duo, sexual interaction, close-up, breast sucking, fingering, intimate embrace",
|
||||||
"head": "face buried in breasts, sucking nipple, kissing breast, saliva",
|
"head": "face buried in breasts, sucking nipple, kissing breast, saliva, eyes closed, heavy breathing, blush, expression of bliss",
|
||||||
"eyes": "eyes closed, heavy breathing, blush, expression of bliss",
|
"upper_body": "reaching down, holding partner close, arm around waist, large breasts, exposed nipples, nude torso, pressing bodies",
|
||||||
"arms": "reaching down, holding partner close, arm around waist",
|
"lower_body": "legs spread, pussy exposed, vaginal manipulation, open legs, m-legs, intertwined legs",
|
||||||
"hands": "fingering, fingers inside, rubbing clitoris, squeezing breast, groping",
|
"hands": "fingering, fingers inside, rubbing clitoris, squeezing breast, groping",
|
||||||
"torso": "large breasts, exposed nipples, nude torso, pressing bodies",
|
|
||||||
"pelvis": "legs spread, pussy exposed, vaginal manipulation",
|
|
||||||
"legs": "open legs, m-legs, intertwined legs",
|
|
||||||
"feet": "toes curled, relaxed feet",
|
"feet": "toes curled, relaxed feet",
|
||||||
"additional": "saliva trail, sweat, motion lines, uncensored"
|
"additional": "saliva trail, sweat, motion lines, uncensored"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/breast-sucking-fingering-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/breast-sucking-fingering-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "breast-sucking-fingering-illustriousxl-lora-nochekaiser"
|
"lora_triggers": "breast-sucking-fingering-illustriousxl-lora-nochekaiser",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"breast sucking",
|
"breast sucking",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"saliva",
|
"saliva",
|
||||||
"stimulation"
|
"stimulation"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "brokenglass_illusxl_incrs_v1",
|
"action_id": "brokenglass_illusxl_incrs_v1",
|
||||||
"action_name": "Brokenglass Illusxl Incrs V1",
|
"action_name": "Brokenglass Illusxl Incrs V1",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "dynamic shot of character seemingly breaking through a barrier",
|
"base": "dynamic shot of character seemingly breaking through a barrier",
|
||||||
"head": "intense expression, face visible through cracks",
|
"head": "intense expression, face visible through cracks, sharp focus, wide open",
|
||||||
"eyes": "sharp focus, wide open",
|
"upper_body": "outstretched towards the viewer or shielding face, twisted slightly to suggest impact force",
|
||||||
"arms": "outstretched towards the viewer or shielding face",
|
"lower_body": "anchored or mid-air depending on angle, posed dynamically to support the movement",
|
||||||
"hands": "touching the surface of the invisible wall, interacting with fragments",
|
"hands": "touching the surface of the invisible wall, interacting with fragments",
|
||||||
"torso": "twisted slightly to suggest impact force",
|
|
||||||
"pelvis": "anchored or mid-air depending on angle",
|
|
||||||
"legs": "posed dynamically to support the movement",
|
|
||||||
"feet": "grounded or trailing",
|
"feet": "grounded or trailing",
|
||||||
"additional": "foreground filled with sharp broken glass shards, spiderweb cracks glowing with light, refractive surfaces, cinematic debris"
|
"additional": "foreground filled with sharp broken glass shards, spiderweb cracks glowing with light, refractive surfaces, cinematic debris"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/BrokenGlass_illusXL_Incrs_v1.safetensors",
|
"lora_name": "Illustrious/Poses/BrokenGlass_illusXL_Incrs_v1.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "BrokenGlass_illusXL_Incrs_v1"
|
"lora_triggers": "BrokenGlass_illusXL_Incrs_v1",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"broken glass",
|
"broken glass",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"cinematic",
|
"cinematic",
|
||||||
"destruction"
|
"destruction"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "butt_smother_ag_000043",
|
"action_id": "butt_smother_ag_000043",
|
||||||
"action_name": "Butt Smother Ag 000043",
|
"action_name": "Butt Smother Ag 000043",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "facesitting, character sitting on face, pov from below, dominant pose",
|
"base": "1boy,1girl,facesitting, character sitting on face, pov from below, dominant pose",
|
||||||
"head": "looking down at viewer, looking back over shoulder",
|
"head": "looking down at viewer, looking back over shoulder, looking at viewer, half-closed eyes, seductive gaze",
|
||||||
"eyes": "looking at viewer, half-closed eyes, seductive gaze",
|
"upper_body": "arms reaching back, supporting weight, back arched, leaning forward",
|
||||||
"arms": "arms reaching back, supporting weight",
|
"lower_body": "buttocks pressing down slightly, buttocks covering screen, heavy weight, thighs straddling viewer, knees bent, spread legs",
|
||||||
"hands": "hands spreading buttocks, hands on thighs, hands grasping victim's head",
|
"hands": "hands spreading buttocks, hands on thighs, hands grasping victim's head",
|
||||||
"torso": "back arched, leaning forward",
|
|
||||||
"pelvis": "buttocks pressing down slightly, buttocks covering screen, heavy weight",
|
|
||||||
"legs": "thighs straddling viewer, knees bent, spread legs",
|
|
||||||
"feet": "feet planted on ground, toes curled",
|
"feet": "feet planted on ground, toes curled",
|
||||||
"additional": "extreme close-up, squished face, muffling, soft lighting on skin"
|
"additional": "extreme close-up, squished face, muffling, soft lighting on skin"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Butt_smother_ag-000043.safetensors",
|
"lora_name": "Illustrious/Poses/Butt_smother_ag-000043.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Butt_smother_ag-000043"
|
"lora_triggers": "Butt_smother_ag-000043",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"facesitting",
|
"facesitting",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"suffocation",
|
"suffocation",
|
||||||
"submissive view"
|
"submissive view"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,13 @@
|
|||||||
"action_id": "buttjob",
|
"action_id": "buttjob",
|
||||||
"action_name": "Buttjob",
|
"action_name": "Buttjob",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "bent over, back turned to viewer, kneeling or standing",
|
"base": "bent over, buttjob",
|
||||||
"head": "looking back over shoulder",
|
"head": "",
|
||||||
"eyes": "looking at viewer, half-closed",
|
"upper_body": "",
|
||||||
"arms": "supporting upper body weight on cool surface or knees",
|
"lower_body": "buttjob",
|
||||||
"hands": "resting on bed, knees or holding buttocks apart",
|
"hands": "",
|
||||||
"torso": "arched back, leaning forward",
|
"feet": "",
|
||||||
"pelvis": "pushed backward, hips elevated high",
|
"additional": ""
|
||||||
"legs": "kneeling with thighs spread or standing bent",
|
|
||||||
"feet": "arched or plantar flexion",
|
|
||||||
"additional": "glutes pressed together, friction focus, skin indentation"
|
|
||||||
},
|
},
|
||||||
"participants": {
|
"participants": {
|
||||||
"solo_focus": "true",
|
"solo_focus": "true",
|
||||||
@@ -20,16 +17,12 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/buttjob.safetensors",
|
"lora_name": "Illustrious/Poses/buttjob.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "buttjob"
|
"lora_triggers": "buttjob",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"buttjob",
|
"buttjob",
|
||||||
"back to viewer",
|
"butt"
|
||||||
"bent over",
|
|
||||||
"arched back",
|
|
||||||
"kneeling",
|
|
||||||
"ass focus",
|
|
||||||
"glutes",
|
|
||||||
"between buttocks"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "carwashv2",
|
"action_id": "carwashv2",
|
||||||
"action_name": "Carwashv2",
|
"action_name": "Carwashv2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "washing_vehicle, standing, bending_over",
|
"base": "washing_vehicle, bending_over",
|
||||||
"head": "wet_hair",
|
"head": "wet_hair",
|
||||||
"eyes": "looking_at_viewer",
|
"upper_body": "wet_clothes, breast_press, breasts_on_glass",
|
||||||
"arms": "reaching, arms_up",
|
"lower_body": "",
|
||||||
"hands": "holding_sponge, holding_hose",
|
"hands": "holding_sponge, holding_hose",
|
||||||
"torso": "wet_clothes, breast_press, breasts_on_glass",
|
"feet": "",
|
||||||
"pelvis": "shorts, denim_shorts",
|
"additional": "car, motor_vehicle, soap_bubbles"
|
||||||
"legs": "standing, legs_apart",
|
|
||||||
"feet": "barefoot",
|
|
||||||
"additional": "car, motor_vehicle, soap_bubbles, outdoors, car_interior"
|
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/CarWashV2.safetensors",
|
"lora_name": "Illustrious/Poses/CarWashV2.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "w4sh1n, w4sh0ut"
|
"lora_triggers": "w4sh1n, w4sh0ut",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"car",
|
"car",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"outdoors",
|
"outdoors",
|
||||||
"car_interior"
|
"car_interior"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cat_stretchill",
|
"action_id": "cat_stretchill",
|
||||||
"action_name": "Cat Stretchill",
|
"action_name": "Cat Stretchill",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling, all_fours, cat_stretch, pose",
|
"base": "kneeling, all_fours, cat_stretch, pose",
|
||||||
"head": "looking_ahead, head_down",
|
"head": "looking_ahead, head_down, closed_eyes, trembling",
|
||||||
"eyes": "closed_eyes, trembling",
|
"upper_body": "outstretched_arms, reaching_forward, hands_on_ground, arched_back, chest_down",
|
||||||
"arms": "outstretched_arms, reaching_forward, hands_on_ground",
|
"lower_body": "hips_up, buttocks_up, kneeling, knees_on_ground",
|
||||||
"hands": "palms_down",
|
"hands": "palms_down",
|
||||||
"torso": "arched_back, chest_down",
|
|
||||||
"pelvis": "hips_up, buttocks_up",
|
|
||||||
"legs": "kneeling, knees_on_ground",
|
|
||||||
"feet": "feet_up",
|
"feet": "feet_up",
|
||||||
"additional": "cat_ears, cat_tail, trembling"
|
"additional": "cat_ears, cat_tail, trembling"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cat_stretchILL.safetensors",
|
"lora_name": "Illustrious/Poses/cat_stretchILL.safetensors",
|
||||||
"lora_weight": 0.7,
|
"lora_weight": 0.7,
|
||||||
"lora_triggers": "stretching, cat stretch, downward dog, trembling"
|
"lora_triggers": "stretching, cat stretch, downward dog, trembling",
|
||||||
|
"lora_weight_min": 0.7,
|
||||||
|
"lora_weight_max": 0.7
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cat_stretch",
|
"cat_stretch",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"cat_ears",
|
"cat_ears",
|
||||||
"cat_tail"
|
"cat_tail"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"action_id": "caught_masturbating_illustrious",
|
|
||||||
"action_name": "Caught Masturbating Illustrious",
|
|
||||||
"action": {
|
|
||||||
"full_body": "standing in doorway, confronting viewer",
|
|
||||||
"head": "looking down or at viewer, surprised expression, blushing",
|
|
||||||
"eyes": "wide open, looking away or at penis",
|
|
||||||
"arms": "arms at sides or covering mouth",
|
|
||||||
"hands": "relaxed or raised in shock",
|
|
||||||
"torso": "facing viewer",
|
|
||||||
"pelvis": "standing straight",
|
|
||||||
"legs": "standing, legs together",
|
|
||||||
"feet": "standing on floor",
|
|
||||||
"additional": "male pov, male masturbation in foreground, open door background"
|
|
||||||
},
|
|
||||||
"lora": {
|
|
||||||
"lora_name": "Illustrious/Poses/Caught_Masturbating_ILLUSTRIOUS.safetensors",
|
|
||||||
"lora_weight": 0.75,
|
|
||||||
"lora_triggers": "caught, male pov, male masturbation, girl walking in door, standing in doorway"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"pov",
|
|
||||||
"male_masturbation",
|
|
||||||
"penis",
|
|
||||||
"erection",
|
|
||||||
"walk-in",
|
|
||||||
"caught",
|
|
||||||
"doorway",
|
|
||||||
"open_door",
|
|
||||||
"standing",
|
|
||||||
"surprised",
|
|
||||||
"blush",
|
|
||||||
"looking_at_penis",
|
|
||||||
"looking_at_viewer",
|
|
||||||
"wide_shot",
|
|
||||||
"indoors"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "charm_person_magic",
|
"action_id": "charm_person_magic",
|
||||||
"action_name": "Charm Person Magic",
|
"action_name": "Charm Person Magic",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "casting_spell, standing, magical_presence",
|
"base": "casting_spell, standing, magical_presence",
|
||||||
"head": "smile, confident_expression, glowing_eyes",
|
"head": "smile, confident_expression, glowing_eyes, looking_at_viewer, glowing_eyes",
|
||||||
"eyes": "looking_at_viewer, glowing_eyes",
|
"upper_body": "outstretched_hand, reaching_towards_viewer, arms_up, upper_body, facing_viewer",
|
||||||
"arms": "outstretched_hand, reaching_towards_viewer, arms_up",
|
"lower_body": "n/a, n/a",
|
||||||
"hands": "open_hand, hand_gesture",
|
"hands": "open_hand, hand_gesture",
|
||||||
"torso": "upper_body, facing_viewer",
|
|
||||||
"pelvis": "n/a",
|
|
||||||
"legs": "n/a",
|
|
||||||
"feet": "n/a",
|
"feet": "n/a",
|
||||||
"additional": "aura, soft_light, magic_effects, sparkling"
|
"additional": "aura, soft_light, magic_effects, sparkling"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/charm_person_magic.safetensors",
|
"lora_name": "Illustrious/Poses/charm_person_magic.safetensors",
|
||||||
"lora_weight": 0.7,
|
"lora_weight": 0.7,
|
||||||
"lora_triggers": "charm_person_(magic), cham_aura"
|
"lora_triggers": "charm_person_(magic), cham_aura",
|
||||||
|
"lora_weight_min": 0.7,
|
||||||
|
"lora_weight_max": 0.7
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"casting_spell",
|
"casting_spell",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"cowboy_shot",
|
"cowboy_shot",
|
||||||
"solo"
|
"solo"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cheekbulge",
|
"action_id": "cheekbulge",
|
||||||
"action_name": "Cheekbulge",
|
"action_name": "Cheekbulge",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "fellatio",
|
"base": "fellatio",
|
||||||
"head": "cheek_bulge, head_tilt, saliva",
|
"head": "cheek_bulge, head_tilt, saliva, penis in mouth, fellatio, looking_up",
|
||||||
"eyes": "looking_up",
|
"upper_body": "arms_behind_back, upper_body",
|
||||||
"arms": "arms_behind_back",
|
"lower_body": "kneeling, kneeling",
|
||||||
"hands": "hands_on_head",
|
"hands": "hands_on_head",
|
||||||
"torso": "upper_body",
|
|
||||||
"pelvis": "kneeling",
|
|
||||||
"legs": "kneeling",
|
|
||||||
"feet": "plantar_flexion",
|
"feet": "plantar_flexion",
|
||||||
"additional": "deepthroat, pov, penis"
|
"additional": "deepthroat, pov, penis"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cheekbulge.safetensors",
|
"lora_name": "Illustrious/Poses/cheekbulge.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cheek bulge"
|
"lora_triggers": "cheek bulge, male pov",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cheek_bulge",
|
"cheek_bulge",
|
||||||
@@ -27,4 +26,4 @@
|
|||||||
"penis",
|
"penis",
|
||||||
"pov"
|
"pov"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "chokehold",
|
"action_id": "chokehold",
|
||||||
"action_name": "Chokehold",
|
"action_name": "Chokehold",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "rear_naked_choke, from_behind, struggling, kneeling",
|
"base": "rear_naked_choke, from_behind, struggling, kneeling",
|
||||||
"head": "head_back, expressionless, open_mouth",
|
"head": "head_back, expressionless, open_mouth, rolling_eyes, tearing_up, empty_eyes",
|
||||||
"eyes": "rolling_eyes, tearing_up, empty_eyes",
|
"upper_body": "arm_around_neck, struggling, grabbing_arm, leaning_forward, arched_back",
|
||||||
"arms": "arm_around_neck, struggling, grabbing_arm",
|
"lower_body": "kneeling, bent_over, kneeling, spread_legs",
|
||||||
"hands": "clenched_hands, struggling",
|
"hands": "clenched_hands, struggling",
|
||||||
"torso": "leaning_forward, arched_back",
|
|
||||||
"pelvis": "kneeling, bent_over",
|
|
||||||
"legs": "kneeling, spread_legs",
|
|
||||||
"feet": "barefoot, toes_curled",
|
"feet": "barefoot, toes_curled",
|
||||||
"additional": "distress, blushing, saliva, veins"
|
"additional": "distress, blushing, saliva, veins"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/chokehold.safetensors",
|
"lora_name": "Illustrious/Poses/chokehold.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "choke hold"
|
"lora_triggers": "choke hold",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"choke_hold",
|
"choke_hold",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"saliva",
|
"saliva",
|
||||||
"ohogao"
|
"ohogao"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cleavageteasedwnsty_000008",
|
"action_id": "cleavageteasedwnsty_000008",
|
||||||
"action_name": "Cleavageteasedwnsty 000008",
|
"action_name": "Cleavageteasedwnsty 000008",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "leaning_forward, sexually_suggestive",
|
"base": "leaning_forward, sexually_suggestive",
|
||||||
"head": "looking_at_viewer, smile, blush, one_eye_closed",
|
"head": "looking_at_viewer, smile, blush, one_eye_closed, blue_eyes, looking_at_viewer",
|
||||||
"eyes": "blue_eyes, looking_at_viewer",
|
"upper_body": "arms_bent_at_elbows, cleavage, breasts_squeezed_together, areola_slip, bare_shoulders, collarbone",
|
||||||
"arms": "arms_bent_at_elbows",
|
"lower_body": "n/a, n/a",
|
||||||
"hands": "hands_on_own_chest, clothes_pull, adjusting_clothes",
|
"hands": "hands_on_own_chest, clothes_pull, adjusting_clothes",
|
||||||
"torso": "cleavage, breasts_squeezed_together, areola_slip, bare_shoulders, collarbone",
|
|
||||||
"pelvis": "n/a",
|
|
||||||
"legs": "n/a",
|
|
||||||
"feet": "n/a",
|
"feet": "n/a",
|
||||||
"additional": "teasing, undressing"
|
"additional": "teasing, undressing"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/CleavageTeaseDwnsty-000008.safetensors",
|
"lora_name": "Illustrious/Poses/CleavageTeaseDwnsty-000008.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "pulling down own clothes, teasing"
|
"lora_triggers": "pulling down own clothes, teasing",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"clothes_pull",
|
"clothes_pull",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"blush",
|
"blush",
|
||||||
"one_eye_closed"
|
"one_eye_closed"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,21 @@
|
|||||||
{
|
{
|
||||||
"action_id": "closeup_facial_illus",
|
|
||||||
"action_name": "Closeup Facial Illus",
|
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "close-up, portrait",
|
"base": "close-up, portrait",
|
||||||
"head": "facial, open_mouth, tongue, saliva, blush",
|
"head": "facial, open_mouth, tongue, saliva, blush, looking_at_viewer, eyes_open",
|
||||||
"eyes": "looking_at_viewer, eyes_open",
|
"upper_body": "",
|
||||||
"arms": "out_of_frame",
|
"lower_body": "",
|
||||||
"hands": "out_of_frame",
|
"hands": "",
|
||||||
"torso": "out_of_frame",
|
"feet": "",
|
||||||
"pelvis": "out_of_frame",
|
|
||||||
"legs": "out_of_frame",
|
|
||||||
"feet": "out_of_frame",
|
|
||||||
"additional": "nsfw, semen, cum"
|
"additional": "nsfw, semen, cum"
|
||||||
},
|
},
|
||||||
|
"action_id": "closeup_facial_illus",
|
||||||
|
"action_name": "Closeup Facial Illus",
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Closeup_Facial_iLLus.safetensors",
|
"lora_name": "Illustrious/Poses/Closeup_Facial_iLLus.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_triggers": "Closeup Facial",
|
||||||
"lora_triggers": "Closeup Facial"
|
"lora_weight": 1,
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"facial",
|
"facial",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"saliva",
|
"saliva",
|
||||||
"blush"
|
"blush"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,13 @@
|
|||||||
"action_id": "cof",
|
"action_id": "cof",
|
||||||
"action_name": "Cum on Figure",
|
"action_name": "Cum on Figure",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "figurine, mini-girl",
|
"base": "figurine, mini-girl, cum on body, cum on figurine",
|
||||||
"head": "",
|
"head": "",
|
||||||
"eyes": "",
|
"upper_body": "",
|
||||||
"arms": "",
|
"lower_body": "",
|
||||||
"hands": "",
|
"hands": "",
|
||||||
"torso": "",
|
|
||||||
"pelvis": "",
|
|
||||||
"legs": "",
|
|
||||||
"feet": "",
|
"feet": "",
|
||||||
"additional": "cum, cum on body, excessive cum, cum on face, cum on breasts, cum on chest"
|
"additional": "cum,excessive cum"
|
||||||
},
|
},
|
||||||
"participants": {
|
"participants": {
|
||||||
"solo_focus": "true",
|
"solo_focus": "true",
|
||||||
@@ -20,14 +17,12 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cof.safetensors",
|
"lora_name": "Illustrious/Poses/cof.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cof"
|
"lora_triggers": "cof",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"standing force",
|
"cum",
|
||||||
"carry on front",
|
"figurine"
|
||||||
"carry",
|
|
||||||
"lifting",
|
|
||||||
"legs wrapped",
|
|
||||||
"straddling"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cooperative_grinding",
|
"action_id": "cooperative_grinding",
|
||||||
"action_name": "Cooperative Grinding",
|
"action_name": "Cooperative Grinding",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "duo, standing, carrying, straddling, lift and carry, legs wrapped around waist, body to body",
|
"base": "duo, standing, carrying, straddling, lift and carry, legs wrapped around waist, body to body",
|
||||||
"head": "head thrown back, blushing, heavy breathing, intense pleasure",
|
"head": "head thrown back, blushing, heavy breathing, intense pleasure, eyes closed, half-closed eyes, rolled back eyes",
|
||||||
"eyes": "eyes closed, half-closed eyes, rolled back eyes",
|
"upper_body": "arms around neck, holding buttocks, supporting thighs, strong grip, chest to chest, pressed together, close physical contact",
|
||||||
"arms": "arms around neck, holding buttocks, supporting thighs, strong grip",
|
"lower_body": "hips touching, grinding, mating press, pelvic curtain, legs wrapped around, thighs spread, lifted legs",
|
||||||
"hands": "grabbing, squeezing, gripping back",
|
"hands": "grabbing, squeezing, gripping back",
|
||||||
"torso": "chest to chest, pressed together, close physical contact",
|
|
||||||
"pelvis": "hips touching, grinding, mating press, pelvic curtain",
|
|
||||||
"legs": "legs wrapped around, thighs spread, lifted legs",
|
|
||||||
"feet": "dangling feet, arched toes",
|
"feet": "dangling feet, arched toes",
|
||||||
"additional": "sweat, motion lines, intimate, erotic atmosphere"
|
"additional": "sweat, motion lines, intimate, erotic atmosphere"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cooperative_grinding.safetensors",
|
"lora_name": "Illustrious/Poses/cooperative_grinding.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cooperative_grinding"
|
"lora_triggers": "cooperative_grinding",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"standing sex",
|
"standing sex",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"grinding",
|
"grinding",
|
||||||
"lift and carry"
|
"lift and carry"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cooperativepaizuri",
|
"action_id": "cooperativepaizuri",
|
||||||
"action_name": "Cooperativepaizuri",
|
"action_name": "Cooperativepaizuri",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "cooperative_paizuri, 2girls, 1boy, sexual_activity",
|
"base": "cooperative_paizuri, 2girls, 1boy, sexual_activity",
|
||||||
"head": "smile, open_mouth, facial",
|
"head": "smile, open_mouth, facial, looking_at_partner, half_closed_eyes",
|
||||||
"eyes": "looking_at_partner, half_closed_eyes",
|
"upper_body": "arms_around_neck, grabbing_penis, large_breasts, breasts_touching, nipples",
|
||||||
"arms": "arms_around_neck, grabbing_penis",
|
"lower_body": "penis, glans, erection, kneeling, straddling",
|
||||||
"hands": "on_penis, guiding_penis",
|
"hands": "on_penis, guiding_penis",
|
||||||
"torso": "large_breasts, breasts_touching, nipples",
|
|
||||||
"pelvis": "penis, glans, erection",
|
|
||||||
"legs": "kneeling, straddling",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "pov, cum_on_body, fluids"
|
"additional": "pov, cum_on_body, fluids"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cooperativepaizuri.safetensors",
|
"lora_name": "Illustrious/Poses/cooperativepaizuri.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cooperative paizuri"
|
"lora_triggers": "cooperative paizuri",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cooperative_paizuri",
|
"cooperative_paizuri",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"from_side",
|
"from_side",
|
||||||
"large_breasts"
|
"large_breasts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "covering_privates_illustrious_v1_0",
|
"action_id": "covering_privates_illustrious_v1_0",
|
||||||
"action_name": "Covering Privates Illustrious V1 0",
|
"action_name": "Covering Privates Illustrious V1 0",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "covering_privates",
|
"base": "covering_privates",
|
||||||
"head": "embarrassed, blush",
|
"head": "embarrassed, blush, looking_at_viewer",
|
||||||
"eyes": "looking_at_viewer",
|
"upper_body": "arm_across_chest, upper_body",
|
||||||
"arms": "arm_across_chest",
|
"lower_body": "hips, legs_together",
|
||||||
"hands": "covering_breasts, covering_crotch",
|
"hands": "covering_breasts, covering_crotch",
|
||||||
"torso": "upper_body",
|
|
||||||
"pelvis": "hips",
|
|
||||||
"legs": "legs_together",
|
|
||||||
"feet": "standing",
|
"feet": "standing",
|
||||||
"additional": "modesty"
|
"additional": "modesty"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/covering privates_illustrious_V1.0.safetensors",
|
"lora_name": "Illustrious/Poses/covering privates_illustrious_V1.0.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "covering privates, covering crotch, covering breasts"
|
"lora_triggers": "covering privates, covering crotch, covering breasts",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"covering_privates",
|
"covering_privates",
|
||||||
@@ -27,4 +26,4 @@
|
|||||||
"arm_across_chest",
|
"arm_across_chest",
|
||||||
"legs_together"
|
"legs_together"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,23 +2,22 @@
|
|||||||
"action_id": "coveringownmouth_ill_v1",
|
"action_id": "coveringownmouth_ill_v1",
|
||||||
"action_name": "Coveringownmouth Ill V1",
|
"action_name": "Coveringownmouth Ill V1",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "character covering their mouth with their hand",
|
"base": "character covering their mouth with their hand",
|
||||||
"head": "lower face obscured by hand",
|
"head": "lower face obscured by hand, neutral or expressive (depending on context)",
|
||||||
"eyes": "neutral or expressive (depending on context)",
|
"upper_body": "arm raised towards face, upper body visible",
|
||||||
"arms": "arm raised towards face",
|
"lower_body": "variable, variable",
|
||||||
"hands": "hand placed over mouth, palm inward",
|
"hands": "hand placed over mouth, palm inward",
|
||||||
"torso": "upper body visible",
|
|
||||||
"pelvis": "variable",
|
|
||||||
"legs": "variable",
|
|
||||||
"feet": "variable",
|
"feet": "variable",
|
||||||
"additional": "often indicates surprise, embarrassment, or silence"
|
"additional": "often indicates surprise, embarrassment, or silence"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/CoveringOwnMouth_Ill_V1.safetensors",
|
"lora_name": "Illustrious/Poses/CoveringOwnMouth_Ill_V1.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "covering_own_mouth"
|
"lora_triggers": "covering_own_mouth",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"covering_own_mouth"
|
"covering_own_mouth"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cowgirl_position_breast_press_illustriousxl_lora_nochekaiser",
|
"action_id": "cowgirl_position_breast_press_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Cowgirl Position Breast Press Illustriousxl Lora Nochekaiser",
|
"action_name": "Cowgirl Position Breast Press Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "straddling pose, body leaning forward directly into the camera view",
|
"base": "straddling pose, body leaning forward directly into the camera view",
|
||||||
"head": "face close to the viewer, looking down or directly ahead",
|
"head": "face close to the viewer, looking down or directly ahead, looking at viewer, intense or half-closed gaze",
|
||||||
"eyes": "looking at viewer, intense or half-closed gaze",
|
"upper_body": "arms extending forward or bent to support weight, upper body leaning forward, breasts heavily pressed and flattened against the screen/viewer",
|
||||||
"arms": "arms extending forward or bent to support weight",
|
"lower_body": "hips wide, seated in a straddling motion, knees bent, thighs spread wide apart",
|
||||||
"hands": "placed on an invisible surface or partner's chest",
|
"hands": "placed on an invisible surface or partner's chest",
|
||||||
"torso": "upper body leaning forward, breasts heavily pressed and flattened against the screen/viewer",
|
|
||||||
"pelvis": "hips wide, seated in a straddling motion",
|
|
||||||
"legs": "knees bent, thighs spread wide apart",
|
|
||||||
"feet": "tucked behind or out of frame",
|
"feet": "tucked behind or out of frame",
|
||||||
"additional": "pov, squish, breast deformation, intimate distance"
|
"additional": "pov, squish, breast deformation, intimate distance"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cowgirl-position-breast-press-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/cowgirl-position-breast-press-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cowgirl-position-breast-press-illustriousxl-lora-nochekaiser"
|
"lora_triggers": "cowgirl-position-breast-press-illustriousxl-lora-nochekaiser",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cowgirl position",
|
"cowgirl position",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"breast deformation",
|
"breast deformation",
|
||||||
"squish"
|
"squish"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cuckold_ntr_il_nai_py",
|
"action_id": "cuckold_ntr_il_nai_py",
|
||||||
"action_name": "Cuckold Ntr Il Nai Py",
|
"action_name": "Cuckold Ntr Il Nai Py",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "from behind, bent over, doggy style, looking back, pov",
|
"base": "from behind, bent over, doggy style, looking back, pov",
|
||||||
"head": "turned to look back over shoulder, face flushed, heavy breathing, expression of pleasure or distress",
|
"head": "turned to look back over shoulder, face flushed, heavy breathing, expression of pleasure or distress, looking at viewer, tears, heart-shaped pupils or rolled back",
|
||||||
"eyes": "looking at viewer, tears, heart-shaped pupils or rolled back",
|
"upper_body": "supporting body weight on surface, arched back, leaning forward",
|
||||||
"arms": "supporting body weight on surface",
|
"lower_body": "hips raised high, exposed, kneeling, spread wide",
|
||||||
"hands": "gripping sheets or surface tightly",
|
"hands": "gripping sheets or surface tightly",
|
||||||
"torso": "arched back, leaning forward",
|
|
||||||
"pelvis": "hips raised high, exposed",
|
|
||||||
"legs": "kneeling, spread wide",
|
|
||||||
"feet": "toes curled",
|
"feet": "toes curled",
|
||||||
"additional": "sweat, rude, messy hair, partner silhouette implied behind"
|
"additional": "sweat, rude, messy hair, partner silhouette implied behind"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Cuckold NTR-IL_NAI_PY.safetensors",
|
"lora_name": "Illustrious/Poses/Cuckold NTR-IL_NAI_PY.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Cuckold NTR-IL_NAI_PY"
|
"lora_triggers": "Cuckold NTR-IL_NAI_PY",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"ntr",
|
"ntr",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"doggy style",
|
"doggy style",
|
||||||
"looking back"
|
"looking back"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cum_bathillustrious",
|
"action_id": "cum_bathillustrious",
|
||||||
"action_name": "Cum Bathillustrious",
|
"action_name": "Cum Bathillustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "reclining or sitting inside a bathtub filled with viscous white liquid, cum pool, partially submerged",
|
"base": "reclining or sitting inside a bathtub filled with viscous white liquid, cum pool, partially submerged",
|
||||||
"head": "wet hair sticking to face, flushed cheeks, steam rising",
|
"head": "wet hair sticking to face, flushed cheeks, steam rising, half-closed, glossy, looking at viewer",
|
||||||
"eyes": "half-closed, glossy, looking at viewer",
|
"upper_body": "resting on the rim of the bathtub or submerged, naked, wet skin, heavy coverage of white liquid on chest and stomach",
|
||||||
"arms": "resting on the rim of the bathtub or submerged",
|
"lower_body": "submerged in pool of white liquid, knees bent and poking out of the liquid or spread slighty",
|
||||||
"hands": "coated in white fluid, dripping",
|
"hands": "coated in white fluid, dripping",
|
||||||
"torso": "naked, wet skin, heavy coverage of white liquid on chest and stomach",
|
|
||||||
"pelvis": "submerged in pool of white liquid",
|
|
||||||
"legs": "knees bent and poking out of the liquid or spread slighty",
|
|
||||||
"feet": "submerged",
|
"feet": "submerged",
|
||||||
"additional": "tiled bathroom background, steam, excessive cum, sticky texture, overflowing tub"
|
"additional": "tiled bathroom background, steam, excessive cum, sticky texture, overflowing tub"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cum_bathIllustrious.safetensors",
|
"lora_name": "Illustrious/Poses/cum_bathIllustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cum_bathIllustrious"
|
"lora_triggers": "cum_bathIllustrious",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum_bath",
|
"cum_bath",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"bukkake",
|
"bukkake",
|
||||||
"messy"
|
"messy"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cum_in_cleavage_illustrious",
|
"action_id": "cum_in_cleavage_illustrious",
|
||||||
"action_name": "Cum In Cleavage Illustrious",
|
"action_name": "Cum In Cleavage Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "passionate upper body focus, intimacy",
|
"base": "passionate upper body focus, intimacy",
|
||||||
"head": "blush, mouth slightly open, expression of pleasure or service",
|
"head": "blush, mouth slightly open, expression of pleasure or service, looking at viewer, potentially heavy lidded or heart-shaped pupils",
|
||||||
"eyes": "looking at viewer, potentially heavy lidded or heart-shaped pupils",
|
"upper_body": "arms bent, hands bringing breasts together, bare chest, medium to large breasts, pronounced cleavage, cum pooling in cleavage",
|
||||||
"arms": "arms bent, hands bringing breasts together",
|
"lower_body": "not visible or seated, not visible",
|
||||||
"hands": "holding own breasts, squeezing or pressing breasts together",
|
"hands": "holding own breasts, squeezing or pressing breasts together",
|
||||||
"torso": "bare chest, medium to large breasts, pronounced cleavage, cum pooling in cleavage",
|
|
||||||
"pelvis": "not visible or seated",
|
|
||||||
"legs": "not visible",
|
|
||||||
"feet": "not visible",
|
"feet": "not visible",
|
||||||
"additional": "pool of liquid in cleavage, messy, erotic context"
|
"additional": "pool of liquid in cleavage, messy, erotic context"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cum_in_cleavage_illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/cum_in_cleavage_illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cum_in_cleavage, holding own breasts"
|
"lora_triggers": "cum_in_cleavage, holding own breasts",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum_on_breasts",
|
"cum_on_breasts",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"black_hair",
|
"black_hair",
|
||||||
"indoors"
|
"indoors"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cum_inside_slime_v0_2",
|
"action_id": "cum_inside_slime_v0_2",
|
||||||
"action_name": "Cum Inside Slime V0 2",
|
"action_name": "Cum Inside Slime V0 2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "front view, focus on midsection, semi-transparent body structure",
|
"base": "front view, focus on midsection, semi-transparent body structure",
|
||||||
"head": "flustered expression, open mouth, heavy blush, tongue out",
|
"head": "flustered expression, open mouth, heavy blush, tongue out, rolled back, heart-shaped pupils",
|
||||||
"eyes": "rolled back, heart-shaped pupils",
|
"upper_body": "bent at elbows, hands touching abdomen, translucent skin, visible white liquid filling the stomach and womb area, slightly distended belly",
|
||||||
"arms": "bent at elbows, hands touching abdomen",
|
"lower_body": "glowing with internal white fluid, see-through outer layer, thighs touching, slime texture dripping",
|
||||||
"hands": "cupping lower belly, emphasizing fullness",
|
"hands": "cupping lower belly, emphasizing fullness",
|
||||||
"torso": "translucent skin, visible white liquid filling the stomach and womb area, slightly distended belly",
|
|
||||||
"pelvis": "glowing with internal white fluid, see-through outer layer",
|
|
||||||
"legs": "thighs touching, slime texture dripping",
|
|
||||||
"feet": "standing firmly or slightly melting into floor",
|
"feet": "standing firmly or slightly melting into floor",
|
||||||
"additional": "internal cum, x-ray, cross-section, viscous liquid, glowing interior"
|
"additional": "internal cum, x-ray, cross-section, viscous liquid, glowing interior"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Cum_inside_slime_v0.2.safetensors",
|
"lora_name": "Illustrious/Poses/Cum_inside_slime_v0.2.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Cum_inside_slime_v0.2"
|
"lora_triggers": "Cum_inside_slime_v0.2",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"slime girl",
|
"slime girl",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"stomach fill",
|
"stomach fill",
|
||||||
"viscous"
|
"viscous"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cum_shot",
|
"action_id": "cum_shot",
|
||||||
"action_name": "Cum Shot",
|
"action_name": "Cum Shot",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "portrait or upper body focus, capturing the moment of ejaculation or aftermath",
|
"base": "portrait or upper body focus, capturing the moment of ejaculation or aftermath",
|
||||||
"head": "tilted back or facing forward, expression of pleasure or shock",
|
"head": "tilted back or facing forward, expression of pleasure or shock, closed or rolling back, eyelashes detailed",
|
||||||
"eyes": "closed or rolling back, eyelashes detailed",
|
"upper_body": "out of frame or hands touching face, chest visible, potentially with cum_on_body",
|
||||||
"arms": "out of frame or hands touching face",
|
"lower_body": "usually out of frame in this context, out of frame",
|
||||||
"hands": "optional, touching face or wiping",
|
"hands": "optional, touching face or wiping",
|
||||||
"torso": "chest visible, potentially with cum_on_body",
|
|
||||||
"pelvis": "usually out of frame in this context",
|
|
||||||
"legs": "out of frame",
|
|
||||||
"feet": "out of frame",
|
"feet": "out of frame",
|
||||||
"additional": "white fluids, messy, dripping, shiny skin"
|
"additional": "white fluids, messy, dripping, shiny skin"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cum_shot.safetensors",
|
"lora_name": "Illustrious/Poses/cum_shot.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "cum, facial, ejaculation"
|
"lora_triggers": "cum, facial, ejaculation",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum",
|
"cum",
|
||||||
@@ -40,4 +39,4 @@
|
|||||||
"blush",
|
"blush",
|
||||||
"ahegao"
|
"ahegao"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cum_swap",
|
"action_id": "cum_swap",
|
||||||
"action_name": "Cum Swap",
|
"action_name": "Cum Swap",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "two characters in close intimate proximity, upper bodies pressed together",
|
"base": "two characters in close intimate proximity, upper bodies pressed together",
|
||||||
"head": "faces close, mouths open and connected, engaging in a deep kiss",
|
"head": "faces close, mouths open and connected, engaging in a deep kiss, half-closed, heavy lidded, blushing cheeks",
|
||||||
"eyes": "half-closed, heavy lidded, blushing cheeks",
|
"upper_body": "embracing partner, wrapped around neck or waist, chests touching, leaning inward",
|
||||||
"arms": "embracing partner, wrapped around neck or waist",
|
"lower_body": "aligned with torso, standing or sitting positions",
|
||||||
"hands": "cupping partner's face, holding back of head, fingers entagled in hair",
|
"hands": "cupping partner's face, holding back of head, fingers entagled in hair",
|
||||||
"torso": "chests touching, leaning inward",
|
|
||||||
"pelvis": "aligned with torso",
|
|
||||||
"legs": "standing or sitting positions",
|
|
||||||
"feet": "grounded or out of frame",
|
"feet": "grounded or out of frame",
|
||||||
"additional": "visible liquid bridge between mouths, thick white fluid transfer, saliva trail, messy chin"
|
"additional": "visible liquid bridge between mouths, thick white fluid transfer, saliva trail, messy chin"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Cum_Swap.safetensors",
|
"lora_name": "Illustrious/Poses/Cum_Swap.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Cum_Swap"
|
"lora_triggers": "Cum_Swap",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum swap",
|
"cum swap",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"sharing fluids",
|
"sharing fluids",
|
||||||
"intimacy"
|
"intimacy"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cumblastfacial",
|
"action_id": "cumblastfacial",
|
||||||
"action_name": "Cumblastfacial",
|
"action_name": "Cumblastfacial",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "solo, bukkake",
|
"base": "solo, bukkake",
|
||||||
"head": "facial, head_tilt, looking_up",
|
"head": "facial, head_tilt, looking_up, cum_in_eye",
|
||||||
"eyes": "cum_in_eye",
|
"upper_body": "arms_down, cum_on_upper_body",
|
||||||
"arms": "arms_down",
|
"lower_body": "standing, standing",
|
||||||
"hands": "hands_down",
|
"hands": "hands_down",
|
||||||
"torso": "cum_on_upper_body",
|
|
||||||
"pelvis": "standing",
|
|
||||||
"legs": "standing",
|
|
||||||
"feet": "standing",
|
"feet": "standing",
|
||||||
"additional": "projectile_cum, excessive_cum, ejaculation"
|
"additional": "projectile_cum, excessive_cum, ejaculation"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cumblastfacial.safetensors",
|
"lora_name": "Illustrious/Poses/cumblastfacial.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "xcbfacialx"
|
"lora_triggers": "xcbfacialx",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"facial",
|
"facial",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"cum_in_eye",
|
"cum_in_eye",
|
||||||
"cum_on_hair"
|
"cum_on_hair"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cuminhands",
|
"action_id": "cuminhands",
|
||||||
"action_name": "Cuminhands",
|
"action_name": "Cuminhands",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "after_fellatio",
|
"base": "after_fellatio",
|
||||||
"head": "facial, cum_string, cum_in_mouth",
|
"head": "facial, cum_string, cum_in_mouth, looking_at_hands",
|
||||||
"eyes": "looking_at_hands",
|
"upper_body": "arms_bent, upper_body",
|
||||||
"arms": "arms_bent",
|
"lower_body": "n/a, n/a",
|
||||||
"hands": "cupping_hands, cum_on_hands",
|
"hands": "cupping_hands, cum_on_hands",
|
||||||
"torso": "upper_body",
|
|
||||||
"pelvis": "n/a",
|
|
||||||
"legs": "n/a",
|
|
||||||
"feet": "n/a",
|
"feet": "n/a",
|
||||||
"additional": "excessive_cum"
|
"additional": "excessive_cum"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cuminhands.safetensors",
|
"lora_name": "Illustrious/Poses/cuminhands.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cum on hands, cupping hands, excessive cum, cum on face, cum in mouth, cum string"
|
"lora_triggers": "cum on hands, cupping hands, excessive cum, cum on face, cum in mouth, cum string",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum_on_hands",
|
"cum_on_hands",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"after_fellatio",
|
"after_fellatio",
|
||||||
"looking_at_hands"
|
"looking_at_hands"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cumshot",
|
"action_id": "cumshot",
|
||||||
"action_name": "Cumshot",
|
"action_name": "Cumshot",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "close-up portrait shot, high angle view",
|
"base": "close-up portrait shot, high angle view",
|
||||||
"head": "head tilted back, mouth slightly open, tongue out, face covered in white fluid",
|
"head": "head tilted back, mouth slightly open, tongue out, face covered in white fluid, eyes closed or rolling back, expression of pleasure, wet eyelashes",
|
||||||
"eyes": "eyes closed or rolling back, expression of pleasure, wet eyelashes",
|
"upper_body": "out of frame, upper chest and collarbone visible",
|
||||||
"arms": "out of frame",
|
"lower_body": "kout of frame, out of frame",
|
||||||
"hands": "out of frame",
|
"hands": "out of frame",
|
||||||
"torso": "upper chest and collarbone visible",
|
|
||||||
"pelvis": "kout of frame",
|
|
||||||
"legs": "out of frame",
|
|
||||||
"feet": "out of frame",
|
"feet": "out of frame",
|
||||||
"additional": "seminal fluid dripping from face, splashing liquid, thick texture, messy"
|
"additional": "seminal fluid dripping from face, splashing liquid, thick texture, messy"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cumshot.safetensors",
|
"lora_name": "Illustrious/Poses/cumshot.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cumshot"
|
"lora_triggers": "cumshot",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cum",
|
"cum",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"seminal fluid",
|
"seminal fluid",
|
||||||
"detailed liquid"
|
"detailed liquid"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "cumtube_000035",
|
"action_id": "cumtube_000035",
|
||||||
"action_name": "Cumtube 000035",
|
"action_name": "Cumtube 000035",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling or sitting, leaning back slightly to receive contents of tube",
|
"base": "kneeling or sitting, leaning back slightly to receive contents of tube",
|
||||||
"head": "force feeeding, feeding tube,tilted back, face directed upwards, mouth wide open, tongue extended, chaotic facial mess",
|
"head": "force feeeding, feeding tube,tilted back, face directed upwards, mouth wide open, tongue extended, chaotic facial mess, looking up, anticipating expression, half-closed or rolled back",
|
||||||
"eyes": "looking up, anticipating expression, half-closed or rolled back",
|
"upper_body": "raised, holding a large clear cylinder, chest pushed forward, liquid dripping down neck and chest",
|
||||||
"arms": "raised, holding a large clear cylinder",
|
"lower_body": "kneeling, hips resting on heels, legs folded underneath, knees apart",
|
||||||
"hands": "firmly grasping the sides of the tube",
|
"hands": "firmly grasping the sides of the tube",
|
||||||
"torso": "chest pushed forward, liquid dripping down neck and chest",
|
|
||||||
"pelvis": "kneeling, hips resting on heels",
|
|
||||||
"legs": "legs folded underneath, knees apart",
|
|
||||||
"feet": "toes pointed backward",
|
"feet": "toes pointed backward",
|
||||||
"additional": "clear tube filled with white viscous liquid, heavy splatter, overflowing liquid, messy environment, bubbles inside tube"
|
"additional": "clear tube filled with white viscous liquid, heavy splatter, overflowing liquid, messy environment, bubbles inside tube"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cumtube-000035.safetensors",
|
"lora_name": "Illustrious/Poses/cumtube-000035.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cumtube-000035"
|
"lora_triggers": "cumtube-000035",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cumtube",
|
"cumtube",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"open mouth",
|
"open mouth",
|
||||||
"wet skin"
|
"wet skin"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "cunnilingus_on_back_illustriousxl_lora_nochekaiser",
|
"action_id": "cunnilingus_on_back_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Cunnilingus On Back Illustriousxl Lora Nochekaiser",
|
"action_name": "Cunnilingus On Back Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "lying, on_back, spread_legs, nude",
|
"base": "lying, on_back, spread_legs, nude",
|
||||||
"head": "torogao, blush, sweat",
|
"head": "torogao, blush, sweat, half-closed_eyes",
|
||||||
"eyes": "half-closed_eyes",
|
"upper_body": "bent_arms, navel, nipples, sweat",
|
||||||
"arms": "bent_arms",
|
"lower_body": "cunnilingus, pussy, spread_legs, thighs",
|
||||||
"hands": "hands_on_own_chest",
|
"hands": "hands_on_own_chest",
|
||||||
"torso": "navel, nipples, sweat",
|
|
||||||
"pelvis": "cunnilingus, pussy",
|
|
||||||
"legs": "spread_legs, thighs",
|
|
||||||
"feet": "",
|
"feet": "",
|
||||||
"additional": "on_bed, pillow, from_side"
|
"additional": "on_bed, pillow, from_side"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/cunnilingus-on-back-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/cunnilingus-on-back-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "cunnilingus on back"
|
"lora_triggers": "cunnilingus on back",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cunnilingus",
|
"cunnilingus",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"on_bed",
|
"on_bed",
|
||||||
"from_side"
|
"from_side"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "danglinglegs",
|
"action_id": "danglinglegs",
|
||||||
"action_name": "Danglinglegs",
|
"action_name": "Danglinglegs",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "suspended_congress, lifting_person, standing_sex",
|
"base": "suspended_congress, lifting_person, standing_sex",
|
||||||
"head": "clenched_teeth, head_back",
|
"head": "clenched_teeth, head_back, eyes_closed",
|
||||||
"eyes": "eyes_closed",
|
"upper_body": "arms_around_neck, body_lifted",
|
||||||
"arms": "arms_around_neck",
|
"lower_body": "hips_held, legs_apart, feet_off_ground",
|
||||||
"hands": "hands_on_shoulders",
|
"hands": "hands_on_shoulders",
|
||||||
"torso": "body_lifted",
|
|
||||||
"pelvis": "hips_held",
|
|
||||||
"legs": "legs_apart, feet_off_ground",
|
|
||||||
"feet": "toes_up, barefoot",
|
"feet": "toes_up, barefoot",
|
||||||
"additional": "size_difference, larger_male, sex_from_behind"
|
"additional": "size_difference, larger_male, sex_from_behind"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/danglinglegs.safetensors",
|
"lora_name": "Illustrious/Poses/danglinglegs.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "dangling legs, lifted by penis, suspended on penis"
|
"lora_triggers": "dangling legs, lifted by penis, suspended on penis",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"suspended_congress",
|
"suspended_congress",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"barefoot",
|
"barefoot",
|
||||||
"clenched_teeth"
|
"clenched_teeth"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "deep_kiss_000007",
|
"action_id": "deep_kiss_000007",
|
||||||
"action_name": "Deep Kiss 000007",
|
"action_name": "Deep Kiss 000007",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "intimate couple pose, two characters kissing passionately, bodies pressed tightly together in an embrace",
|
"base": "intimate couple pose, two characters kissing passionately, bodies pressed tightly together in an embrace",
|
||||||
"head": "heads tilted, lips locked, mouths open, french kiss, tongue touching, cheeks flushed",
|
"head": "heads tilted, lips locked, mouths open, french kiss, tongue touching, cheeks flushed, eyes tightly closed, passionate expression",
|
||||||
"eyes": "eyes tightly closed, passionate expression",
|
"upper_body": "arms wrapped around neck, arms holding waist, engulfing embrace, chest to chest contact, breasts pressed against chest",
|
||||||
"arms": "arms wrapped around neck, arms holding waist, engulfing embrace",
|
"lower_body": "hips pressed together, zero distance, standing close, interlocked or one leg lifted behind",
|
||||||
"hands": "cupping face, fingers running through hair, gripping shoulders or back",
|
"hands": "cupping face, fingers running through hair, gripping shoulders or back",
|
||||||
"torso": "chest to chest contact, breasts pressed against chest",
|
|
||||||
"pelvis": "hips pressed together, zero distance",
|
|
||||||
"legs": "standing close, interlocked or one leg lifted behind",
|
|
||||||
"feet": "standing, on tiptoes",
|
"feet": "standing, on tiptoes",
|
||||||
"additional": "saliva trail, saliva string, connecting tongue, romantic atmosphere"
|
"additional": "saliva trail, saliva string, connecting tongue, romantic atmosphere"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Deep_Kiss-000007.safetensors",
|
"lora_name": "Illustrious/Poses/Deep_Kiss-000007.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Deep_Kiss-000007"
|
"lora_triggers": "Deep_Kiss-000007",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"deep kiss",
|
"deep kiss",
|
||||||
@@ -38,4 +37,4 @@
|
|||||||
"eyes closed",
|
"eyes closed",
|
||||||
"duo"
|
"duo"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "deepthroat_ponytailhandle_anime_il_v1",
|
"action_id": "deepthroat_ponytailhandle_anime_il_v1",
|
||||||
"action_name": "Deepthroat Ponytailhandle Anime Il V1",
|
"action_name": "Deepthroat Ponytailhandle Anime Il V1",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "irrumatio, fellatio, 1boy, 1girl, duo",
|
"base": "irrumatio, fellatio, 1boy, 1girl, duo",
|
||||||
"head": "forced_oral, head_back, mouth_open, saliva, drooling",
|
"head": "forced_oral, head_back, mouth_open, saliva, drooling, crying, tears, glare, wide_eyes",
|
||||||
"eyes": "crying, tears, glare, wide_eyes",
|
"upper_body": "arms_at_sides, upper_body",
|
||||||
"arms": "arms_at_sides",
|
"lower_body": "n/a, n/a",
|
||||||
"hands": "hands_down",
|
"hands": "hands_down",
|
||||||
"torso": "upper_body",
|
|
||||||
"pelvis": "n/a",
|
|
||||||
"legs": "n/a",
|
|
||||||
"feet": "n/a",
|
"feet": "n/a",
|
||||||
"additional": "grabbing_another's_hair, penis, deepthroat, ponytail"
|
"additional": "grabbing_another's_hair, penis, deepthroat, ponytail"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Deepthroat_PonytailHandle_Anime_IL_V1.safetensors",
|
"lora_name": "Illustrious/Poses/Deepthroat_PonytailHandle_Anime_IL_V1.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "deepthroat_ponytailhandle, grabbing another's hair, ponytail"
|
"lora_triggers": "deepthroat_ponytailhandle, grabbing another's hair, ponytail",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"irrumatio",
|
"irrumatio",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"penis",
|
"penis",
|
||||||
"forced"
|
"forced"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "defeat_ntr_il_nai_py",
|
"action_id": "defeat_ntr_il_nai_py",
|
||||||
"action_name": "Defeat Ntr Il Nai Py",
|
"action_name": "Defeat Ntr Il Nai Py",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling on the ground, slumped forward in defeat, on hands and knees, orz pose, sex from behind",
|
"base": "kneeling on the ground, slumped forward in defeat, on hands and knees, orz pose, sex from behind",
|
||||||
"head": "bowed head, looking down, face shadowed or hiding face",
|
"head": "bowed head, looking down, face shadowed or hiding face, crying, tears, empty eyes, or eyes squeezed shut in anguish",
|
||||||
"eyes": "crying, tears, empty eyes, or eyes squeezed shut in anguish",
|
"upper_body": "arms straight down supporting weight against the floor, hunched back, crushed posture, leaning forward",
|
||||||
"arms": "arms straight down supporting weight against the floor",
|
"lower_body": "hips raised slightly or sitting back on heels in submission, knees on ground, kneeling",
|
||||||
"hands": "hands flat on the ground, palms down, or clenched fists on ground",
|
"hands": "hands flat on the ground, palms down, or clenched fists on ground",
|
||||||
"torso": "hunched back, crushed posture, leaning forward",
|
|
||||||
"pelvis": "hips raised slightly or sitting back on heels in submission",
|
|
||||||
"legs": "knees on ground, kneeling",
|
|
||||||
"feet": "tops of feet flat on floor",
|
"feet": "tops of feet flat on floor",
|
||||||
"additional": "gloom, depression, dramatic shadows, humiliation, emotional devastation"
|
"additional": "gloom, depression, dramatic shadows, humiliation, emotional devastation"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Defeat NTR-IL_NAI_PY.safetensors",
|
"lora_name": "Illustrious/Poses/Defeat NTR-IL_NAI_PY.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Defeat NTR-IL_NAI_PY"
|
"lora_triggers": "Defeat NTR-IL_NAI_PY",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"defeat",
|
"defeat",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"looking down",
|
"looking down",
|
||||||
"tears"
|
"tears"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "defeat_suspension_il_nai_py",
|
"action_id": "defeat_suspension_il_nai_py",
|
||||||
"action_name": "Defeat Suspension Il Nai Py",
|
"action_name": "Defeat Suspension Il Nai Py",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "suspended sex, holding waist, dangling legs, full body suspended in air, hanging limp, defeated posture, complete lack of resistance",
|
"base": "suspended sex, holding waist, dangling legs, full body suspended in air, hanging limp, defeated posture, complete lack of resistance",
|
||||||
"head": "head hanging low, chin resting on chest, looking down, neck relaxed",
|
"head": "head hanging low, chin resting on chest, looking down, neck relaxed, eyes closed, unconscious, pained expression, or empty gaze",
|
||||||
"eyes": "eyes closed, unconscious, pained expression, or empty gaze",
|
"upper_body": "arms stretched vertically upwards, arms above head, shoulders pulled up by weight, torso elongated by gravity, ribcage visible, stomach stretched",
|
||||||
"arms": "arms stretched vertically upwards, arms above head, shoulders pulled up by weight",
|
"lower_body": "hips sagging downwards, dead weight, legs dangling freely, limp legs, knees slightly bent or hanging straight",
|
||||||
"hands": "wrists bound together, hands tied overhead, handcuffs, shackles",
|
"hands": "wrists bound together, hands tied overhead, handcuffs, shackles",
|
||||||
"torso": "torso elongated by gravity, ribcage visible, stomach stretched",
|
|
||||||
"pelvis": "hips sagging downwards, dead weight",
|
|
||||||
"legs": "legs dangling freely, limp legs, knees slightly bent or hanging straight",
|
|
||||||
"feet": "feet pointing downwards, hovering off the ground, toes dragging",
|
"feet": "feet pointing downwards, hovering off the ground, toes dragging",
|
||||||
"additional": "ropes, chains, metal hooks, dungeon background, exhaustion"
|
"additional": "ropes, chains, metal hooks, dungeon background, exhaustion"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Defeat suspension-IL_NAI_PY.safetensors",
|
"lora_name": "Illustrious/Poses/Defeat suspension-IL_NAI_PY.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Defeat suspension-IL_NAI_PY"
|
"lora_triggers": "Defeat suspension-IL_NAI_PY",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"suspension",
|
"suspension",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"bdsm",
|
"bdsm",
|
||||||
"bondage"
|
"bondage"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "defeatspitroast_illustrious",
|
"action_id": "defeatspitroast_illustrious",
|
||||||
"action_name": "Defeatspitroast Illustrious",
|
"action_name": "Defeatspitroast Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "oral sex, vaginal, threesome, double penetration, suspended sex, dangling legs",
|
"base": "oral sex, vaginal, threesome, double penetration, suspended sex, dangling legs",
|
||||||
"head": "tilted back or looking aside, mouth wide open, tongue sticking out, exhausted expression",
|
"head": "tilted back or looking aside, mouth wide open, tongue sticking out, exhausted expression, rolled back, half-closed, ahegao",
|
||||||
"eyes": "rolled back, half-closed, ahegao",
|
"upper_body": "bent at elbows, supporting upper body weight, sweaty, deeply arched spine",
|
||||||
"arms": "bent at elbows, supporting upper body weight",
|
"lower_body": "ass up, presenting rear, kneeling, thighs spread wide",
|
||||||
"hands": "gripping the ground or sheets, clenching",
|
"hands": "gripping the ground or sheets, clenching",
|
||||||
"torso": "sweaty, deeply arched spine",
|
|
||||||
"pelvis": "ass up, presenting rear",
|
|
||||||
"legs": "kneeling, thighs spread wide",
|
|
||||||
"feet": "toes curled",
|
"feet": "toes curled",
|
||||||
"additional": "messy hair, trembling, heavy breathing, defeated posture"
|
"additional": "messy hair, trembling, heavy breathing, defeated posture"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Defeatspitroast_Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/Defeatspitroast_Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Defeatspitroast_Illustrious"
|
"lora_triggers": "Defeatspitroast_Illustrious",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"doggystyle",
|
"doggystyle",
|
||||||
@@ -36,4 +35,4 @@
|
|||||||
"",
|
"",
|
||||||
"1girl"
|
"1girl"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,13 @@
|
|||||||
"action_id": "disinterested_sex___bored_female",
|
"action_id": "disinterested_sex___bored_female",
|
||||||
"action_name": "Disinterested Sex Bored Female",
|
"action_name": "Disinterested Sex Bored Female",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "female lying on back, legs spread, passive body language, completely disengaged from implicit activity",
|
"base": "1girl,hetero,doggystyle,faceless male, (solo focus:1.2)",
|
||||||
"head": "turned slightly or facing forward but focused on phone, resting on pillow",
|
"head": "on stomach, resting on pillow, looking at smartphone, bored",
|
||||||
"eyes": "looking at smartphone, dull gaze, half-closed, unenthusiastic",
|
"upper_body": "",
|
||||||
"arms": "holding smartphone above face with one or both hands, elbows resting on surface",
|
"lower_body": "",
|
||||||
"hands": "holding phone, scrolling on screen",
|
"hands": "holding phone",
|
||||||
"torso": "lying flat, relaxed, exposed",
|
"feet": "",
|
||||||
"pelvis": "hips passive, legs open",
|
"additional": ""
|
||||||
"legs": "spread wide, knees bent, relaxed",
|
|
||||||
"feet": "loose, resting on bed",
|
|
||||||
"additional": "holding smartphone, checking phone, indifference, ignoring, nonchalant attitude"
|
|
||||||
},
|
},
|
||||||
"participants": {
|
"participants": {
|
||||||
"solo_focus": "true",
|
"solo_focus": "true",
|
||||||
@@ -20,17 +17,11 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Disinterested_Sex___Bored_Female.safetensors",
|
"lora_name": "Illustrious/Poses/Disinterested_Sex___Bored_Female.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Disinterested_Sex___Bored_Female"
|
"lora_triggers": "Disinterested_Sex___Bored_Female",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"bored",
|
"bored"
|
||||||
"disinterested",
|
|
||||||
"looking at phone",
|
|
||||||
"smartphone",
|
|
||||||
"lying",
|
|
||||||
"spread legs",
|
|
||||||
"passive",
|
|
||||||
"indifferent",
|
|
||||||
"expressionless"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "display_case_bdsm_illus",
|
"action_id": "display_case_bdsm_illus",
|
||||||
"action_name": "Display Case Bdsm Illus",
|
"action_name": "Display Case Bdsm Illus",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "trapped inside a rectangular glass display case, standing or kneeling limitation, whole body confined",
|
"base": "trapped inside a rectangular glass display case, standing or kneeling limitation, whole body confined",
|
||||||
"head": "looking out through the glass, potentially gagged or expressionless",
|
"head": "looking out through the glass, potentially gagged or expressionless, open, staring at the viewer through reflections",
|
||||||
"eyes": "open, staring at the viewer through reflections",
|
"upper_body": "restricted movement, potentially bound behind back or pressed against glass, upright relative to the container, visible behind glass",
|
||||||
"arms": "restricted movement, potentially bound behind back or pressed against glass",
|
"lower_body": "hips aligned with the standing or kneeling posture, straight or folded to fit inside the box",
|
||||||
"hands": "palms pressed against the transparent wall or tied",
|
"hands": "palms pressed against the transparent wall or tied",
|
||||||
"torso": "upright relative to the container, visible behind glass",
|
|
||||||
"pelvis": "hips aligned with the standing or kneeling posture",
|
|
||||||
"legs": "straight or folded to fit inside the box",
|
|
||||||
"feet": "resting on the bottom platform of the case",
|
"feet": "resting on the bottom platform of the case",
|
||||||
"additional": "glass reflections, airtight container aesthetic, museum or auction setting, objectification"
|
"additional": "glass reflections, airtight container aesthetic, museum or auction setting, objectification"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/display_case_bdsm_illus.safetensors",
|
"lora_name": "Illustrious/Poses/display_case_bdsm_illus.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "display_case_bdsm_illus"
|
"lora_triggers": "display_case_bdsm_illus",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"glass box",
|
"glass box",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"through glass",
|
"through glass",
|
||||||
"human exhibit"
|
"human exhibit"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "display_case_illustr",
|
"action_id": "display_case_illustr",
|
||||||
"action_name": "Display Case Illustr",
|
"action_name": "Display Case Illustr",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "standing stiffly like an action figure, encased inside a rectangular transparent box",
|
"base": "standing stiffly like an action figure, encased inside a rectangular transparent box",
|
||||||
"head": "neutral expression, facing forward, slightly doll-like",
|
"head": "neutral expression, facing forward, slightly doll-like, fixed gaze, looking at viewer",
|
||||||
"eyes": "fixed gaze, looking at viewer",
|
"upper_body": "resting at sides or slightly bent in a static pose, facing front, rigid posture",
|
||||||
"arms": "resting at sides or slightly bent in a static pose",
|
"lower_body": "aligned with torso, standing straight, feet positioned securely on the box base",
|
||||||
"hands": "open palms or loosely curled, possibly pressing against the front glass",
|
"hands": "open palms or loosely curled, possibly pressing against the front glass",
|
||||||
"torso": "facing front, rigid posture",
|
|
||||||
"pelvis": "aligned with torso",
|
|
||||||
"legs": "standing straight, feet positioned securely on the box base",
|
|
||||||
"feet": "flat on the floor of the case",
|
"feet": "flat on the floor of the case",
|
||||||
"additional": "transparent plastic packaging, cardboard backing with product design, barcode, reflections on glass, sealed box"
|
"additional": "transparent plastic packaging, cardboard backing with product design, barcode, reflections on glass, sealed box"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/display_case_illustr.safetensors",
|
"lora_name": "Illustrious/Poses/display_case_illustr.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "display_case_illustr"
|
"lora_triggers": "display_case_illustr",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"display case",
|
"display case",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"toy",
|
"toy",
|
||||||
"transparent"
|
"transparent"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "doggydoublefingering",
|
"action_id": "doggydoublefingering",
|
||||||
"action_name": "Doggydoublefingering",
|
"action_name": "Doggydoublefingering",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Three females arranged side-by-side in a row, all facing away from viewer or towards viewer depending on angle, engaged in group sexual activity",
|
"base": "Three females arranged side-by-side in a row, all facing away from viewer or towards viewer depending on angle, engaged in group sexual activity",
|
||||||
"head": "various expressions, blushing, sweating, looking back or down",
|
"head": "various expressions, blushing, sweating, looking back or down, open or closed in pleasure",
|
||||||
"eyes": "open or closed in pleasure",
|
"upper_body": "varied, gripping sheets or supporting body, leaning forward, breasts visible if from front",
|
||||||
"arms": "varied, gripping sheets or supporting body",
|
"lower_body": "hips raised, bent over, kneeling on all fours",
|
||||||
"hands": "resting on surface or gripping",
|
"hands": "resting on surface or gripping",
|
||||||
"torso": "leaning forward, breasts visible if from front",
|
|
||||||
"pelvis": "hips raised, bent over",
|
|
||||||
"legs": "kneeling on all fours",
|
|
||||||
"feet": "resting on bed or ground",
|
"feet": "resting on bed or ground",
|
||||||
"additional": "center female receiving vaginal penetration from behind (doggystyle), two distinct side females being fingered simultaneously, male figure or disembodied hands performing the fingering"
|
"additional": "center female receiving vaginal penetration from behind (doggystyle), two distinct side females being fingered simultaneously, male figure or disembodied hands performing the fingering"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/DoggyDoubleFingering.safetensors",
|
"lora_name": "Illustrious/Poses/DoggyDoubleFingering.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "doggydoublefingerfront, from front, 3girls, multiple girls, fingering, sex from behind, doggystyle"
|
"lora_triggers": "doggydoublefingerfront, from front, 3girls, multiple girls, fingering, sex from behind, doggystyle",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"3girls",
|
"3girls",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"harem",
|
"harem",
|
||||||
"male_fingering"
|
"male_fingering"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "dunking_face_in_a_bowl_of_cum_r1",
|
"action_id": "dunking_face_in_a_bowl_of_cum_r1",
|
||||||
"action_name": "Dunking Face In A Bowl Of Cum R1",
|
"action_name": "Dunking Face In A Bowl Of Cum R1",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "leaning_forward, head_down, drowning",
|
"base": "kneeling, all fours, head_down, held down, close-up, from below, humiliation, (solo focus:1.2)",
|
||||||
"head": "face_down, air_bubble, crying, tears, embarrassed, disgust",
|
"head": "face_down, cum in mouth, cum bubble, hand on anothers head, crying, closed_eyes",
|
||||||
"eyes": "closed_eyes, tears",
|
"upper_body": "",
|
||||||
"arms": "clutching_head, arms_up",
|
"lower_body": "",
|
||||||
"hands": "clutching_head",
|
"hands": "",
|
||||||
"torso": "leaning_forward",
|
"feet": "",
|
||||||
"pelvis": "leaning_forward",
|
"additional": "cum bowl"
|
||||||
"legs": "standing",
|
|
||||||
"feet": "standing",
|
|
||||||
"additional": "bowl, cum"
|
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Dunking_face_in_a_bowl_of_cum_r1.safetensors",
|
"lora_name": "Illustrious/Poses/Dunking_face_in_a_bowl_of_cum_r1.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "face in cum bowl, cum in bowl, cum bubble, excessive cum"
|
"lora_triggers": "gokkun, cum bowl",
|
||||||
|
"lora_weight_min": 0.4,
|
||||||
|
"lora_weight_max": 0.6
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"1girl",
|
"1girl",
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
"bowl",
|
"bowl",
|
||||||
"cum"
|
"cum"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "ekiben_ill_10",
|
"action_id": "ekiben_ill_10",
|
||||||
"action_name": "Ekiben Ill 10",
|
"action_name": "Ekiben Ill 10",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "duo, 1boy, 1girl, standing, male lifting female, carrying, sexual position",
|
"base": "duo, 1boy, 1girl, standing, male lifting female, carrying, sexual position",
|
||||||
"head": "looking at another, head back or looking down",
|
"head": "looking at another, head back or looking down, eye contact or eyes closed",
|
||||||
"eyes": "eye contact or eyes closed",
|
"upper_body": "arms supporting legs, arms around neck, chest to chest, upright",
|
||||||
"arms": "arms supporting legs, arms around neck",
|
"lower_body": "connected, groins touching, spread legs, legs up, legs around waist, m-legs, bent knees",
|
||||||
"hands": "holding legs, grabbing thighs, gripping",
|
"hands": "holding legs, grabbing thighs, gripping",
|
||||||
"torso": "chest to chest, upright",
|
|
||||||
"pelvis": "connected, groins touching",
|
|
||||||
"legs": "spread legs, legs up, legs around waist, m-legs, bent knees",
|
|
||||||
"feet": "dangling feet, plantar flexion",
|
"feet": "dangling feet, plantar flexion",
|
||||||
"additional": "strength, suspension, height difference"
|
"additional": "strength, suspension, height difference"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/ekiben_ill-10.safetensors",
|
"lora_name": "Illustrious/Poses/ekiben_ill-10.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "ekiben_ill-10"
|
"lora_triggers": "ekiben_ill-10",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"ekiben",
|
"ekiben",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"duo",
|
"duo",
|
||||||
"sex"
|
"sex"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "elbow_squeeze__concept_lora_000008",
|
"action_id": "elbow_squeeze__concept_lora_000008",
|
||||||
"action_name": "Elbow Squeeze Concept Lora 000008",
|
"action_name": "Elbow Squeeze Concept Lora 000008",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Character standing with upper arms pressed tightly against the torso, emphasizing the chest area through the pressure of the elbows.",
|
"base": "Character standing with upper arms pressed tightly against the torso, emphasizing the chest area through the pressure of the elbows.",
|
||||||
"head": "Facing forward, slightly tucked chin or tilted, expression often shy or teasing.",
|
"head": "Facing forward, slightly tucked chin or tilted, expression often shy or teasing., Looking directly at viewer.",
|
||||||
"eyes": "Looking directly at viewer.",
|
"upper_body": "Upper arms squeezing inward against the sides of the ribs/chest, elbows tucked tight to the body., Chest pushed upward or compressed slightly by the lateral pressure of the arms.",
|
||||||
"arms": "Upper arms squeezing inward against the sides of the ribs/chest, elbows tucked tight to the body.",
|
"lower_body": "Neutral stance., Standing straight or slightly knock-kneed for a shy effect.",
|
||||||
"hands": "Forearms angled out or hands clasped near the navel/chest area.",
|
"hands": "Forearms angled out or hands clasped near the navel/chest area.",
|
||||||
"torso": "Chest pushed upward or compressed slightly by the lateral pressure of the arms.",
|
|
||||||
"pelvis": "Neutral stance.",
|
|
||||||
"legs": "Standing straight or slightly knock-kneed for a shy effect.",
|
|
||||||
"feet": "Planted firmly.",
|
"feet": "Planted firmly.",
|
||||||
"additional": "Clothing often pulled tight across the chest due to the arm position."
|
"additional": "Clothing often pulled tight across the chest due to the arm position."
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Elbow_Squeeze__Concept_Lora-000008.safetensors",
|
"lora_name": "Illustrious/Poses/Elbow_Squeeze__Concept_Lora-000008.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Elbow_Squeeze__Concept_Lora-000008"
|
"lora_triggers": "Elbow_Squeeze__Concept_Lora-000008",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"elbow squeeze",
|
"elbow squeeze",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"squeezing",
|
"squeezing",
|
||||||
"tight clothes"
|
"tight clothes"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "extreme_sex_v1_0_illustriousxl",
|
"action_id": "extreme_sex_v1_0_illustriousxl",
|
||||||
"action_name": "Extreme Sex V1 0 Illustriousxl",
|
"action_name": "Extreme Sex V1 0 Illustriousxl",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "sitting, engaging in sexual activity, intense body language",
|
"base": "sitting, engaging in sexual activity, intense body language",
|
||||||
"head": "tilted back, expression of ecstasy",
|
"head": "tilted back, expression of ecstasy, rolling_eyes, loss of focus, cross-eyed (ahegao)",
|
||||||
"eyes": "rolling_eyes, loss of focus, cross-eyed (ahegao)",
|
"upper_body": "clinging or holding partner, heaving, covered in sweat",
|
||||||
"arms": "clinging or holding partner",
|
"lower_body": "engaged in action, wrapped around or spread",
|
||||||
"hands": "grasping details",
|
"hands": "grasping details",
|
||||||
"torso": "heaving, covered in sweat",
|
|
||||||
"pelvis": "engaged in action",
|
|
||||||
"legs": "wrapped around or spread",
|
|
||||||
"feet": "toes curled",
|
"feet": "toes curled",
|
||||||
"additional": "drooling, saliva_trail, flushing, messy_hair"
|
"additional": "drooling, saliva_trail, flushing, messy_hair"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/extreme-sex-v1.0-illustriousxl.safetensors",
|
"lora_name": "Illustrious/Poses/extreme-sex-v1.0-illustriousxl.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "extreme sex"
|
"lora_triggers": "extreme sex",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"rolling_eyes",
|
"rolling_eyes",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"mind_break",
|
"mind_break",
|
||||||
"sex"
|
"sex"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "face_grab_illustrious",
|
"action_id": "face_grab_illustrious",
|
||||||
"action_name": "Face Grab Illustrious",
|
"action_name": "Face Grab Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "POV close-up of a character having their face grabbed by the viewer",
|
"base": "POV close-up of a character having their face grabbed by the viewer",
|
||||||
"head": "forced expression, open mouth, tongue out, pout, grabbing cheeks or chin",
|
"head": "forced expression, open mouth, tongue out, pout, grabbing cheeks or chin, looking at viewer, crying, streaming tears",
|
||||||
"eyes": "looking at viewer, crying, streaming tears",
|
"upper_body": "often not visible or passive, upper body, often nude or partially visible",
|
||||||
"arms": "often not visible or passive",
|
"lower_body": "usually out of frame, out of frame",
|
||||||
"hands": "pov hands, hand grabbing face",
|
"hands": "pov hands, hand grabbing face",
|
||||||
"torso": "upper body, often nude or partially visible",
|
|
||||||
"pelvis": "usually out of frame",
|
|
||||||
"legs": "out of frame",
|
|
||||||
"feet": "out of frame",
|
"feet": "out of frame",
|
||||||
"additional": "context often after fellatio with fluids on face or tongue"
|
"additional": "context often after fellatio with fluids on face or tongue"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/face_grab_illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/face_grab_illustrious.safetensors",
|
||||||
"lora_weight": 0.5,
|
"lora_weight": 0.5,
|
||||||
"lora_triggers": "fcgrb, face grab, grabbing another's face, pov, pov hand, open mouth, tongue out"
|
"lora_triggers": "fcgrb, face grab, grabbing another's face, pov, pov hand, open mouth, tongue out",
|
||||||
|
"lora_weight_min": 0.5,
|
||||||
|
"lora_weight_max": 0.5
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"grabbing_another's_face",
|
"grabbing_another's_face",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"streaming_tears",
|
"streaming_tears",
|
||||||
"cheek_pinching"
|
"cheek_pinching"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "facesit_08",
|
"action_id": "facesit_08",
|
||||||
"action_name": "Facesit 08",
|
"action_name": "Facesit 08",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "sitting_on_face, cunnilingus, oral",
|
"base": "sitting_on_face, cunnilingus, oral",
|
||||||
"head": "looking_at_viewer, looking_down",
|
"head": "looking_at_viewer, looking_down, looking_at_viewer",
|
||||||
"eyes": "looking_at_viewer",
|
"upper_body": "head_grab, nude, close-up",
|
||||||
"arms": "head_grab",
|
"lower_body": "panties_aside, clitoris, pussy_juice, spread_legs",
|
||||||
"hands": "on_head",
|
"hands": "on_head",
|
||||||
"torso": "nude, close-up",
|
|
||||||
"pelvis": "panties_aside, clitoris, pussy_juice",
|
|
||||||
"legs": "spread_legs",
|
|
||||||
"feet": "out_of_frame",
|
"feet": "out_of_frame",
|
||||||
"additional": "yuri, female_pov, 2girls"
|
"additional": "yuri, female_pov, 2girls"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/facesit-08.safetensors",
|
"lora_name": "Illustrious/Poses/facesit-08.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "2girls, female pov, close-up, looking at viewer, sitting on face, oral, cunnilingus, spread legs, pussy juice, clitoris"
|
"lora_triggers": "2girls, female pov, close-up, looking at viewer, sitting on face, oral, cunnilingus, spread legs, pussy juice, clitoris",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"2girls",
|
"2girls",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"head_grab",
|
"head_grab",
|
||||||
"looking_down"
|
"looking_down"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"action_id": "facial_bukkake",
|
|
||||||
"action_name": "Facial Bukkake",
|
|
||||||
"action": {
|
|
||||||
"full_body": "close-up portrait shot, focus primarily on the face and neck area",
|
|
||||||
"head": "tilted slightly backward, mouth open or tongue out, face heavily covered in white liquid",
|
|
||||||
"eyes": "closed or looking upward, eyelashes wet/clumped",
|
|
||||||
"arms": "out of frame or hands interacting with face/hair",
|
|
||||||
"hands": "holding hair back or wiping cheek",
|
|
||||||
"torso": "upper chest or shoulders visible, possibly stained",
|
|
||||||
"pelvis": "not visible",
|
|
||||||
"legs": "not visible",
|
|
||||||
"feet": "not visible",
|
|
||||||
"additional": "streaming white liquid, dripping, messy, wet skin texture, high viscosity"
|
|
||||||
},
|
|
||||||
"participants": {
|
|
||||||
"solo_focus": "true",
|
|
||||||
"orientation": "F"
|
|
||||||
},
|
|
||||||
"lora": {
|
|
||||||
"lora_name": "Illustrious/Poses/facial_bukkake.safetensors",
|
|
||||||
"lora_weight": 1.0,
|
|
||||||
"lora_triggers": "facial_bukkake"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"bukkake",
|
|
||||||
"facial",
|
|
||||||
"cum on face",
|
|
||||||
"semen",
|
|
||||||
"messy",
|
|
||||||
"white liquid",
|
|
||||||
"cum in eyes",
|
|
||||||
"cum in mouth",
|
|
||||||
"splatter",
|
|
||||||
"after sex"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "fellatio_from_below_illustriousxl_lora_nochekaiser",
|
"action_id": "fellatio_from_below_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Fellatio From Below Illustriousxl Lora Nochekaiser",
|
"action_name": "Fellatio From Below Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "squatting, fellatio, from_below",
|
"base": "squatting, fellatio, from_below",
|
||||||
"head": "facing_viewer, open_mouth",
|
"head": "facing_viewer, open_mouth, looking_down",
|
||||||
"eyes": "looking_down",
|
"upper_body": "arms_visible, nude, navel, nipples",
|
||||||
"arms": "arms_visible",
|
"lower_body": "nude, pussy, spread_legs, squatting, bent_legs",
|
||||||
"hands": "hands_visible",
|
"hands": "hands_visible",
|
||||||
"torso": "nude, navel, nipples",
|
|
||||||
"pelvis": "nude, pussy, spread_legs",
|
|
||||||
"legs": "squatting, bent_legs",
|
|
||||||
"feet": "feet_visible",
|
"feet": "feet_visible",
|
||||||
"additional": "penis, testicles, oral, sweat, cum"
|
"additional": "penis, testicles, oral, sweat, cum"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/fellatio-from-below-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/fellatio-from-below-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "fellatio from below, fellatio, from below, squatting, hetero, penis, testicles, completely nude, oral"
|
"lora_triggers": "fellatio from below, fellatio, from below, squatting, hetero, penis, testicles, completely nude, oral",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"fellatio",
|
"fellatio",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"sweat",
|
"sweat",
|
||||||
"pussy"
|
"pussy"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "fellatio_on_couch_illustriousxl_lora_nochekaiser",
|
"action_id": "fellatio_on_couch_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Fellatio On Couch Illustriousxl Lora Nochekaiser",
|
"action_name": "Fellatio On Couch Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "fellatio, sitting, on_couch, hetero, oral",
|
"base": "fellatio, sitting, on_couch, hetero, oral",
|
||||||
"head": "blush, sweat, head_down",
|
"head": "blush, sweat, head_down, looking_down, eyes_closed",
|
||||||
"eyes": "looking_down, eyes_closed",
|
"upper_body": "arms_at_side, breast_press, nipples, nude, leaning_forward",
|
||||||
"arms": "arms_at_side",
|
"lower_body": "sitting, nude, sitting, legs_apart",
|
||||||
"hands": "hands_on_legs",
|
"hands": "hands_on_legs",
|
||||||
"torso": "breast_press, nipples, nude, leaning_forward",
|
|
||||||
"pelvis": "sitting, nude",
|
|
||||||
"legs": "sitting, legs_apart",
|
|
||||||
"feet": "feet_on_floor",
|
"feet": "feet_on_floor",
|
||||||
"additional": "couch, penis, testicles, uncensored"
|
"additional": "couch, penis, testicles, uncensored"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/fellatio-on-couch-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/fellatio-on-couch-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "fellatio on couch, hetero, penis, oral, sitting, fellatio, testicles, blush, couch, sweat, breast press, nipples, completely nude, uncensored"
|
"lora_triggers": "fellatio on couch, hetero, penis, oral, sitting, fellatio, testicles, blush, couch, sweat, breast press, nipples, completely nude, uncensored",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"fellatio",
|
"fellatio",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"uncensored",
|
"uncensored",
|
||||||
"couch"
|
"couch"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "femdom_face_between_breasts",
|
"action_id": "femdom_face_between_breasts",
|
||||||
"action_name": "Femdom Face Between Breasts",
|
"action_name": "Femdom Face Between Breasts",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "upper body view, female character pressing a person's face into her chest",
|
"base": "upper body view, female character pressing a person's face into her chest",
|
||||||
"head": "looking down, chin tucked, dominant expression",
|
"head": "looking down, chin tucked, dominant expression, narrowed, looking down at the person",
|
||||||
"eyes": "narrowed, looking down at the person",
|
"upper_body": "wrapping around the person's head, holding head firmly, chest pushed forward, breasts pressed tightly together around a face",
|
||||||
"arms": "wrapping around the person's head, holding head firmly",
|
"lower_body": "neutral alignment, standing or sitting",
|
||||||
"hands": "fingers tangled in hair, or pressing the back of the head",
|
"hands": "fingers tangled in hair, or pressing the back of the head",
|
||||||
"torso": "chest pushed forward, breasts pressed tightly together around a face",
|
|
||||||
"pelvis": "neutral alignment",
|
|
||||||
"legs": "standing or sitting",
|
|
||||||
"feet": "not visible",
|
"feet": "not visible",
|
||||||
"additional": "male face buried in breasts, squished face, soft lighting, close-up"
|
"additional": "male face buried in breasts, squished face, soft lighting, close-up"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/femdom_face_between_breasts.safetensors",
|
"lora_name": "Illustrious/Poses/femdom_face_between_breasts.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "femdom_face_between_breasts"
|
"lora_triggers": "femdom_face_between_breasts",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"breast smother",
|
"breast smother",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"big breasts",
|
"big breasts",
|
||||||
"cleavage"
|
"cleavage"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "femdom_held_down_illust",
|
"action_id": "femdom_held_down_illust",
|
||||||
"action_name": "Femdom Held Down Illust",
|
"action_name": "Femdom Held Down Illust",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "girl_on_top, straddling, lying_on_back",
|
"base": "girl_on_top, straddling, lying_on_back",
|
||||||
"head": "looking_down, looking_at_another",
|
"head": "looking_down, looking_at_another, forced_eye_contact",
|
||||||
"eyes": "forced_eye_contact",
|
"upper_body": "holding_another's_wrists, arms_above_head, on_back",
|
||||||
"arms": "holding_another's_wrists, arms_above_head",
|
"lower_body": "straddled, spread_legs",
|
||||||
"hands": "grab, clenched_hands",
|
"hands": "grab, clenched_hands",
|
||||||
"torso": "on_back",
|
|
||||||
"pelvis": "straddled",
|
|
||||||
"legs": "spread_legs",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "femdom, struggling, pinned, assertive_female"
|
"additional": "femdom, struggling, pinned, assertive_female"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Femdom_Held_Down_Illust.safetensors",
|
"lora_name": "Illustrious/Poses/Femdom_Held_Down_Illust.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "fdom_held"
|
"lora_triggers": "fdom_held",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"femdom",
|
"femdom",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"pinned",
|
"pinned",
|
||||||
"struggling"
|
"struggling"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "fertilization_illustriousxl_lora_nochekaiser",
|
"action_id": "fertilization_illustriousxl_lora_nochekaiser",
|
||||||
"action_name": "Fertilization Illustriousxl Lora Nochekaiser",
|
"action_name": "Fertilization Illustriousxl Lora Nochekaiser",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "sex, vaginal, on_bed, nude, cowboy_shot",
|
"base": "sex, vaginal, on_bed, nude, cowboy_shot",
|
||||||
"head": "ahegao, blush, open_mouth, head_back",
|
"head": "ahegao, blush, open_mouth, head_back, rolled_eyes, half_closed_eyes",
|
||||||
"eyes": "rolled_eyes, half_closed_eyes",
|
"upper_body": "arms_at_sides, nude, nipples, navel",
|
||||||
"arms": "arms_at_sides",
|
"lower_body": "pussy, cum_in_pussy, internal_cumshot, penis, hetero, spread_legs, legs_up",
|
||||||
"hands": "clenched_hands",
|
"hands": "clenched_hands",
|
||||||
"torso": "nude, nipples, navel",
|
|
||||||
"pelvis": "pussy, cum_in_pussy, internal_cumshot, penis, hetero",
|
|
||||||
"legs": "spread_legs, legs_up",
|
|
||||||
"feet": "bare_feet",
|
"feet": "bare_feet",
|
||||||
"additional": "cross-section, fertilization, impregnation, uterus, ovum, sperm_cell, ovaries, ejaculation"
|
"additional": "cross-section, fertilization, impregnation, uterus, ovum, sperm_cell, ovaries, ejaculation"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/fertilization-illustriousxl-lora-nochekaiser.safetensors",
|
"lora_name": "Illustrious/Poses/fertilization-illustriousxl-lora-nochekaiser.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "fertilization, ovum, impregnation, sperm cell, cross-section, cum in pussy, internal cumshot, uterus, cum, sex, vaginal, ovaries, penis, hetero, ejaculation"
|
"lora_triggers": "fertilization, ovum, impregnation, sperm cell, cross-section, cum in pussy, internal cumshot, uterus, cum, sex, vaginal, ovaries, penis, hetero, ejaculation",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"fertilization",
|
"fertilization",
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
"ahegao",
|
"ahegao",
|
||||||
"on_bed"
|
"on_bed"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "fff_imminent_masturbation",
|
"action_id": "fff_imminent_masturbation",
|
||||||
"action_name": "Fff Imminent Masturbation",
|
"action_name": "Fff Imminent Masturbation",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "hand_on_own_crotch, trembling, legs_together, knock-kneed",
|
"base": "hand_on_own_crotch, trembling, legs_together, knock-kneed",
|
||||||
"head": "heavy_breathing, sweating, looking_down",
|
"head": "heavy_breathing, sweating, looking_down, narrowed_eyes, half-closed_eyes, dilated_pupils",
|
||||||
"eyes": "narrowed_eyes, half-closed_eyes, dilated_pupils",
|
"upper_body": "arms_down, hand_between_legs, arched_back, squirming",
|
||||||
"arms": "arms_down, hand_between_legs",
|
"lower_body": "hips_forward, legs_together, knock-kneed",
|
||||||
"hands": "hand_on_own_crotch, squeezing, rubbing_crotch",
|
"hands": "hand_on_own_crotch, squeezing, rubbing_crotch",
|
||||||
"torso": "arched_back, squirming",
|
|
||||||
"pelvis": "hips_forward",
|
|
||||||
"legs": "legs_together, knock-kneed",
|
|
||||||
"feet": "standing",
|
"feet": "standing",
|
||||||
"additional": "clothed_masturbation, urgency, arousal, through_clothes"
|
"additional": "clothed_masturbation, urgency, arousal, through_clothes"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFF_imminent_masturbation.safetensors",
|
"lora_name": "Illustrious/Poses/FFF_imminent_masturbation.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "FFF_grabbing_own_crotch, trembling, sweat, breath, imminent_masturbation"
|
"lora_triggers": "FFF_grabbing_own_crotch, trembling, sweat, breath, imminent_masturbation",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"hand_on_own_crotch",
|
"hand_on_own_crotch",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"aroused",
|
"aroused",
|
||||||
"rubbing_crotch"
|
"rubbing_crotch"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "ffm3some_footjob_efeme3ftfe_il_1475115",
|
"action_id": "ffm3some_footjob_efeme3ftfe_il_1475115",
|
||||||
"action_name": "Ffm3Some Footjob Efeme3Ftfe Il 1475115",
|
"action_name": "Ffm3Some Footjob Efeme3Ftfe Il 1475115",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "FFM threesome scenario, one male lying on back receiving stimulation, two females sitting or reclining near his, performing a double footjob",
|
"base": "FFM threesome scenario, one male lying on back receiving stimulation, two females sitting or reclining near his, performing a double footjob",
|
||||||
"head": "females looking down at their feet, male head bathed in pleasure, expressions of focus and arousal",
|
"head": "females looking down at their feet, male head bathed in pleasure, expressions of focus and arousal, looking at penis, eyes closed, eye contact with male",
|
||||||
"eyes": "looking at penis, eyes closed, eye contact with male",
|
"upper_body": "females arms resting behind them for support or on their own legs, male torso exposed supine, females upper bodies leaning back or sitting upright",
|
||||||
"arms": "females arms resting behind them for support or on their own legs",
|
"lower_body": "hips positioned to extend legs towards the male, females legs extended towards center, male legs spread or straight",
|
||||||
"hands": "hands resting on bed sheets, gripping sheets, or touching own legs",
|
"hands": "hands resting on bed sheets, gripping sheets, or touching own legs",
|
||||||
"torso": "male torso exposed supine, females upper bodies leaning back or sitting upright",
|
|
||||||
"pelvis": "hips positioned to extend legs towards the male",
|
|
||||||
"legs": "females legs extended towards center, male legs spread or straight",
|
|
||||||
"feet": "barefoot, soles rubbing against penis, toes curling, sandwiching penis between feet, four feet visible",
|
"feet": "barefoot, soles rubbing against penis, toes curling, sandwiching penis between feet, four feet visible",
|
||||||
"additional": "indoors, bed, crumpled sheets, sexual activity, multiple partners"
|
"additional": "indoors, bed, crumpled sheets, sexual activity, multiple partners"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFM3SOME-footjob-EFEME3ftfe-IL_1475115.safetensors",
|
"lora_name": "Illustrious/Poses/FFM3SOME-footjob-EFEME3ftfe-IL_1475115.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "FFM3SOME-footjob-EFEME3ftfe-IL_1475115"
|
"lora_triggers": "FFM3SOME-footjob-EFEME3ftfe-IL_1475115",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"footjob",
|
"footjob",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"penis",
|
"penis",
|
||||||
"sexual"
|
"sexual"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "ffm_threesome___kiss_and_fellatio_illustrious",
|
"action_id": "ffm_threesome___kiss_and_fellatio_illustrious",
|
||||||
"action_name": "Ffm Threesome Kiss And Fellatio Illustrious",
|
"action_name": "Ffm Threesome Kiss And Fellatio Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "ffm_threesome, 2girls, 1boy, group_sex, sandwich_position",
|
"base": "ffm_threesome, 2girls, 1boy, group_sex, sandwich_position",
|
||||||
"head": "kissing, sucking, head_grab",
|
"head": "kissing, sucking, head_grab, closed_eyes, looking_at_partner",
|
||||||
"eyes": "closed_eyes, looking_at_partner",
|
"upper_body": "arms_around_neck, holding_penis, hand_on_head, leaning_forward, physical_contact",
|
||||||
"arms": "arms_around_neck, holding_penis, hand_on_head",
|
"lower_body": "sitting, straddling, kneeling, spread_legs",
|
||||||
"hands": "stroking",
|
"hands": "stroking",
|
||||||
"torso": "leaning_forward, physical_contact",
|
|
||||||
"pelvis": "sitting, straddling",
|
|
||||||
"legs": "kneeling, spread_legs",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "indoor, couch, faceless_male, saliva, blush"
|
"additional": "indoor, couch, faceless_male, saliva, blush"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFM_threesome_-_Kiss_and_Fellatio_Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/FFM_threesome_-_Kiss_and_Fellatio_Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "ffm_threesome_kiss_and_fellatio"
|
"lora_triggers": "ffm_threesome_kiss_and_fellatio",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"2girls",
|
"2girls",
|
||||||
@@ -35,4 +34,4 @@
|
|||||||
"saliva",
|
"saliva",
|
||||||
"sandwich_position"
|
"sandwich_position"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "ffm_threesome_doggy_style_front_view_illustrious",
|
"action_id": "ffm_threesome_doggy_style_front_view_illustrious",
|
||||||
"action_name": "Ffm Threesome Doggy Style Front View Illustrious",
|
"action_name": "Ffm Threesome Doggy Style Front View Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "threesome, 2girls, 1boy, doggy style, all fours, kneeling, from front, bodies overlapping",
|
"base": "threesome, 2girls, 1boy, doggy style, all fours, kneeling, from front, bodies overlapping",
|
||||||
"head": "looking at viewer, head raised, blushing, sweating, tongues out",
|
"head": "looking at viewer, head raised, blushing, sweating, tongues out, open eyes, heart-shaped pupils, eye contact",
|
||||||
"eyes": "open eyes, heart-shaped pupils, eye contact",
|
"upper_body": "arms straight, supporting weight, hands on ground, leaning forward, arched back, breasts hanging",
|
||||||
"arms": "arms straight, supporting weight, hands on ground",
|
"lower_body": "hips raised high, buttocks touching, knees bent, kneeling, legs spread",
|
||||||
"hands": "palms flat, fingers spread, on bed sheet",
|
"hands": "palms flat, fingers spread, on bed sheet",
|
||||||
"torso": "leaning forward, arched back, breasts hanging",
|
|
||||||
"pelvis": "hips raised high, buttocks touching",
|
|
||||||
"legs": "knees bent, kneeling, legs spread",
|
|
||||||
"feet": "toes curled, feet relaxed",
|
"feet": "toes curled, feet relaxed",
|
||||||
"additional": "sex, penetration, vaginal, motion lines, saliva trail, indoors, bed"
|
"additional": "sex, penetration, vaginal, motion lines, saliva trail, indoors, bed"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFM_Threesome_doggy_style_front_view_Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/FFM_Threesome_doggy_style_front_view_Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "FFM_Threesome_doggy_style_front_view_Illustrious"
|
"lora_triggers": "FFM_Threesome_doggy_style_front_view_Illustrious",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"threesome",
|
"threesome",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"blush",
|
"blush",
|
||||||
"sweat"
|
"sweat"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "ffm_threesome_girl_sandwichdouble_dip_illustrious",
|
"action_id": "ffm_threesome_girl_sandwichdouble_dip_illustrious",
|
||||||
"action_name": "Ffm Threesome Girl Sandwichdouble Dip Illustrious",
|
"action_name": "Ffm Threesome Girl Sandwichdouble Dip Illustrious",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Three-person stack on a bed: one girl lying flat on her back, the male (often faceless/obscured) positioned in the middle, and the second girl straddling on top of the pile.",
|
"base": "Three-person stack on a bed: one girl lying flat on her back, the male (often faceless/obscured) positioned in the middle, and the second girl straddling on top of the pile.",
|
||||||
"head": "Girls' faces visible, often with flushed cheeks or ahegao expressions; male face usually out of frame or obscured.",
|
"head": "Girls' faces visible, often with flushed cheeks or ahegao expressions; male face usually out of frame or obscured., rolled_back, closed_eyes, or looking_at_viewer",
|
||||||
"eyes": "rolled_back, closed_eyes, or looking_at_viewer",
|
"upper_body": "Arms embracing the partner in the middle or holding bed sheets., Sandwiched torsos, breasts pressed against the middle partner.",
|
||||||
"arms": "Arms embracing the partner in the middle or holding bed sheets.",
|
"lower_body": "Interconnected pelvises, implied penetration., Bottom girl with legs_spread, top girl straddling.",
|
||||||
"hands": "grabbing_sheet or touching_partner",
|
"hands": "grabbing_sheet or touching_partner",
|
||||||
"torso": "Sandwiched torsos, breasts pressed against the middle partner.",
|
|
||||||
"pelvis": "Interconnected pelvises, implied penetration.",
|
|
||||||
"legs": "Bottom girl with legs_spread, top girl straddling.",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "Scene typically set on a bed with messy sheets."
|
"additional": "Scene typically set on a bed with messy sheets."
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFM_threesome_girl_sandwichdouble_dip_Illustrious.safetensors",
|
"lora_name": "Illustrious/Poses/FFM_threesome_girl_sandwichdouble_dip_Illustrious.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "ffm_threesome_double_dip"
|
"lora_triggers": "ffm_threesome_double_dip",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"ffm_threesome",
|
"ffm_threesome",
|
||||||
@@ -37,4 +36,4 @@
|
|||||||
"bed_sheet",
|
"bed_sheet",
|
||||||
"messy_bed"
|
"messy_bed"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "ffm_threesome_one_girl_on_top_and_bj",
|
"action_id": "ffm_threesome_one_girl_on_top_and_bj",
|
||||||
"action_name": "Ffm Threesome One Girl On Top And Bj",
|
"action_name": "Ffm Threesome One Girl On Top And Bj",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "ffm_threesome, cowgirl_position, straddling, lying, on_back",
|
"base": "ffm_threesome, cowgirl_position, straddling, lying, on_back",
|
||||||
"head": "blush, half-closed_eyes",
|
"head": "blush, half-closed_eyes, half-closed_eyes",
|
||||||
"eyes": "half-closed_eyes",
|
"upper_body": "arms_at_sides, nude, breasts",
|
||||||
"arms": "arms_at_sides",
|
"lower_body": "legs_apart, straddling, kneeling, bent_legs",
|
||||||
"hands": "hands_on_chest",
|
"hands": "hands_on_chest",
|
||||||
"torso": "nude, breasts",
|
|
||||||
"pelvis": "legs_apart, straddling",
|
|
||||||
"legs": "kneeling, bent_legs",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "fellatio, licking, penis, testicles, size_difference, 2girls, 1boy"
|
"additional": "fellatio, licking, penis, testicles, size_difference, 2girls, 1boy"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/FFM_threesome_one_girl_on_top_and_BJ.safetensors",
|
"lora_name": "Illustrious/Poses/FFM_threesome_one_girl_on_top_and_BJ.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "ffm_threesome_straddling_fellatio"
|
"lora_triggers": "ffm_threesome_straddling_fellatio",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"ffm_threesome",
|
"ffm_threesome",
|
||||||
@@ -35,4 +34,4 @@
|
|||||||
"erotic",
|
"erotic",
|
||||||
"cum"
|
"cum"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "ffmnursinghandjob_ill_v3",
|
"action_id": "ffmnursinghandjob_ill_v3",
|
||||||
"action_name": "Ffmnursinghandjob Ill V3",
|
"action_name": "Ffmnursinghandjob Ill V3",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "threesome, 2girls, 1boy, ffm, male lying on back, two females kneeling or straddling",
|
"base": "threesome, 2girls, 1boy, ffm, male lying on back, two females kneeling or straddling",
|
||||||
"head": "blushing faces, looking down, ecstatic expressions, tongue out",
|
"head": "blushing faces, looking down, ecstatic expressions, tongue out, half-closed eyes, heart-shaped pupils, looking at penis",
|
||||||
"eyes": "half-closed eyes, heart-shaped pupils, looking at penis",
|
"upper_body": "holding breasts, offering breast, reaching for penis, exposed breasts, leaning forward, nipples visible",
|
||||||
"arms": "holding breasts, offering breast, reaching for penis",
|
"lower_body": "hips positioned near male's face or chest, kneeling, spread legs",
|
||||||
"hands": "double handjob, stroking penis, squeezing breasts",
|
"hands": "double handjob, stroking penis, squeezing breasts",
|
||||||
"torso": "exposed breasts, leaning forward, nipples visible",
|
|
||||||
"pelvis": "hips positioned near male's face or chest",
|
|
||||||
"legs": "kneeling, spread legs",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "lactation, breast milk, saliva string, messy"
|
"additional": "lactation, breast milk, saliva string, messy"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/ffmNursingHandjob_ill_v3.safetensors",
|
"lora_name": "Illustrious/Poses/ffmNursingHandjob_ill_v3.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "ffmNursingHandjob_ill_v3"
|
"lora_triggers": "ffmNursingHandjob_ill_v3",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"threesome",
|
"threesome",
|
||||||
@@ -36,4 +35,4 @@
|
|||||||
"big_breasts",
|
"big_breasts",
|
||||||
"kneeling"
|
"kneeling"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "finish_blow_ill_v0_90_000004",
|
"action_id": "finish_blow_ill_v0_90_000004",
|
||||||
"action_name": "Finish Blow Ill V0 90 000004",
|
"action_name": "Finish Blow Ill V0 90 000004",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "highly dynamic combat pose, delivering a final powerful strike, lunging forward or mid-air jump",
|
"base": "highly dynamic combat pose, delivering a final powerful strike, lunging forward or mid-air jump",
|
||||||
"head": "intense battle expression, shouting or gritted teeth, hair flowing with motion",
|
"head": "intense battle expression, shouting or gritted teeth, hair flowing with motion, fierce gaze, focused on target, angry eyes",
|
||||||
"eyes": "fierce gaze, focused on target, angry eyes",
|
"upper_body": "swinging wildy, outstretched with weapon, motion blur on limbs, twisted torso for momentum, leaning into the attack",
|
||||||
"arms": "swinging wildy, outstretched with weapon, motion blur on limbs",
|
"lower_body": "hips rotated to generate power, low center of gravity, wide stance, knees bent, dynamic foreshortening",
|
||||||
"hands": "tightly gripping weapon, two-handed grip, or clenched fist",
|
"hands": "tightly gripping weapon, two-handed grip, or clenched fist",
|
||||||
"torso": "twisted torso for momentum, leaning into the attack",
|
|
||||||
"pelvis": "hips rotated to generate power, low center of gravity",
|
|
||||||
"legs": "wide stance, knees bent, dynamic foreshortening",
|
|
||||||
"feet": "planted firmly on ground or pointed in air, debris kicks up",
|
"feet": "planted firmly on ground or pointed in air, debris kicks up",
|
||||||
"additional": "light trails, speed lines, impact effects, shockwaves, cinematic lighting, dutch angle, weapon smear"
|
"additional": "light trails, speed lines, impact effects, shockwaves, cinematic lighting, dutch angle, weapon smear"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/finish_blow_ill_v0.90-000004.safetensors",
|
"lora_name": "Illustrious/Poses/finish_blow_ill_v0.90-000004.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "finish_blow_ill_v0.90-000004"
|
"lora_triggers": "finish_blow_ill_v0.90-000004",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"action shot",
|
"action shot",
|
||||||
@@ -30,4 +29,4 @@
|
|||||||
"intense",
|
"intense",
|
||||||
"cinematic composition"
|
"cinematic composition"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "fixed_perspective_v3_1558768",
|
"action_id": "fixed_perspective_v3_1558768",
|
||||||
"action_name": "Fixed Perspective V3 1558768",
|
"action_name": "Fixed Perspective V3 1558768",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Character positioned with exaggerated depth, utilizing strong foreshortening to create a 3D effect aimed at the viewer",
|
"base": "Character positioned with exaggerated depth, utilizing strong foreshortening to create a 3D effect aimed at the viewer",
|
||||||
"head": "Face centered and close to the camera, looking directly at the viewer",
|
"head": "Face centered and close to the camera, looking directly at the viewer, Intense eye contact, detailed eyes",
|
||||||
"eyes": "Intense eye contact, detailed eyes",
|
"upper_body": "One or both arms reaching towards the lens, appearing larger due to perspective, Angled to recede into the background",
|
||||||
"arms": "One or both arms reaching towards the lens, appearing larger due to perspective",
|
"lower_body": "Visually smaller, further back, Trailing off into the distance, significantly smaller than the upper body",
|
||||||
"hands": "Enlarged hands/fingers reaching out (foreshortened)",
|
"hands": "Enlarged hands/fingers reaching out (foreshortened)",
|
||||||
"torso": "Angled to recede into the background",
|
|
||||||
"pelvis": "Visually smaller, further back",
|
|
||||||
"legs": "Trailing off into the distance, significantly smaller than the upper body",
|
|
||||||
"feet": "Small or out of frame due to depth",
|
"feet": "Small or out of frame due to depth",
|
||||||
"additional": "Fisheye lens effect, dramatic camera angle, depth of field, high distortion, 3D composition"
|
"additional": "Fisheye lens effect, dramatic camera angle, depth of field, high distortion, 3D composition"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/fixed_perspective_v3_1558768.safetensors",
|
"lora_name": "Illustrious/Poses/fixed_perspective_v3_1558768.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "fixed_perspective_v3_1558768"
|
"lora_triggers": "fixed_perspective_v3_1558768",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"foreshortening",
|
"foreshortening",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"portrait",
|
"portrait",
|
||||||
"depth of field"
|
"depth of field"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "fixed_point_v2",
|
"action_id": "fixed_point_v2",
|
||||||
"action_name": "Fixed Point V2",
|
"action_name": "Fixed Point V2",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "kneeling on floor in bedroom",
|
"base": "kneeling on floor in bedroom",
|
||||||
"head": "looking at viewer",
|
"head": "looking at viewer, open eyes",
|
||||||
"eyes": "open eyes",
|
"upper_body": "resting on bed, facing viewer",
|
||||||
"arms": "resting on bed",
|
"lower_body": "kneeling, kneeling",
|
||||||
"hands": "resting",
|
"hands": "resting",
|
||||||
"torso": "facing viewer",
|
|
||||||
"pelvis": "kneeling",
|
|
||||||
"legs": "kneeling",
|
|
||||||
"feet": "barefoot",
|
"feet": "barefoot",
|
||||||
"additional": "full room view, fxdpt"
|
"additional": "full room view, fxdpt"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/fixed_point_v2.safetensors",
|
"lora_name": "Illustrious/Poses/fixed_point_v2.safetensors",
|
||||||
"lora_weight": 0.8,
|
"lora_weight": 0.8,
|
||||||
"lora_triggers": "fxdpt, full room view"
|
"lora_triggers": "fxdpt, full room view",
|
||||||
|
"lora_weight_min": 0.8,
|
||||||
|
"lora_weight_max": 0.8
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"kneeling",
|
"kneeling",
|
||||||
@@ -28,4 +27,4 @@
|
|||||||
"from_above",
|
"from_above",
|
||||||
"perspective"
|
"perspective"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,20 @@
|
|||||||
"action_id": "flaccid_after_cum_illustrious_000009",
|
"action_id": "flaccid_after_cum_illustrious_000009",
|
||||||
"action_name": "Flaccid After Cum Illustrious 000009",
|
"action_name": "Flaccid After Cum Illustrious 000009",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "exhausted post-coital slump, relaxing",
|
"base": "exhausted post-coital slump, relaxing",
|
||||||
"head": "flushed face, head tilted back, disheveled hair",
|
"head": "flushed face, head tilted back, disheveled hair, half-closed, ahegao or glazed expression",
|
||||||
"eyes": "half-closed, ahegao or glazed expression",
|
"upper_body": "limp, resting at sides, sweaty skin, heaving chest",
|
||||||
"arms": "limp, resting at sides",
|
"lower_body": "flaccid penis exposed, soft, seminal fluid leaking, spread wide, relaxed",
|
||||||
"hands": "relaxed, open",
|
"hands": "relaxed, open",
|
||||||
"torso": "sweaty skin, heaving chest",
|
|
||||||
"pelvis": "flaccid penis exposed, soft, seminal fluid leaking",
|
|
||||||
"legs": "spread wide, relaxed",
|
|
||||||
"feet": "loose",
|
"feet": "loose",
|
||||||
"additional": "messy bed sheets, heavy breathing, steamy atmosphere"
|
"additional": "messy bed sheets, heavy breathing, steamy atmosphere"
|
||||||
},
|
},
|
||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Flaccid_After_Cum_Illustrious-000009.safetensors",
|
"lora_name": "Illustrious/Poses/Flaccid_After_Cum_Illustrious-000009.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "flaccid after cum"
|
"lora_triggers": "flaccid after cum",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"after_sex",
|
"after_sex",
|
||||||
@@ -29,4 +28,4 @@
|
|||||||
"cum_in_mouth",
|
"cum_in_mouth",
|
||||||
"after_fellatio"
|
"after_fellatio"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "fleshlight_position_doggystyle_dangling_legs_sex_from_behind_hanging_legs_ponyilsdsdxl",
|
"action_id": "fleshlight_position_doggystyle_dangling_legs_sex_from_behind_hanging_legs_ponyilsdsdxl",
|
||||||
"action_name": "Fleshlight Position Doggystyle Dangling Legs Sex From Behind Hanging Legs Ponyilsdsdxl",
|
"action_name": "Fleshlight Position Doggystyle Dangling Legs Sex From Behind Hanging Legs Ponyilsdsdxl",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "doggystyle, sex from behind, hanging legs, vaginal",
|
"base": "doggystyle, sex from behind, hanging legs, vaginal",
|
||||||
"head": "facing down or looking back over shoulder",
|
"head": "facing down or looking back over shoulder, half-closed or expression of pleasure",
|
||||||
"eyes": "half-closed or expression of pleasure",
|
"upper_body": "supporting upper body weight, elbows often bent, prone, leaning forward, back deeply arched",
|
||||||
"arms": "supporting upper body weight, elbows often bent",
|
"lower_body": "elevated and pushed back to the edge of the surface, dangling down off the edge, knees slightly bent, not supporting weight",
|
||||||
"hands": "gripping the sheets or resting flat on the surface",
|
"hands": "gripping the sheets or resting flat on the surface",
|
||||||
"torso": "prone, leaning forward, back deeply arched",
|
|
||||||
"pelvis": "elevated and pushed back to the edge of the surface",
|
|
||||||
"legs": "dangling down off the edge, knees slightly bent, not supporting weight",
|
|
||||||
"feet": "hanging freely, toes connecting with nothing, off the ground",
|
"feet": "hanging freely, toes connecting with nothing, off the ground",
|
||||||
"additional": "on edge of bed, precarious balance, from behind perspective"
|
"additional": "on edge of bed, precarious balance, from behind perspective"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Fleshlight_Position_Doggystyle_Dangling_Legs_Sex_From_Behind_Hanging_Legs_PonyILSDSDXL.safetensors",
|
"lora_name": "Illustrious/Poses/Fleshlight_Position_Doggystyle_Dangling_Legs_Sex_From_Behind_Hanging_Legs_PonyILSDSDXL.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Fleshlight_Position_Doggystyle_Dangling_Legs_Sex_From_Behind_Hanging_Legs_PonyILSDSDXL"
|
"lora_triggers": "Fleshlight_Position_Doggystyle_Dangling_Legs_Sex_From_Behind_Hanging_Legs_PonyILSDSDXL",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"doggystyle",
|
"doggystyle",
|
||||||
@@ -34,4 +33,4 @@
|
|||||||
"feet off ground",
|
"feet off ground",
|
||||||
"sex act"
|
"sex act"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "folded_xl_illustrious_v1_0",
|
"action_id": "folded_xl_illustrious_v1_0",
|
||||||
"action_name": "Folded Xl Illustrious V1 0",
|
"action_name": "Folded Xl Illustrious V1 0",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "Character standing in a confident or defensive posture with weight shifted to one side",
|
"base": "Character standing in a confident or defensive posture with weight shifted to one side",
|
||||||
"head": "Chin slightly raised, facing the viewer directly",
|
"head": "Chin slightly raised, facing the viewer directly, Sharp gaze, expressing confidence, skepticism, or annoyance",
|
||||||
"eyes": "Sharp gaze, expressing confidence, skepticism, or annoyance",
|
"upper_body": "Both arms crossed firmly over the chest (folded arms), Upright posture, chest slightly expanded",
|
||||||
"arms": "Both arms crossed firmly over the chest (folded arms)",
|
"lower_body": "Hips slightly cocked to one side for attitude, Standing straight, legs apart or one knee relaxed",
|
||||||
"hands": "Hands tucked under the biceps or grasping the opposite upper arm",
|
"hands": "Hands tucked under the biceps or grasping the opposite upper arm",
|
||||||
"torso": "Upright posture, chest slightly expanded",
|
|
||||||
"pelvis": "Hips slightly cocked to one side for attitude",
|
|
||||||
"legs": "Standing straight, legs apart or one knee relaxed",
|
|
||||||
"feet": "Planted firmly on the ground",
|
"feet": "Planted firmly on the ground",
|
||||||
"additional": "Often implies an attitude of arrogance, patience, or defiance"
|
"additional": "Often implies an attitude of arrogance, patience, or defiance"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Folded XL illustrious V1.0.safetensors",
|
"lora_name": "Illustrious/Poses/Folded XL illustrious V1.0.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Folded XL illustrious V1.0"
|
"lora_triggers": "Folded XL illustrious V1.0",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"crossed arms",
|
"crossed arms",
|
||||||
@@ -31,4 +30,4 @@
|
|||||||
"skeptical",
|
"skeptical",
|
||||||
"upper body"
|
"upper body"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,11 @@
|
|||||||
"action_id": "forced_cunnilingus",
|
"action_id": "forced_cunnilingus",
|
||||||
"action_name": "Forced Cunnilingus",
|
"action_name": "Forced Cunnilingus",
|
||||||
"action": {
|
"action": {
|
||||||
"full_body": "female lying on back, legs spread wide, partner positioning head between legs performing oral sex",
|
"base": "female lying on back, legs spread wide, partner positioning head between legs performing oral sex",
|
||||||
"head": "head tilted back, blushing, expression of distress or shock, mouth slightly open",
|
"head": "head tilted back, blushing, expression of distress or shock, mouth slightly open, teary eyes, squeezed shut or looking away",
|
||||||
"eyes": "teary eyes, squeezed shut or looking away",
|
"upper_body": "arms pinned above head or held down against surface, arched back, chest heaving",
|
||||||
"arms": "arms pinned above head or held down against surface",
|
"lower_body": "hips lifted slightly, exposed crotch, legs spread, m-legs, knees bent, thighs held apart by partner",
|
||||||
"hands": "clenched fists, wrists held",
|
"hands": "clenched fists, wrists held",
|
||||||
"torso": "arched back, chest heaving",
|
|
||||||
"pelvis": "hips lifted slightly, exposed crotch",
|
|
||||||
"legs": "legs spread, m-legs, knees bent, thighs held apart by partner",
|
|
||||||
"feet": "toes curled in tension",
|
"feet": "toes curled in tension",
|
||||||
"additional": "cunnilingus, saliva trail, partner's head buried in crotch, struggle, non-consensual undertones"
|
"additional": "cunnilingus, saliva trail, partner's head buried in crotch, struggle, non-consensual undertones"
|
||||||
},
|
},
|
||||||
@@ -20,7 +17,9 @@
|
|||||||
"lora": {
|
"lora": {
|
||||||
"lora_name": "Illustrious/Poses/Forced_cunnilingus.safetensors",
|
"lora_name": "Illustrious/Poses/Forced_cunnilingus.safetensors",
|
||||||
"lora_weight": 1.0,
|
"lora_weight": 1.0,
|
||||||
"lora_triggers": "Forced_cunnilingus"
|
"lora_triggers": "Forced_cunnilingus",
|
||||||
|
"lora_weight_min": 1.0,
|
||||||
|
"lora_weight_max": 1.0
|
||||||
},
|
},
|
||||||
"tags": [
|
"tags": [
|
||||||
"cunnilingus",
|
"cunnilingus",
|
||||||
@@ -35,4 +34,4 @@
|
|||||||
"vaginal",
|
"vaginal",
|
||||||
"sex act"
|
"sex act"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user