Используйте API RunComfy для запуска blackforestlabs/flux-3/keyframes-to-video. Допустимые входы и выходы см. в схеме.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-3/keyframes-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "One continuous tracking shot: she starts on the wet coastal road facing the distant lighthouse, walks through the wooden gate as the mist thins, and arrives at the lighthouse base just as sunlight breaks through. Soft ocean spray, distant gulls, natural footsteps on wet asphalt.",
"keyframes": [
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-1.webp",
"frame_index": 0
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-2.webp",
"frame_index": 60
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-3.webp",
"frame_index": 120
}
]
}'Задайте для переменной окружения YOUR_API_TOKEN ваш API-ключ (управление в Профиль) и передавайте в каждом запросе Bearer-токен в заголовке Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Отправьте асинхронную задачу генерации и сразу получите request_id и URL для статуса, результатов и отмены.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-3/keyframes-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "One continuous tracking shot: she starts on the wet coastal road facing the distant lighthouse, walks through the wooden gate as the mist thins, and arrives at the lighthouse base just as sunlight breaks through. Soft ocean spray, distant gulls, natural footsteps on wet asphalt.",
"keyframes": [
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-1.webp",
"frame_index": 0
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-2.webp",
"frame_index": 60
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-3.webp",
"frame_index": 120
}
]
}'Текущее состояние по request_id: «in_queue», «in_progress», «completed» или «cancelled».
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Финальные выходные данные и метаданные для request_id; если задача не завершена, в ответе — текущее состояние для дальнейшего опроса.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Отмена задачи в очереди по request_id; выполняющиеся задачи отменить нельзя.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Укажите публично доступный HTTPS URL. Хост должен разрешать серверные запросы (без входа и cookie), без жёсткого лимита и блокировки ботов. Рекомендуется: изображения ≤ 50 МБ (~4K), видео ≤ 100 МБ (~2–5 мин при 720p). Для приватных ресурсов — стабильные или подписанные URL.
{
"type": "object",
"title": "Схема входа",
"required": [
"prompt",
"keyframes"
],
"properties": {
"prompt": {
"title": "Промпт",
"description": "Текстовый промпт, описывающий нужное видео.",
"type": "string",
"default": "One continuous tracking shot: she starts on the wet coastal road facing the distant lighthouse, walks through the wooden gate as the mist thins, and arrives at the lighthouse base just as sunlight breaks through. Soft ocean spray, distant gulls, natural footsteps on wet asphalt."
},
"keyframes": {
"title": "Ключевые кадры",
"description": "Ключевые кадры, закреплённые на позициях фрейма в сгенерированном видео. До 10 keyframes с уникальными frame_index (с 0, не больше duration × 24 при 24 fps).",
"type": "array",
"default": [
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-1.webp",
"frame_index": 0
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-2.webp",
"frame_index": 60
},
{
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7399/media-files/ref-promo-3.webp",
"frame_index": 120
}
],
"items": {
"image_url": {
"title": "URL изображения",
"description": "URL изображения ключевого кадра (PNG, JPEG или WebP).",
"type": "string",
"format": "image_uri",
"default": ""
},
"frame_index": {
"title": "Индекс кадра",
"description": "Позиция этого ключевого кадра в видео 24 fps. Должна быть уникальной и не больше duration × 24.",
"type": "integer",
"format": "int_slider_with_range",
"minimum": 0,
"maximum": 480,
"default": 0
}
},
"maxItems": 10,
"minItems": 1
},
"aspect_ratio": {
"title": "Соотношение сторон",
"description": "Соотношение сторон сгенерированного видео. auto — выбор модели.",
"type": "string",
"enum": [
"auto",
"21:9",
"2:1",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
],
"default": "16:9"
},
"resolution": {
"title": "Разрешение",
"description": "Разрешение сгенерированного видео.",
"type": "string",
"enum": [
"720p",
"1080p"
],
"default": "720p"
},
"duration": {
"title": "Длительность",
"description": "Длительность сгенерированного видео в секундах. Явная длительность нужна, чтобы проверить позиции ключевых кадров.",
"type": "integer",
"enum": [
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
],
"default": 5
},
"generate_audio": {
"title": "Генерировать аудио",
"description": "Генерировать ли синхронизированное аудио для видео.",
"type": "boolean",
"default": true
},
"safety_tolerance": {
"title": "Допуск безопасности",
"description": "Уровень допуска безопасности сгенерированного видео. 0 — самый строгий, 4 — самый мягкий.",
"type": "integer",
"minimum": 0,
"maximum": 4,
"default": 2
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL одного изображения"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL одного видео"
},
"images": {
"type": "array",
"description": "несколько URL изображений",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "несколько URL видео",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy - ведущая ComfyUI платформа, предлагающая ComfyUI онлайн среду и услуги, а также рабочие процессы ComfyUI с потрясающей визуализацией. RunComfy также предоставляет AI Models, позволяя художникам использовать новейшие инструменты AI для создания невероятного искусства.