Операции над готовым результатом

Как увеличить, перерисовать или оживить картинку Midjourney и продолжить, перепеть, сохранить в WAV или превратить в клип трек Suno, указав источник в поле source.

Обновлено: 4 мин чтения

Укажите источник

Операция над готовым результатом — обычная задача POST /v1/tasks с параметром task и полем source. В source лежит номер завершённой задачи и выбор результата в ней. Источник создаёт та же модель, которая выполняет операцию. Картинки midjourney обрабатывает midjourney, треки suno обрабатывает suno.

curl https://epicai.ru/v1/tasks \
  -H "Authorization: Bearer sk-epic-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "midjourney",
    "parameters": {"task": "upscale", "upscale_type": "subtle"},
    "source": {"task": "task_595ef35bd62fd815d180b829", "image": 2}
  }'
ПолеЗначение
source.taskНомер задачи вида task_…. Задача создана вашими ключами и завершена успешно
source.imageMidjourney. Номер картинки в сетке источника, считая с 1. У одиночной картинки поле не нужно
source.trackSuno. Номер трека, он же номер файла в output источника. Если трек один, поле можно опустить

Какие значения task требуют source и что в нём выбирать, лежит в поле source_by описания модели GET /v1/models/{id}. Цену операции даёт прайс сайта. Её можно узнать заранее запросом POST /v1/quote с тем же телом, как в статье Цена задачи.

Операции Midjourney

Все операции идут через модель midjourney и возвращают набор файлов в том же виде, что обычная задача.

taskЧто делаетsource.imageПараметрыTOK
upscaleУвеличивает картинкуНомер в сеткеupscale_type: subtle или creative30 000
variationЧетыре вариацииНомер в сеткеvariation_strength: low или high, prompt по желанию30 000
rerollПересоздаёт сетку целикомНе указываютНет20 000
enhanceУлучшает картинку черновикаНомер в сетке черновикаНет20 000
outpaintОтдаляет кадрНомер в сеткеoutpaint_scale: 1.5 или 2, prompt по желанию20 000
panРасширяет кадр в сторонуНомер в сеткеpan_direction: left, right, up или down, prompt по желанию20 000
remixПерерисовывает по новому описаниюНомер в сеткеprompt обязателен, remix_strength: strong или subtle30 000
nobgУбирает фонНомер в сеткеНет20 000
retextureМеняет текстуру и материалНомер в сеткеprompt обязателен30 000
videoОживляет картинку, получается четыре роликаНомер в сеткеvideo_resolution: 480p или 720p125 000 или 400 000
video_extendПродолжает роликНомер роликаprompt обязателен, video_resolution как у исходного видео125 000 или 400 000
video_upscaleУлучшает роликНомер роликаНет125 000

Для video_extend и video_upscale источником служит задача video, video_extend или video_upscale, а image выбирает ролик. Остальные операции работают с картинками.

Операции Midjourney ограничены правилами нейросети.

  • Результат доступен для операций 72 часа после создания задачи, потом приходит 400 invalid_source.
  • Увеличенную картинку нельзя увеличивать, расширять и перерисовывать, это делают с картинкой сетки.
  • На версии v8 не работают outpaint и pan.
  • Операция enhance принимает только сетку черновика, созданную с draft: true. У черновика v8 в сетке 24 картинки, поэтому image может быть до 24.
  • Перед запуском epicai сверяет операцию с действиями, которые Midjourney разрешил для этой картинки.

Отдельная модель midjourney-video создаёт четыре ролика из одной новой картинки без source, подробности в статье Видео в API.

Операции Suno

Источником служит задача с песней: generate, extend, кавер, вокал, аранжировка или мэшап. Номер трека берётся из source.track.

taskЧто делаетЧто передатьTOK
extendПродолжает трекcontinue_at задаёт секунду начала, без него берётся конец трека. prompt, style, title, negative_tags по желанию16 000
replace_sectionЗаменяет участок трекаsection_start и section_end в секундах, участок длится от 10 до 480 секунд и не выходит за конец трека. full_lyrics обязателен. prompt описывает, что должно звучать7 000
wavСохраняет трек в WAVНет600
timestamped_lyricsТекст песни по времениНет700
videoКлип к трекуvideo_author по желанию3 000

Тексты песен API не хранит, поэтому в replace_section полный текст с новым куском передаёт клиент. Результат extend и replace_section оформлен как у generate. Результат wav — файл wav, результат video — файл mp4, а timestamped_lyrics даёт файл json с массивом words, где у слова есть начало и конец в секундах.

{
  "model": "suno",
  "parameters": {"task": "wav"},
  "source": {"task": "task_8eea7e79b44773a9675c6db7", "track": 2}
}

Разберите отказы

ОтветПричина
400 missing_required_parameterУ операции нет source
400 unsupported_parametersource передан задаче, которой он не нужен
400 unknown_parameterВ source есть поле, кроме task, image и track
404 task_not_foundИсточника нет среди задач ваших ключей
400 invalid_sourceИсточник создала другая модель, не завершён, вышел срок, номер вне диапазона или операция не подходит к этому результату. Причину называет message

Отказ на любом из этих шагов не списывает TOK. Общий список кодов лежит в статье Ошибки API.

Не нашли ответ?

Посмотрите частые вопросы или напишите в поддержку.

Войти или создать аккаунт

20 000 токенов в подарок новым пользователям. Без карты и без VPN.

или через сервис

Продолжая, вы получаете сервисные письма.

Для защиты от роботов используется Yandex SmartCaptcha. Условия обработки данных.