Модели Sixio
Группа sixio открывает модели изображений и видео 6io: Seedance, Kling, Grok Imagine, WAN, LTX-2, HappyHorse, MiniMax, PixVerse, Nano Banana, GPT Image, Flux, Qwen Image, Seedream и другие. Это те же генерации, что на сайте 6io: те же проверки параметров и та же цена.
Название модели — sixio/<имя>, например sixio/flux-3/klein-text-to-image. Генерация идёт задачами: вы отправляете задачу, опрашиваете статус и забираете результат. Адреса начинаются с https://api.6io.io/native/sixio, авторизация та же: Authorization: Bearer sixio_sk_....
Каждая модель описана отдельно: поля input, значения, которые задаёт сама модель, файлы, пример и от чего зависит цена. Эти страницы на английском, для ИИ-агентов; список — https://api.6io.io/md/en/sixio-models.md. Живой каталог с ценами — GET /native/sixio/models.
Пример целиком
import time
import requests
API = "https://api.6io.io/native/sixio"
H = {"Authorization": "Bearer sixio_sk_..."}
# 1. отправить задачу
task = requests.post(f"{API}/tasks", headers=H, json={
"model": "sixio/flux-3/klein-text-to-image",
"input": {"prompt": "a red circle on a white background", "aspectRatio": "1:1", "resolution": "1K"},
}).json()
# 2. ждать конца
while True:
state = requests.get(task["status_url"], headers=H).json()
if state["status"] in ("succeeded", "failed"):
break
time.sleep(3)
# 3. забрать файлы
if state["status"] == "succeeded":
print(state["result"]["urls"])
else:
print(state["error"]["message"])Если вход не подходит (422 invalid_input с причиной) или не хватает денег (402 insufficient_funds), задача не создаётся: вместо status_url придёт ошибка, ничего не списано. Коды ошибок — в разделе Ошибки и лимиты.
Каталог
curl "https://api.6io.io/native/sixio/models" -H "Authorization: Bearer sixio_sk_..."Для каждой модели в ответе есть:
id— название для запроса (sixio/...) иkind—imageилиvideo;example_input— пример поляinput, где он есть;price— цена модели заранее, в кредитах:unit— за что назначена цена (per image,per second,per video),fromиto— наименьшая и наибольшая цена в этой единице,options— цена по вариантам (разрешение, длительность, звук).
price справочная. Списывается цена 6io именно для вашего входа (длительность, разрешение, звук, число картинок) с наценкой группы. Поля входа каждой модели, их типы и пример вызова видны в консоли: откройте модель на вкладке «Модели».
Поля input
input — параметры генерации в том виде, в каком их принимает 6io для этой модели. Названия полей пишутся в стиле camelCase: aspectRatio, imageUrls, referenceImageUrls, audio и так далее. Файлы передаются публичными ссылками http(s).
- Часть полей задаёт сама модель, и переопределить их нельзя. Например, у
sixio/bytedance/seedance-2-fastтарифqualityвсегдаfast, уsixio/nano-banana-proполеmodel— эта модель. - Чтобы отредактировать картинку Flux 3 Klein или Qwen Image 2.1, отправьте ту же модель (
sixio/flux-3/klein-text-to-image,sixio/qwen2-1/text-to-image) с исходными картинками вsourceImageUrls. - Продление и улучшение ролика (
sixio/grok-imagine/extend,sixio/grok-imagine/upscale,sixio/pixverse-v6/extend) берут исходник полемoriginalVideoId. В нём передаётсяidвашей прежней готовой задачи sixio, строка видаreq_…(число не подойдёт). Чужой или неверный номер отвечает422 invalid_input. - Длину видео и аудио для цены меряет сервер. Поля, где клиент мог бы назвать её сам, не принимаются:
inputVideoSecondsу Seedance и MiniMax H3 иdurationHintу Kling Avatar дают400 unsupported_parameter. У Kling Motion полеvideoDurationобязательно, укажите любое число от 3 до 30: оно не учитывается.
Неверные значения отклоняются сразу ответом 422 invalid_input с причиной. Деньги при этом не резервируются.
Файлы по ссылкам
Картинки, аудио и видео передаются публичными ссылками http(s). Там, где цену задаёт сам файл (длина видео или аудио), мы не доверяем ссылке: скачиваем файл, проверяем и дальше работаем с копией. Это поля:
referenceVideoUrlsу Seedance 2, Seedance 2.5 и MiniMax H3;videoUrlуsixio/happyhorse/video-edit;imageUrlиvideoUrlуsixio/kling-2.6/motion-control;imageUrlиaudioUrlуsixio/kling/ai-avatar-standardиsixio/kling/ai-avatar-pro.
Пример для Kling Motion:
{
"model": "sixio/kling-2.6/motion-control",
"input": {
"prompt": "The character dances",
"imageUrl": "https://example.com/character.png",
"videoUrl": "https://example.com/motion.mp4",
"orientation": "video",
"mode": "720p",
"videoDuration": 5
}
}Правила:
- Ссылка должна вести на публичный адрес и отдавать файл ответом 200 без входа. Подходит ваш сервер, облачное хранилище или ссылка из результата прежней задачи sixio. Адреса в закрытых сетях не принимаются.
- Размер: картинка до 10 МБ, видео до 100 МБ, аудио до 50 МБ. Видео — MP4, MOV или WebM, картинка — JPG, PNG или WebP. Если в ссылке нет расширения, формат берётся из содержимого или заголовка
Content-Type. - Ссылок в поле не больше, чем принимает модель: видео-референсов у Seedance 2 и MiniMax H3 до 3, у Seedance 2.5 до 10. У MiniMax H3 их общая длина до 15 секунд, длиннее —
422 invalid_input. - Ссылка на файл, который уже лежит на сервере 6io (например, загруженный на сайте), передаётся как есть, без копии. Принимается только файл вашего аккаунта.
- Копия лежит у нас не дольше 15 минут и удаляется сразу, как задача закончилась (готово или ошибка). Ссылку на копию вы не получаете. При повторе отправьте исходную ссылку.
- Файл скачивается до резерва денег. Если ссылка не открылась, файл не подошёл или слишком большой, ответ
422 invalid_inputназывает поле и причину, деньги не резервируются. - Одновременно у аккаунта может быть ограниченное число копий (по умолчанию 12 файлов и 300 МБ). Сверх этого ответ
429 rate_limit_exceeded: повторите, когда идущие задачи закончатся.
Отправка задачи
curl -X POST "https://api.6io.io/native/sixio/tasks" \
-H "Authorization: Bearer sixio_sk_..." \
-H "Content-Type: application/json" \
-d '{"model": "sixio/flux-3/klein-text-to-image", "input": {"prompt": "a red circle on a white background", "aspectRatio": "1:1", "resolution": "1K"}}'В теле допустимы три поля: model, input и необязательный webhook_url — адрес, на который мы сообщим о конце задачи, чтобы вы не опрашивали статус (вебхуки). Остальные поля не принимаются. Ответ:
{
"id": "req_8fK2xQ1mZpVwT9sJdL4nAg",
"object": "task",
"model": "sixio/flux-3/klein-text-to-image",
"status": "queued",
"status_url": "https://api.6io.io/native/sixio/tasks/req_8fK2xQ1mZpVwT9sJdL4nAg"
}id наш, задача принадлежит вашему аккаунту, чужую открыть нельзя. Заголовок Idempotency-Key работает так же, как в чате: повтор с тем же ключом не создаёт вторую задачу (см. Повторы и сбои).
Статус и результат
GET status_url показывает состояние задачи в момент запроса. Поле status:
status |
Что значит |
|---|---|
queued |
задача принята и ждёт начала |
running |
задача идёт |
succeeded |
готово, в result.urls лежат ссылки на файлы (если картинок несколько, то все) |
failed |
задача не выполнена, причина в error.message |
unknown |
состояние прочитать не удалось, деньги проверяются: спросите позже |
В ответе также created_at, finished_at и billing (состояние денег и списанная сумма в кредитах).
Ссылки на файлы ведут на наш сервер и действуют ограниченное время, по умолчанию 14 дней. Скачайте то, что нужно хранить дольше: мы не храним результаты у себя.
Деньги
- Цена задачи — цена 6io для вашего входа с наценкой группы. Она резервируется при отправке. Если доступных средств меньше, ответ
402 insufficient_funds. - Готовая задача списывает ровно резерв.
- Если задача не выполнена (
fail), резерв возвращается полностью. - Если вход отклонён (
422 invalid_input) или сервис временно недоступен (503 service_unavailable), задача не создаётся и деньги не тратятся.
Число одновременных задач ограничено. У картинок и видео свой лимит, отдельный от лимита чата. Подробности — в разделе Ошибки и лимиты.
Фильтры безопасности
Где модель это позволяет, собственные фильтры содержимого поставщика выключены, как на сайте 6io. Содержимое запроса и его последствия остаются на вашей ответственности (см. условия использования).