Перейти к содержанию

Тестовые эффекты (тестовый режим генерации)

Набор служебных эффектов, которые проигрывают весь поток генерации (POST /v1/generations → poll/SSE → result_url) без реального ИИ-провайдера и без траты токенов. Удобно для интеграции и QA клиента: проверить happy-path, ошибку с возвратом кредитов, долгую генерацию (таймауты/реконнект SSE) — детерминированно и бесплатно.

С точки зрения API они ничем не отличаются от обычных эффектов: те же эндпоинты, те же конверты ошибок, тот же SSE-стрим и жизненный цикл. Отличие лишь внутри: результат — заранее закешированный ассет, а сценарий зашит в эффект.

Где доступны

Тестовые эффекты заведены на dev и стенде, но не на проде — там их нет. Не закладывайся на них в продакшен-сборке клиента.

Как вызвать

Они скрыты из публичного каталога (GET /v1/effects их не вернёт), но доступны по прямому слагу/id. Слаги стабильны, id — свои в каждом окружении, поэтому id берём из каталога, а не хардкодим:

# 1. Резолвим эффект по слагу → получаем его id (и output_type)
curl "$BASE_URL/v1/effects/test-image-ok" -H "Authorization: Bearer $TOKEN"

# 2. Дальше обычный поток: загрузка фото → создание генерации по id из шага 1
curl -X POST "$BASE_URL/v1/generations" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"effect_id":"<ID из шага 1>","characters":[["<UPLOAD_ID>"]]}'

Фото нужно как любому эффекту (один персонаж с одним фото): сами байты mock игнорирует, но загрузка должна быть реально завершена, иначе 422 validation_error.

Набор

Слаг output_type cost Что проигрывает
test-image-ok image 0 Успех с реалистичной задержкой (~3 c) → succeeded, result_url на закешированную картинку
test-video-ok video 0 Успех (~8 c), output_type = video, результат .mp4
test-image-fail image >0 Доходит до processing и уходит в failed с error_code; зарезервированные кредиты возвращаются (запись refund в истории)
test-slow image 0 Долгая генерация (~60 c) — для проверки таймаутов и переподключения SSE
test-instant image 0 Готова почти мгновенно