KNX Tagger

详情

下载文件

模型描述

KNX-Tagger

Discord 在 Ko-fi 上支持我们


使用 Google 的 Gemini API 为 Stable Diffusion/Flux LoRA 训练进行图像标签生成的工具。

所有问题/功能请求需在 GitHub 上处理:

https://github.com/Ktiseos-Nyx/Knx-Tagger

需求

  • Python 3.10+

  • PyQt6

  • Google Gemini API 密钥(提供免费层级)

  • 支持的模型:gemini-2.5-flashgemini-2.5-progemini-flash-latest

功能

  • 多种标签模式:

    • Danbooru 风格标签(逗号分隔)

    • 自然语言描述

    • 自定义提示(可填写您自己的指令)

  • 专注标签偏差模式:

    • 角色聚焦:强调角色细节、表情、姿势

    • 风格聚焦:突出艺术技法、构图、光影

    • 写实聚焦:详细环境与摄影元素

    • 环境聚焦:场景上下文、设定、氛围

  • 灵活工作流:

    • 测试模式:先预览 10 张图片的标签

    • 批量模式:处理整个文件夹

    • 跳过已标记图片

    • 标签过滤与排除

    • 激活标签前置(用于 LoRA 触发词)

  • 兼容 Kohya 输出:

    • 与图像同目录生成 .txt.caption 文件

    • 完美适配 SD/Flux 训练流程

  • 主题系统:

    • 内置 213+ 个来自 KNX 系列的预设主题

    • 支持 qt-material、unreal-stylesheet 和自定义 QSS

    • 可搜索的主题选择对话框

    • 完整的皮肤自定义文档

    • 提供 Krita、GIMP、Photoshop、Affinity 和 Illustrator 的使用指南

  • 成本追踪:

    • 处理前预估 API 成本

    • 使用高效的 gemini-2.5-flash 模型

    • 并发处理(10 个工作线程)以提升速度

安装

推荐:作为包安装(带 knx-tagger 命令)

# 克隆仓库
git clone https://github.com/Ktiseos-Nyx/Knx-Tagger.git
cd Knx-Tagger

# 以可编辑模式安装
pip install -e .

# 现在可以从任意位置运行:
knx-tagger

替代方案 1:使用 venv(标准方式)

# 创建虚拟环境
python -m venv venv

# 激活环境
# macOS/Linux(bash/zsh):
source venv/bin/activate

# macOS/Linux(fish shell):
source venv/bin/activate.fish

# Windows:
venv\Scripts\activate

# 安装为包
pip install -e .

替代方案 2:使用 uv(更快,可选)

uv 是一个超快的 Python 包安装器——非必需,但如果您追求速度,强烈推荐!

# 安装 uv(如未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 一键创建 venv 并安装
uv venv
source .venv/bin/activate  # 或 .venv/bin/activate.fish(fish shell)
uv pip install -e .

获取您的 API 密钥

  1. 获取 Gemini API 密钥:

  2. 配置 API 密钥(可选):

    cp .env.example .env
    # 编辑 .env 文件并添加您的密钥
    

    或者首次运行时直接输入密钥——应用程序会提示您保存以备后续使用!

使用方法

若已安装为包:

knx-tagger

或直接运行:

python main.py
# 或
python -m knx_tagger

注意: 您可能会在控制台看到类似 ALTS creds ignored. Not running on GCP... 的无害警告——这只是 Google 库提示您未在 Google Cloud Platform 上运行。可安全忽略,因为应用已正确使用 API 密钥认证。

工作流程:

  1. 选择包含图像的文件夹(支持 JPEG、PNG、WebP)

  2. 选择标签模式:

    • Danbooru:创意性、描述性标签

    • 自然语言:完整句子描述

    • 自定义:编写您自己的提示词

  3. 先测试: 在 10 张图片上运行,检查标签质量

  4. 批量处理: 确认满意后处理整个文件夹

  5. 输出: 每张图像旁生成 .txt.caption 文件

主题

KNX-Tagger 包含 213+ 个预设主题!通过顶部菜单中的 🎨 主题 访问。

浏览主题

  • 点击 🎨 主题 打开主题选择器

  • 按类别浏览或按名称搜索

  • 双击即可立即应用主题

  • 当前主题会高亮显示

创建自定义主题

想制作自己的 Winamp 风格皮肤?请查阅文档:

  • knx_tagger/themes/SKINNING_GUIDE.md — 完整的 QSS 样式参考

  • knx_tagger/themes/WIDGET_LAYOUT_REFERENCE.md — 小部件位置模板参考

  • knx_tagger/themes/SOFTWARE_SPECIFIC_GUIDES.md — Krita、GIMP、Photoshop 等软件的教程

主题分类

  • AI 主题(ChatGPT、Claude、Gemini、Llama)

  • 复古 UI(MS-DOS、Windows XP、Mac OS 9、Linux 发行版)

  • 游戏(原神、宝可梦、最终幻想、PlayStation)

  • 美学风格(Vaporwave、Kawaii、霓虹、日落渐变)

  • 食物与品牌(塔可钟、达美乐、可口可乐)

  • 流行文化(小马宝莉、死侍、X战警、VTuber)

  • 以及更多奇葩选项!

提示

  • Danbooru 模式 适合创建超出标准标签集的全新标签

  • 批量前先测试 以确保提示词质量

  • 跳过已存在 可避免重复标记已处理的图片

  • 成本估算为近似值,实际费用可能略有不同

  • 偏差模式 可帮助聚焦特定方面(角色、风格、环境、写实)

  • 排除标签 可过滤 AI 生成标签中的不必要词汇

  • 部分主题可能显示异常 — 它们最初是为 Dataset-Tools 设计的!

扩展

KNX-Tagger 设计为模块化:

  • knx_tagger/core/gemini_tagger.py — API 集成

  • knx_tagger/utils/file_handler.py — 文件操作

  • knx_tagger/ui/main_window.py — PyQt6 界面

易于集成到更大应用中,或作为库使用。

许可证

MIT

此模型生成的图像

未找到图像。