← Cloudflare AI Gateway / ai-gateway / tutorials
Использование Pruna P-video через AI Gateway
Этот туториал показывает, как вызвать P-video от Pruna ↗ модель на Replicate через AI Gateway.
Предварительные требования
- A Аккаунт Cloudflare ↗
- A Аккаунт Replicate ↗ с API-токеном
1. Получение API-токена Replicate
- Перейдите в replicate.com ↗ и зарегистрируйте аккаунт.
- После входа перейдите в replicate.com/settings/api-tokens ↗.
- Выберите Создать токен и присвойте ему имя.
- Скопируйте токен и сохраните его в надёжном месте.
2. Создание AI Gateway
- Войдите в Панель управления Cloudflare ↗ и выберите свой аккаунт.
- Перейдите в AI > AI Gateway.
- Выберите Create Gateway.
- Введите свой Название шлюза. Примечание: имя шлюза ограничено 64 символами.
- В Биллинг Workers AI, выберите, как будут оплачиваться запросы к Workers AI через этот шлюз:
- Стандартный биллинг списывает средства с вашего аккаунта Cloudflare в конце каждого платёжного цикла.
- Единый биллинг списывается с баланса предоплаченных кредитов AI Gateway в режиме реального времени.
- Выберите Создание.
Чтобы настроить AI Gateway через API:
-
Создание API-токена со следующими разрешениями:
AI Gateway - ReadAI Gateway - Edit
-
Получите ваш Account ID.
-
Используя этот API-токен и Account ID, отправьте
POSTзапрос в Cloudflare API.
Запишите свой Account ID и Название шлюза для использования на следующих шагах.
Чтобы добавить аутентификацию к своему шлюзу, см. Аутентифицированный Gateway.
3. Формирование URL шлюза
Замените стандартный базовый URL API Replicate на URL AI Gateway:
# Instead of:
https://api.replicate.com/v1
# Use:
https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/replicateНапример, если ваш account ID abc123 и ваш шлюз my-gateway:
https://gateway.ai.cloudflare.com/v1/abc123/my-gateway/replicate4. Генерация видео
Прогнозы P-video обычно завершаются в течение 30 секунд. Поскольку это укладывается в 60-секундный лимит синхронного выполнения Replicate, вы можете использовать Prefer: wait заголовок, чтобы отправить запрос и получить результат за один вызов:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/replicate/predictions \
--header "Authorization: Bearer {replicate_api_token}" \
--header "cf-aig-authorization: Bearer {cloudflare_api_token}" \
--header "Content-Type: application/json" \
--header "Prefer: wait" \
--data '{
"version": "prunaai/p-video",
"input": {
"prompt": "A cat walking through a field of flowers in slow motion",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"fps": 24
}
}'Authorization, ваш API-токен Replicate (используется для аутентификации в Replicate).cf-aig-authorization, ваш API-токен Cloudflare (для аутентифицированных шлюзов).Prefer: wait, блокирует выполнение до завершения предсказания вместо немедленного возврата результата.
Полный список доступных входных параметров см. в страница модели prunaai/p-video ↗ на Replicate.
После завершения предсказания ответ включает output поле с URL сгенерированного видеофайла.
5. (Необязательно) Асинхронный опрос для длительных запросов
Если ваш запрос может занять более 60 секунд (например, при большей длительности или более высоком разрешении), используйте вместо этого асинхронный режим (async mode). Отправьте запрос без Prefer: wait заголовок:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/replicate/predictions \
--header "Authorization: Bearer {replicate_api_token}" \
--header "cf-aig-authorization: Bearer {cloudflare_api_token}" \
--header "Content-Type: application/json" \
--data '{
"version": "prunaai/p-video",
"input": {
"prompt": "A cat walking through a field of flowers in slow motion",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"fps": 24
}
}'Ответ включает предсказание id:
{
"id": "xyz789...",
"status": "starting",
"urls": {
"get": "https://api.replicate.com/v1/predictions/xyz789...",
"cancel": "https://api.replicate.com/v1/predictions/xyz789.../cancel"
}
}Опрашивайте статус предсказания, пока он не завершится:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/replicate/predictions/{prediction_id} \
--header "Authorization: Bearer {replicate_api_token}" \
--header "cf-aig-authorization: Bearer {cloudflare_api_token}"Продолжайте опрашивать, пока status это succeeded (или failed). По завершении output поле содержит URL сгенерированного видеофайла.
Следующие шаги
Здесь вы можете:
- Используйте журналирование для мониторинга запросов и отладки проблем.
- Настройка ограничение частоты запросов для контроля использования.
- Используйте другие модели на Replicate или другие наши поддерживаемые провайдеры через AI Gateway.