Ситуация знакомая: ключ выдан, код по документации, локально всё работало — а с сервера приходят отказы. В подавляющем большинстве случаев дело не в коде, а в том, откуда уходят запросы. Разберём по пунктам.
Регион запросов важнее ключа
Ключ подтверждает, кто вы. Регион показывает, откуда вы. Если регион не обслуживается, ключ не поможет — отказ придёт до всякой обработки запроса.
Отдельная тонкость: если аккаунт зарегистрирован из одного региона, а запросы идут из другого, сервис видит противоречие. Держите единый регион для входа и для API.
Стриминг рвётся чаще обычных запросов
Потоковые ответы держат соединение открытым всё время генерации. Обрыв на середине означает потерянный ответ и списанные токены.
Чем больше промежуточных узлов на маршруте, тем выше вероятность такого обрыва. Прямое американское подключение здесь заметно ровнее европейского.
Практика
Держите одну локацию на весь рабочий сеанс — не переключайтесь между запросами.
Ставьте разумные таймауты и повторы на своей стороне: сеть между континентами не бывает идеальной, и один повтор дешевле упавшего процесса.
Логируйте код ответа отдельно от текста ошибки — это сразу отделит проблемы доступа от проблем формата запроса.
Все локации входят в тариф
Шесть стран — Россия, Нидерланды, Бельгия, Швеция, Эстония, США — доступны в любой действующей подписке без доплат. Обновите профиль в приложении, и новые серверы появятся в списке. Нет подписки? Пробный период оформляется на сайте за пару минут, без карты.
Отказы API почти всегда про регион и маршрут, а не про код. Американская локация решает первую часть, дисциплина в коде — вторую.