mirror of
https://github.com/MrSleeps/jellyfin-scene-search.git
synced 2026-11-13 13:41:24 +00:00
87 lines
3.6 KiB
Bash
87 lines
3.6 KiB
Bash
MEILI_URL=http://127.0.0.1:7700
|
|
MEILI_MASTER_KEY=change-me-now
|
|
MEILI_INDEX=jellyfin_scenes
|
|
HYBRID_SEMANTIC_RATIO=0.80
|
|
|
|
MODEL_ID=google/siglip2-base-patch16-224
|
|
DEVICE=cuda
|
|
DATA_DIR=./data
|
|
BATCH_SIZE=8
|
|
|
|
OLLAMA_URL=http://127.0.0.1:11434
|
|
CAPTION_GENERAL_MODEL=huihui_ai/qwen3-vl-abliterated:4b-instruct-q4_K_M
|
|
CAPTION_SPECIALIST_MODEL=hf.co/GitMylo/nsfwcaption-qwen3-vl-8b-gguf:Q4_K_M
|
|
# Hard override: send every frame to the specialist captioner and skip the router.
|
|
CAPTION_FORCE_SPECIALIST=false
|
|
CAPTION_TIMEOUT_SECONDS=180
|
|
CAPTION_MAX_TOKENS=120
|
|
# Optional text-only synthesis of stored Trickplay captions into an AI
|
|
# visual overview. Never writes to Jellyfin without an explicit CLI --apply.
|
|
# Leave empty to use the general caption model (may be a VL model).
|
|
OVERVIEW_MODEL=
|
|
# Optional text-only model for adult/mature visual overviews. If empty the
|
|
# general OVERVIEW_MODEL is used with a different specialist prompt.
|
|
OVERVIEW_SPECIALIST_MODEL=
|
|
# Editable text-only summary instructions: created on first use under ./data/.
|
|
# These are separate from the image-captioning prompts above.
|
|
OVERVIEW_PROMPT_FILE=./data/overview_prompt.txt
|
|
OVERVIEW_SPECIALIST_PROMPT_FILE=./data/overview_prompt_specialist.txt
|
|
OVERVIEW_TIMEOUT_SECONDS=240
|
|
# Overview prompts stay inside this context (default 4096); retry smaller on overflow.
|
|
OVERVIEW_NUM_CTX=4096
|
|
# Cap evidence size before Ollama tokenization (default 6000 characters).
|
|
OVERVIEW_EVIDENCE_CHARS=6000
|
|
# Push new caption metadata to Meilisearch in small incremental batches.
|
|
CAPTION_MEILI_BATCH_SIZE=500
|
|
# Caption adjacent Trickplay frames as chronological windows rather than one
|
|
# Ollama request per frame. Up to three frames are combined in-memory.
|
|
CAPTION_WINDOW_SECONDS=30
|
|
CAPTION_WINDOW_MAX_FRAMES=3
|
|
# Specialist windows sample up to six available frames, without changing general captions.
|
|
CAPTION_SPECIALIST_WINDOW_MAX_FRAMES=6
|
|
CAPTION_PROMPT_FILE=./data/caption_prompt.txt
|
|
CAPTION_SPECIALIST_PROMPT_FILE=./data/caption_prompt_specialist.txt
|
|
|
|
CAPTION_ROUTER_ENABLED=true
|
|
CAPTION_ROUTER_MODEL=Falconsai/nsfw_image_detection
|
|
CAPTION_ROUTER_DEVICE=cuda
|
|
CAPTION_ROUTER_BATCH_SIZE=32
|
|
CAPTION_ROUTER_THRESHOLD=0.50
|
|
CAPTION_ROUTER_CONTEXT_SECONDS=6
|
|
|
|
# Jellyfin ingestion
|
|
JELLYFIN_URL=http://127.0.0.1:8096
|
|
# Docker Compose uses this only from inside the scene-search container.
|
|
# Leave blank to use http://host.docker.internal:8096.
|
|
JELLYFIN_DOCKER_URL=
|
|
JELLYFIN_API_KEY=
|
|
# Preferred: comma-separated list of libraries to index by default.
|
|
JELLYFIN_LIBRARIES=
|
|
# Optional libraries to leave out, including when --all-libraries is used.
|
|
JELLYFIN_EXCLUDE_LIBRARIES=
|
|
# Backward-compatible single-library setting. Used only when JELLYFIN_LIBRARIES is empty.
|
|
JELLYFIN_LIBRARY=
|
|
JELLYFIN_TRICKPLAY_WIDTH=320
|
|
JELLYFIN_FALLBACK_INTERVAL_SECONDS=10
|
|
JELLYFIN_TIMEOUT_SECONDS=60
|
|
|
|
# Ordinary Jellyfin tags are passed to the captioner as context hints.
|
|
JELLYFIN_TAG_CONTEXT=true
|
|
|
|
# Optional comma-separated tags that should always use the specialist captioner.
|
|
JELLYFIN_SPECIALIST_TAGS=
|
|
|
|
# Reserved control tags. Add these directly to a Jellyfin item when needed.
|
|
JELLYFIN_FORCE_SPECIALIST_TAG=scene-search:specialist
|
|
JELLYFIN_FORCE_GENERAL_TAG=scene-search:general
|
|
JELLYFIN_SKIP_TAG=scene-search:skip
|
|
|
|
# HTTP API / standalone web dashboard.
|
|
# Docker Compose overrides SCENE_API_HOST to 0.0.0.0 and publishes this port.
|
|
SCENE_API_HOST=127.0.0.1
|
|
SCENE_API_PORT=8097
|
|
# Strongly recommended when Docker exposes the dashboard/API on the LAN.
|
|
# Protected API calls accept Authorization: Bearer <key> or X-Scene-Search-Key.
|
|
# The web dashboard stores the key only in the browser's local storage.
|
|
SCENE_API_KEY=
|