Действия с результатом
Увеличить, продлить, доработать готовый результат: поле actions задачи.
Что можно сделать
Готовый результат можно доработать: увеличить картинку из сетки Midjourney, продлить видео Veo, разделить песню Suno на дорожки, конвертировать 3D-модель Tripo и так далее. Что можно сделать с задачей прямо сейчас, перечислено в её поле actions: его отдаёт GET /v1/tasks/{id}, когда задача succeeded. В списке задач (GET /v1/tasks) этого поля нет, пустой список значит, что делать с задачей нечего.
Так выглядит сетка Midjourney в ответе GET /v1/tasks/{id} (часть полей и действий опущена):
{
"id": "TASK_ID",
"model_key": "midjourney",
"status": "succeeded",
"actions": [
{
"action": "upscale",
"title": "Увеличить картинку из сетки",
"artifact_index": 0,
"request": {
"model": "midjourney",
"settings": {
"version": "upscale",
"source_task_id": "TASK_ID",
"index": 0
}
},
"data": null
},
{
"action": "reroll",
"title": "Повторить сетку",
"artifact_index": null,
"request": {
"model": "midjourney",
"settings": {
"version": "reroll",
"source_task_id": "TASK_ID"
}
},
"data": null
}
]
}| Поле | Что в нём |
|---|---|
action | Режим модели, который делает это действие, например upscale. |
title | Название действия для человека, на языке запроса. |
artifact_index | index файла в result.artifacts, с которым работает действие. null: действие над всем результатом. |
request | Готовое тело для POST /v1/price и POST /v1/tasks: ключ модели и settings режима. |
data | Что нужно форме действия: области картинки Grok, слои разбора Seedream, части песни Eleven Music, название, длина и слова версии песни Suno. null, когда ничего не нужно. |
Запустить действие
Действие это режим той же модели, только работает он с прошлой задачей. В settings значение режима стоит в поле, которое переключает режимы модели (у Midjourney version, у Tripo task_type, у остальных mode), id готовой задачи в source_task_id, а index файла результата в index, если действие работает с одним файлом. В request такой запрос уже собран: отправьте его в POST /v1/price, чтобы узнать цену, и в POST /v1/tasks, чтобы запустить.
curl -X POST "https://api.cyhub.ai/v1/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042" \
--data '{
"model": "midjourney",
"settings": {
"version": "upscale",
"source_task_id": "TASK_ID",
"index": 0,
"upscale_type": "creative"
}
}'Поля, которые выбирает человек (описание продления, области правки, части песни), в request не входят: их добавляют по описанию режима на странице модели. Там же значения по умолчанию, которые можно поменять. Результат действия это новая задача со своим id, статусом и файлами, а исходная задача не меняется.
Цена действия зависит от исходной задачи (скорость сетки Midjourney, качество ролика Veo, длина песни) и берётся так же, как у любой задачи: резерв при приёме, списание после успеха. Бывает и нулевая цена, например у сборки картинки из слоёв Seedream. Точную цену покажет POST /v1/price.
Действие работает только с задачами своего кабинета и той же модели, и только пока файлы результата хранятся (7 дней). Одноразовые действия Suno (например, разделение песни на дорожки или WAV) делаются один раз: повтор бесплатно вернёт уже готовый файл.
Действия моделей
| Модель | Режимы | Что делают |
|---|---|---|
midjourney | upscale, vary, reroll, grid_edit | Увеличить картинку из сетки, вариации картинки, повторить сетку, правка картинки из сетки по маске. |
veo | extend | Продлить видео. |
flux3 | enhance | Черновик в полном качестве. |
seedance | upscale_draft | Пересобрать черновик в высоком качестве. |
suno | extend_track, replace_section, separate_vocals, midi, wav, cover_image, music_video, timestamped_lyrics | Продолжить песню, переписать фрагмент, разделить на дорожки, ноты MIDI, песня в WAV, обложка, видео для соцсетей, слова с таймкодами. |
grok_image2 | edit_area | Изменить выбранные области картинки по описанию. |
seedream | compose_layers | Собрать картинку из слоёв разбора в своём порядке. |
elevenlabs_music | edit | Правка песни по частям. |
tripo3d | convert_model, texture_model, animate | Конвертировать модель, новая текстура, анимация. |
Поля, пределы и пример запроса каждого действия на странице модели, в разделе режима.
Все нейросети и их APIОшибки
| HTTP | Код | Что делать |
|---|---|---|
404 | source_not_found | Задачи с таким id нет среди задач кабинета: возьмите id из GET /v1/tasks. |
409 | source_not_ready | Исходная задача ещё в работе: дождитесь succeeded. |
409 | action_in_progress | То же одноразовое действие с задачей уже идёт: дождитесь его результата. |
422 | source_wrong_model | Исходная задача сделана другой моделью: действие работает только с задачами своей модели. |
422 | source_failed | Исходная задача не удалась или отменена: работать не с чем. |
422 | action_unavailable | С этой задачей так сделать нельзя (файлы уже не хранятся, у результата нет такого действия): сверьтесь с полем actions. |
422 | invalid_settings | Неподходящий index или поле режима: подробности в message. |