6ioAPI

Модели 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 дней. Скачайте то, что нужно хранить дольше: мы не храним результаты у себя.

Деньги

  1. Цена задачи — цена 6io для вашего входа с наценкой группы. Она резервируется при отправке. Если доступных средств меньше, ответ 402 insufficient_funds.
  2. Готовая задача списывает ровно резерв.
  3. Если задача не выполнена (fail), резерв возвращается полностью.
  4. Если вход отклонён (422 invalid_input) или сервис временно недоступен (503 service_unavailable), задача не создаётся и деньги не тратятся.

Число одновременных задач ограничено. У картинок и видео свой лимит, отдельный от лимита чата. Подробности — в разделе Ошибки и лимиты.

Фильтры безопасности

Где модель это позволяет, собственные фильтры содержимого поставщика выключены, как на сайте 6io. Содержимое запроса и его последствия остаются на вашей ответственности (см. условия использования).