Создавайте и тестируйте API генерации KusArt в одном месте
Изучите доступные интерфейсы B2B-задач, обязательные параметры, структуру ответов, примеры curl, списание средств, опрос статуса и доставку вебхуков.
Аутентификация
Все B2B-маршруты используют заголовок X-API-Key. Веб-токены Firebase для них не нужны.
Оплата
Старые ключи с billing_account_id используют отдельный кредитный счёт. Новые ключи пользователя резервируют средства из его общего баланса кредитов.
Структура ответа
Ответы для бизнеса используют code/message/data. При бизнес-ошибках HTTP-статус всё равно может быть 200.
Полный процесс вызова
Как связаны создание задачи, резервирование кредитов, опрос статуса, результаты и вебхуки.
Создание
Партнёр отправляет X-API-Key и параметры задачи на B2B-эндпоинт создания.
Аутентификация
Сервер проверяет API-ключ и определяет владельца, а при наличии — платёжный счёт.
Резервирование кредитов
Обработчик рассчитывает стоимость и резервирует кредиты с отдельного счёта или общего баланса пользователя.
Выполнение
Выбранный обработчик вызывает внутреннюю или внешнюю функцию генерации и сохраняет результат задачи.
Получение результата
Партнёр опрашивает /tasks/get или /tasks/get_result, пока задача не будет завершена или не завершится ошибкой.
Вебхук
Если webhook_url поддерживается и указан, сервер отправляет итоговые данные задачи методом POST и завершает расчёт кредитов.
X-API-Key: ak_xxx{
"code": 0,
"message": "Success",
"data": {
"task_id": "00000000-0000-0000-0000-000000000000",
"status": "PENDING",
"queue_position": 2,
"generation_params": {
"prompt": "anime engineer debugging an API dashboard",
"watermark": false
}
}
}{
"code": 0,
"message": "Success",
"data": {
"task_id": "00000000-0000-0000-0000-000000000000",
"task_type": "API_TEXT_TO_IMAGE_GPT_IMAGE_2",
"status": "COMPLETED",
"result": {
"images": [
{
"display_url": "https://cdn.kusa.pics/generated/example.png",
"width": 1024,
"height": 1024,
"index": 0
}
],
"image_count": 1
}
}
}{
"code": 0,
"data": {
"task_id": "00000000-0000-0000-0000-000000000000",
"status": "COMPLETED",
"result": {
"images": [
{
"display_url": "https://cdn.kusa.pics/generated/example.png",
"width": 1024,
"height": 1024,
"index": 0
}
]
}
}
}0Успешно
Запрос принят или данные успешно возвращены.
40000Недопустимые параметры
Некорректны тело JSON, параметры задачи, файлы или URL.
40100Нет авторизации
Контекст аутентификации отсутствует или недействителен.
42002Недостаточный баланс
У API-ключа или пользователя недостаточно доступных кредитов для резервирования стоимости задачи.

