API — Генерация изображений
Сервис развёрнут на https://sd.evosensestagging.ru. Базируется на ComfyUI с моделью FLUX.1-dev (GGUF Q4_K_S) и двумя LoRA:
flux-anime-comfy— аниме/манга стиль (XLabs)flux-uncensored— без ограничений контента
Быстрый старт
POST /prompt — поставить задание в очередь
Тело запроса — ComfyUI workflow JSON. Используй готовый шаблон:
# Скачай шаблон
curl -O https://sd.evosensestagging.ru/workflow-template
# Или отправь сразу с заменой промпта
curl -s -X POST https://sd.evosensestagging.ru/prompt \
-H "Content-Type: application/json" \
-d '{
"prompt": {
"6": {"class_type": "CLIPTextEncode", "inputs": {"text": "твой промпт здесь", "clip": ["5",1]}},
...
}
}'Ответ:
{
"prompt_id": "4305ccbd-7b00-4523-872e-f2a243567f76",
"number": 1
}GET /history/{prompt_id} — получить результат
curl https://sd.evosensestagging.ru/history/4305ccbd-7b00-4523-872e-f2a243567f76Пока задание выполняется — возвращает {}. После завершения:
{
"4305ccbd-...": {
"outputs": {
"11": {
"images": [
{
"filename": "anime_nsfw_00001_.png",
"subfolder": "",
"type": "output"
}
]
}
},
"status": { "status_str": "success", "completed": true }
}
}GET /view — скачать изображение
curl "https://sd.evosensestagging.ru/view?filename=anime_nsfw_00001_.png&type=output" \
--output image.pngGET /queue — состояние очереди
curl https://sd.evosensestagging.ru/queue{
"queue_running": [],
"queue_pending": []
}Python-хелпер
Готовый скрипт /home/rexxnorilsk/generate.py на сервере:
# Использование:
python3 generate.py "anime girl, moonlight, detailed linework"
# Произвольные параметры:
from generate import generate
generate(
prompt="anime woman, cherry blossom, moonlit night, manga style",
negative="ugly, blurry, low quality",
width=832,
height=1216,
steps=20,
seed=42
)Параметры workflow
| Нода | Параметр | Значение по умолчанию | Описание |
|---|---|---|---|
| KSampler | steps | 20 | Количество шагов (15-30 оптимально) |
| KSampler | cfg | 3.5 | Сила следования промпту (1.0-7.0) |
| KSampler | seed | -1 (случайный) | Фиксированный сид для воспроизводимости |
| EmptyLatentImage | width | 832 | Ширина в пикселях |
| EmptyLatentImage | height | 1216 | Высота в пикселях |
| LoraLoader (anime) | strength_model | 0.85 | Сила аниме-стиля (0-1) |
| LoraLoader (uncensored) | strength_model | 0.75 | Сила uncensored LoRA |
Рекомендуемые размеры для FLUX
FLUX обучен на соотношениях 1:1, 4:3, 3:4, 16:9. Лучшие результаты:
- Портрет: 832×1216 или 768×1344
- Квадрат: 1024×1024
- Горизонт: 1216×832
Прокси и защита Ollama
Запросы идут через прослойку на порту 8189. Перед каждой генерацией (POST /prompt) прокси автоматически:
- Проверяет
GET /api/ps— есть ли загруженные модели Ollama - Если есть — отправляет
keep_alive: 0для выгрузки из VRAM - Ждёт освобождения памяти (до 30 секунд)
- Форвардит запрос в ComfyUI
Это предотвращает OOM-ошибки при одновременном использовании SD и Ollama.
Примеры промптов
# Аниме портрет
anime girl, long silver hair, detailed eyes, night sky background,
soft lighting, manga art style, masterpiece quality
# Боевая сцена
anime warrior woman, katana, cherry blossom petals flying,
dynamic pose, detailed armor, high contrast shadows
# Пейзаж
traditional japanese village, torii gate, moonlit night,
anime scenery style, atmospheric fog, ultra detailedWARNING
Сервис развёрнут на RTX 3060 (12GB VRAM). Одновременная работа SD и Ollama не поддерживается — прокси автоматически управляет этим. Время генерации: ~30-60 секунд на изображение.