Операции над готовым результатом
Как увеличить, перерисовать или оживить картинку Midjourney и продолжить, перепеть, сохранить в WAV или превратить в клип трек Suno, указав источник в поле source.
Укажите источник
Операция над готовым результатом — обычная задача 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.image | Midjourney. Номер картинки в сетке источника, считая с 1. У одиночной картинки поле не нужно |
source.track | Suno. Номер трека, он же номер файла в output источника. Если трек один, поле можно опустить |
Какие значения task требуют source и что в нём выбирать, лежит в поле source_by описания модели GET /v1/models/{id}. Цену операции даёт прайс сайта. Её можно узнать заранее запросом POST /v1/quote с тем же телом, как в статье Цена задачи.
Операции Midjourney
Все операции идут через модель midjourney и возвращают набор файлов в том же виде, что обычная задача.
| task | Что делает | source.image | Параметры | TOK |
|---|---|---|---|---|
upscale | Увеличивает картинку | Номер в сетке | upscale_type: subtle или creative | 30 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 или subtle | 30 000 |
nobg | Убирает фон | Номер в сетке | Нет | 20 000 |
retexture | Меняет текстуру и материал | Номер в сетке | prompt обязателен | 30 000 |
video | Оживляет картинку, получается четыре ролика | Номер в сетке | video_resolution: 480p или 720p | 125 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_parameter | source передан задаче, которой он не нужен |
400 unknown_parameter | В source есть поле, кроме task, image и track |
404 task_not_found | Источника нет среди задач ваших ключей |
400 invalid_source | Источник создала другая модель, не завершён, вышел срок, номер вне диапазона или операция не подходит к этому результату. Причину называет message |
Отказ на любом из этих шагов не списывает TOK. Общий список кодов лежит в статье Ошибки API.
Не нашли ответ?
Посмотрите частые вопросы или напишите в поддержку.