visual

Генерация фото, видео и аудио через VelsVisual CLI и KIE API (kie.ai). Используй, когда пользователь просит «сгенерируй картинку/изображение/фото/видео/музыку/песню/озвучку/голос/саунд-эффект», text-to-image, image-to-video, TTS или апскейл изображения.

By nick-vels · 373 installs

npx skills add nick-vels/velsvisual --skill visual

Source repository · Upstream listing

VelsVisual — генерация медиа через KIE API CLI на Node.js (ноль зависимостей, Node = 18) обращается к KIE API (kie.ai) и умеет генерировать изображения, видео и аудио сотней моделей. Каталога моделей в скилле нет нарочно — модели на kie.ai выходят каждую неделю, любой список в файле устаревает. Источник истины — живой реестр в самом CLI. Перед каждой генерацией выбирай модель через него: search понимает синонимы задач и игнорирует дефисы/регистр: edit находит и google/nano banana edit , и gpt image 2 image to image , и ideogram/v3 remix (вендоры называют одно и то же по разному). То же для tts / озвучка , image to video / оживи , upscale / апскейл . В выводе models json у каждой модели есть required , api , docUrl и пометка [stale] (в живом каталоге модели больше нет — ищи свежий аналог через search ). CLI сам знает поля новых моделей. Перед запуском run подтягивает схему модели из её документации (кэш 24ч) и по ней определяет, куда класть промпт и картинку, что обязательно и какие обязательные поля имеют значения по умолчанию. Поэтому модель, вышедшая на kie.ai вчера, работает без обновления CLI — не нужно ни угадывать поля, ни ждать релиза. Отключить: no schema , обновить принудительно: refresh schema . Установка и онбординг — одной командой Если пакет уже установлен глобально — просто velsvisual setup . Для постоянной установки после npx: npm i g velsvisual . Обновление: npm i g velsvisual@latest (CLI) и npx y skills update visual (этот скилл); каталог моделей и схемы обновляются сами. Ключ также можно задать вручную: export KIE API KEY=ваш ключ или velsvisual config set key ваш ключ . Если ключа нет — CLI скажет об этом понятной ошибкой; попроси ключ у пользователя, не выдумывай его. Проверка: velsvisual credits . Команды set k=v — значение парсится как JSON ( true , 5 , ["a"] ), иначе строка. json input — сырой JSON объект поверх собранного input (любые поля любой модели). image — локальный путь (CLI загрузит его сам) или готовый URL. Локальный файл можно передать в любое поле : set first frame url=./sky.jpg , set reference image urls='["./a.png"]' — существующие пути загружаются автоматически. dry run — показать итоговый input и не отправлять запрос (не тратит кредиты). Кэши: реестр ~/.velsvisual/models cache.json , схемы ~/.velsvisual/schema cache.json , оба с TTL 24ч. Правила (обязательно) 1. Сначала модель, потом запуск. Не используй id моделей из памяти или примеров ниже без проверки — сначала velsvisual models search <задача json . Примеры в этом файле — иллюстрации синтаксиса, а не рекомендация конкретных id. 2. Незнакомая модель — сначала schema . velsvisual schema МОДЕЛЬ json даёт точные имена полей, enum значения и дефолты. Это дешевле, чем ловить 422. 3. Всегда добавляй json — вывод машиночитаемый: taskId , state , urls , tracks . 4. Скачивай результаты сразу — URL живут ~24 часа. Используй wait download КАТАЛОГ или velsvisual download URL сразу после получения urls . 5. Асинхронный паттерн run → wait : либо сразу run wait timeout 600 , либо run (получил taskId ) → wait <taskId . Видео и музыка могут генерироваться минуты — для них ставь timeout 900 или больше. 6. Не трать кредиты на пробы. Проверять сборку запроса — через dry run ; каждый реальный run списывает кредиты, даже если результат не понравился. 7. Считай стоимость до запуска. Перед каждым реальным run оцени цену в кредитах (токенах) и в долларах, сообщи её пользователю и при превышении порогов обязательно спроси подтверждение — см. раздел «Оценка стоимости перед генерацией». 8. Не передавай секреты и ключ в аргументах команд (кроме config set key ). 9. При ошибке API смотри на code : 401 — ключ, 402 — кредиты кончились, 422 — невалидный input (сверься с velsvisual schema МОДЕЛЬ ), 429 — rate limit (повтори позже), 451 — API не скачал входное изображение (перезалей через upload ), 455 — maintenance, 500/501 — генерация не удалась (см. текст ошибки, часто помогает смена параметров). Оценка стоимости перед генерацией (обязательно) Перед каждым реальным run (не dry run ) выполни чек лист: 1. Узнай цену модели в кредитах (токенах) KIE. Первый источник — velsvisual pricing search МОДЕЛЬ json : живой прайс kie.ai (кэш 24ч), отдаёт цену в кредитах и в $ за генерацию. Метка ≈ / approximate: true — цена подобрана по описанию, а не по точному id: это оценка, скажи об этом пользователю. Запасной источник — docUrl из velsvisual models search . Учитывай параметры запроса: цена часто зависит от длительности, разрешения, количества выходов и наличия аудио (у одной модели несколько ценовых записей). 2. Пересчитай в доллары. pricing уже отдаёт usd ; при ручном пересчёте ориентир — 1 кредит = $0.005, но сверяйся с kie.ai/pricing, курс может меняться. 3. Сверься с балансом : velsvisual credits . 4. До запуска сообщи пользователю : модель, ключевые параметры, оценку стоимости в кредитах и в $, текущий баланс и какой процент от него составит списание. 5. Обязательно спроси подтверждение генерации , если верно хотя бы одно: оценка стоимости больше $1; оценка больше 10% текущего баланса; цену модели установить не удалось. Без явного «да» запрос не отправляй. При отказе предложи более дешёвый вариант (модель fast / mini , меньшее разрешение/длительность). Типичные грабли [500] output audio may be related to copyright restrictions у видеомоделей (Seedance и другие с generate audio ): модель не смогла легально сгенерировать звуковую дорожку. Перезапусти с set generate audio=false . Квадратная картинка в 16:9 — модели по умолчанию ставят aspect ratio: 16:9 и обрежут кадр. Для анимации готового изображения задавай соотношение исходника ( set aspect ratio=1:1 ) или adaptive , если модель его поддерживает. Поле картинки называется по разному : image url , image urls , input urls , first frame url , image . image подставит правильное само; при ручном set сверься со schema . Дороже ≠ лучше для черновика : сначала прогони дешёвую/быструю версию модели ( fast , mini , 480p , короткая длительность), финальный рендер — после утверждения. [451] — API не смог скачать твой URL. Перезалей файл: velsvisual upload ФАЙЛ . Как выбрать модель под задачу Пользователь не назвал модель — не выбирай молча. Выполни velsvisual recommend <категория json : команда вернёт 3–4 самых популярных семейства категории, по каждому — последнюю (топовую) версию модели с ценой в кредитах и $ и тиром ( quality — максимальное качество, balanced — баланс, budget — дёшево, для объёмов). Покажи варианты пользователю с ценами и спроси, что важнее — качество или объём; запускай только после его выбора. Рекомендации не устаревают: семейства и версии берутся из живого реестра, цены — из живого прайса kie.ai, поэтому новая модель семейства попадает в выдачу автоматически. Если пользователь назвал задачу, но нужен ручной поиск: Выбирай самую свежую версию семейства (наибольший номер), если пользователь не просил иное. Стабильные выделенные API, которые живут вне market каталога и есть всегда: suno (музыка), veo3 / veo3 fast / veo3 lite (видео), flux kontext pro / flux kontext max (редактирование изображений), gpt4o image , runway gen3 . Типовые workflow (id моделей — примеры, проверяй через models search) Text to image Оживить готовую картинку (image to video) image кладётся в то поле, которое реально есть у модели ( first frame url , image urls , …). Явный двухшаговый вариант: velsvisual upload ./sky.jpg → подставить URL в set ПОЛЕ=... . Text to music (Suno) В ответе у каждого трека есть audioUrl (скачивать его) и streamAudioUrl . TTS (озвучка) Список доступных голосов — в velsvisual schema elevenlabs/text to speech turbo 2 5 (поле voice , enum с id голосов). Апскейл Проверка зависшей задачи Совсем новая модель (ещё не в каталоге) Если модель уже в каталоге, но появилась после последнего обновления кэша, run обновит реестр сам — api указывать не нужно.