Знакомая ситуация: ключ выдан, код написан по документации, локально всё работало — а с сервера идут отказы. Почти всегда дело не в коде, а в том, откуда уходят запросы. Разберём по пунктам, включая то, что стоит поправить на своей стороне.
Ключ подтверждает, кто вы. Регион показывает, откуда вы. Если регион не обслуживается, отказ придёт до всякой обработки запроса — ключ не поможет.
Отдельная тонкость: если аккаунт зарегистрирован из одного региона, а запросы идут из другого, сервис видит противоречие. Держите единый регион для входа и для API.
Потоковые ответы держат соединение открытым всё время генерации, поэтому обрыв означает потерянный ответ и списанные токены.
Чем больше промежуточных узлов, тем выше вероятность обрыва. Прямое американское подключение здесь ровнее европейского.
Пробный день по email без карты. 6 локаций, умный маршрут, скорость до 1 Гбит/с.
•Ставьте разумные таймауты и повторы: сеть между континентами не бывает идеальной, один повтор дешевле упавшего процесса.
•Логируйте код ответа отдельно от текста ошибки — это сразу отделит проблемы доступа от проблем формата запроса.
•Не переключайте локацию между запросами одной задачи.
•Для длинных задач предусмотрите возможность продолжить с места обрыва, а не начинать заново.