TheRouter v2.0: единая async-платформа для image, audio и video

TheRouter v2.0 вводит единую async-парадигму для генерации image, audio и video. Долгие upstream-вызовы уходят с request-потока в job-flow с артефактами в S3 и единым endpoint-ом polling-а /v1/jobs/:id.

TheRouter Newsroomисточник TheRouter
Анонс единой async-медиа-платформы TheRouter v2.0

TheRouter v2.0 выпускает единую async-парадигму для генерации медиа. Image-, audio- и video-модели, которые работают дольше, чем edge-таймауты CDN, теперь могут проходить через job-based flow — один согласованный интерфейс, три модальности, никаких изменений поведения для существующих sync-клиентов.

Что изменилось

Добавьте ?async=true к media-запросу — и TheRouter отвечает HTTP 202 плюс URL для polling-а:

curl -X POST https://api.therouter.ai/v1/images/generations?async=true \
  -H "Authorization: Bearer ***" \
  -d '{"model":"openai/gpt-image-2","prompt":"a sunset over Kyoto"}'

# 202 Accepted
# {
#   "id": "img_01J...",
#   "polling_url": "https://api.therouter.ai/v1/jobs/img_01J...",
#   "status": "queued",
#   "expires_at": "2026-05-15T12:00:00Z",
#   "model": "openai/gpt-image-2"
# }

Опрашивайте /v1/jobs/:id, пока не получите status: succeeded, затем читайте unsigned_urls[] для артефактов в S3. Тот же flow работает для /v1/videos, /v1/audio/speech и /v1/audio/transcriptions.

Почему это важно

Триггером стал реальный биллинговый инцидент: долгая генерация изображения упёрлась в 524-таймаут CloudFront, при этом продолжая расходовать upstream-кредит, и клиент оказался списан за результат, который так и не получил. Async-flow полностью отвязывает HTTP-соединение клиента от жизненного цикла upstream-а.

Три явные гарантии в новой биллинговой модели:

  1. Резерв на 202 — кредиты удерживаются, а не списываются, в момент приёма job-а.
  2. Settle по завершению upstream-а — фактическая стоимость фиксируется только тогда, когда провайдер возвращает успех.
  3. Refund только при сбое upstream-а — если провайдер падает, резерв освобождается. Дисконнекты клиента, сетевые сбои или закрытие браузера не приводят к незапланированным refund-ам, потому что upstream-вызов уже потребил реальную стоимость.

Контроль стоимости и хранилища

Артефакты автоматически истекают через 30 дней в S3. Лимиты хранилища на тенант (управляются tenants.tier) и кросс-модальные ограничения на concurrency предотвращают неконтролируемое потребление одним аккаунтом. Sync-интерфейс v1.x остаётся неизменным и продолжает обслуживать клиентов, которые не передают ?async=true.

Sora 2 и webhooks

POST /v1/videos снова включён. Sora 2 подключена за feature flag-ом, в ожидании верификации организации в OpenAI. Доставка через webhook для завершения job-а — следующий приоритет; пока статус доступен только через polling.

Попробовать

Абстрактная диаграмма: цепочка принятия роли IAM от Claude apps gateway к Bedrock-апстриму в отдельном аккаунте AWS, с уровнем принудительного применения guardrail

Claude Code 2.1.281: Bedrock-апстримы получили кросс-аккаунтный IAM и принудительный Guardrail

2.1.281 добавляет assume_role и guardrail в Bedrock-апстримы Claude apps gateway. assume_role обменивает IAM-учётные данные на per-developer STS-токены. guardrail применяет Bedrock guardrail к каждому запросу. Оба смещают границу доверия в мультиаккаунтных AWS-деплоях.

источник Anthropic
Абстрактная архитектурная диаграмма, показывающая трансформацию формы API-запросов при прохождении через шлюз, иллюстрирующая четыре ломающих изменения Claude Opus 5.5

Claude Opus 5.5: четыре ломающих изменения API и их влияние на маршрутизацию

Claude Opus 5.5: четыре ломающих изменения — thinking нельзя отключить, tool_choice типы any/tool возвращают 400, thinking-блоки не читаются не-Fable/Mythos моделями, computer_20251124 удалён. Конкретные исправления и влияние на резервную маршрутизацию.

источник Anthropic
Помощь и контакты