PopNowДокументация API
Помощь
Основное содержимое

Решение проблем

Как исправить самые частые проблемы — от 401 при первом вызове до вебхука, который так и не пришёл.

Найдите симптом и попробуйте решение. Если ничего не помогло, напишите в поддержку и приложите request_id.

Первый вызов не проходит

401 «Missing credentials». Заголовок Authorization не дошёл. Проверьте, что переменная окружения задана в той оболочке или процессе, который отправляет запрос (echo ${POPNOW_API_KEY:0:10} должно вывести sk-popnow-), и что прокси или HTTP-библиотека не отбрасывают заголовок.

401 «Key format is not recognized». Это значение не ключ PopNow — часто из буфера обмена вставилось что-то другое. Ключи начинаются с sk-popnow-.

401 «Credentials are invalid or expired». Ключ отозван, истёк или введён с ошибкой. Создайте новый в API-консоли.

40310. Адрес почты аккаунта не подтверждён. Откройте ссылку из письма о регистрации — ключ заработает сразу после этого.

40201 «Insufficient balance». На аккаунте не хватает кредитов на резерв для этой задачи. Резервы для видео бывают крупными; проверьте цену через jobs/quote и купите кредиты.

Запрос отклонён

400 с названием поля. input не соответствует схеме модели: опечатка в имени поля, значение вне допустимого списка или нет обязательного поля. Откройте справочную страницу модели в разделе Модели и сравните.

400 «Invalid callback URL». callBackUrl должен быть публичным HTTPS на порту 443, без имени пользователя и пароля. localhost и приватные адреса отклоняются.

40004. Модель работает, но сейчас не поддерживает такое сочетание настроек. Измените настройку, названную в msg (обычно разрешение, длительность или соотношение сторон).

50301. Модель временно не принимает задачи. Попробуйте позже или выберите другую модель.

413. JSON-тело больше 2 МиБ — обычно из-за встроенных изображений. Загрузите их вместо этого.

Задача падает

invalid_asset. Референсный файл не удалось скачать или прочитать. Откройте URL в приватном окне браузера: он должен скачивать сам файл без входа. Страницы «поделиться» облачных дисков не подходят.

content_rejected. Модель отклонила промпт или референсное изображение. Переформулируйте, смените референсы или попробуйте другую модель.

timeout или expired. Работа заняла больше допустимого. Попробуйте меньшую длительность или разрешение.

generation_failed. Модель отработала, но ничего не выдала. Тот же вход часто снова падает; измените промпт или настройки.

Упавшие и просроченные задачи не расходуют кредиты.

Результат

Ссылка на скачивание отдаёт 403 или «expired». Подписанные ссылки действуют около 20 минут. Прочитайте задачу снова через recordInfo, чтобы получить новую.

Ссылка не работает, когда я передаю API-ключ. Не отправляйте Authorization на подписанную ссылку — сама ссылка и есть разрешение.

recordInfo возвращает 404 для задачи, которую я создал. Задачи видны только ключу, который их создал. Используйте тот же ключ или найдите задачу в API-консоли.

Вебхуки

Ничего не приходит. Проверьте, что URL доступен из интернета по HTTPS, файрвол его пропускает, а обработчик отвечает 2xx в течение 15 секунд. Неудачные доставки видны в API-консоли.

Подпись не совпадает. Хешируйте сырые байты тела, а не заново сериализованный JSON; используйте data.taskId, заголовок X-Webhook-Timestamp и последний созданный секрет.

Одна и та же задача приходит дважды. После повтора так и должно быть. Отсекайте дубликаты по request_id.

Загрузки

PUT получает 403 от хранилища. Какой-то заголовок отличается от тикета. Отправьте Content-Type и Content-Length в точности как указано и без заголовка Authorization.

Подтверждение возвращает 40003. Загруженный файл не совпадает с заявленным. Получите новый тикет с правильными contentType и bytes.

Подтверждение возвращает 409. Тикет истёк (примерно через 20 минут). Получайте его прямо перед загрузкой.

На этой странице