spicyapiДокументация
Основное содержимое

Быстрый старт

От ключа API до асинхронных задач, webhook и загрузки результата.

SpicyAPI предоставляет асинхронные задачи для изображений и видео, а также генерацию текста через /v1/chat/completions с полным ответом или потоковой передачей. Первый результат можно получить за три шага.

API
GET /api/v1/models?includeSchema=1&includeExamples=1
# choose an item where enabled && available

curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: render-001" \
  -d '{
    "model": "MODEL_ID_FROM_CATALOG",
    "input": { "prompt": "a folded paper lantern, hard side light" }
  }'

Отправка и ожидание через SDK

client.run(payload, options) объединяет отправку задачи и ожидание результата в один вызов функции. Внутри по-прежнему выполняется несколько HTTP-запросов. Интервал опроса по умолчанию растёт примерно с 2 до 10 секунд. В рабочей среде отдавайте предпочтение webhook и используйте готовые output.assets[].url напрямую.

1. Создайте ключ API

Создайте ключ в консоли и храните его на сервере в переменной SPICY_API_KEY. Не встраивайте ключ в браузер, мобильное приложение или открытый репозиторий.

2. Создайте задачу

Передайте model и input в POST /api/v1/jobs/createTask. Полученный data.taskId используется для проверки состояния, повтора и загрузки результата. Принятую задачу отменить нельзя.

3. Получите результат

В продакшене используйте webhook как основной канал, а GET /api/v1/jobs/recordInfo — как резервный опрос. Генерация успешна, только если data.state равно succeeded.

Скачивайте готовый файл напрямую по output.assets[].url, без API-ключа. Срок expiresAt обычно составляет 20 минут и не выходит за пределы 14 дней хранения. Повторный опрос обновит ссылку; download-url необязателен.

Полные определения полей приведены в контракте OpenAPI 3.1.

Связанные разделы