PlusVibe AIPlusVibeAI

Ошибки и лимиты

Ошибки возвращаются стандартными HTTP-кодами с JSON-телом { "error": "…" }.

Коды ответов

ПараметрТипОписание
401UnauthorizedКлюч отсутствует, имеет неверный формат или недействителен. Проверьте sk-pv-… и заголовок.
402Payment RequiredНедостаточно средств на балансе. Пополните баланс в личном кабинете.
403ForbiddenIP не в белом списке ключа. Добавьте адрес или отключите ограничение.
429Too Many RequestsПревышен лимит частоты. Повторите с задержкой (см. ниже).
4xx / 5xxпрочиеОшибки запроса или временные сбои. Тело очищено от служебной информации.

Повтор запросов (retry)

При 429 уважайте заголовок Retry-After, если он есть; иначе используйте экспоненциальную задержку (1с, 2с, 4с…). Коды 401/402/403 повторять бессмысленно — сначала устраните причину (ключ, баланс, IP).

import time, requests

def call_with_retry(url, headers, payload, max_retries=5):
    for attempt in range(max_retries):
        r = requests.post(url, headers=headers, json=payload)
        if r.status_code == 429:
            # уважаем Retry-After, иначе экспоненциальная задержка
            wait = int(r.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
            continue
        return r
    return r