logo
RunComfy
  • ComfyUI
  • EntraîneurNouveau
  • Modèles
  • API
  • Tarification
discord logo
MODÈLES
Explorer
Tous les modèles
BIBLIOTHÈQUE
Générations
APIS DE MODÈLES
Documentation API
Clés API
COMPTE
Utilisation

FLUX 3 Keyframes to Video : image multi-images clés en vidéo sur les modèles et l'API | RunComfy

blackforestlabs/flux-3/keyframes-to-video

FLUX 3 Keyframes to Video crée un clip à partir d'un mouvement guidé entre des images fixes verrouillées sur des positions d'image exactes, avec un son natif en option sur 720p ou 1080p.

Table des matières

1. Démarrage2. Authentification3. Référence APISoumettre une requêteStatut de la requêteRécupérer les résultatsAnnuler une requête4. Fichiers en entréeFichier hébergé (URL)5. SchémaSchéma d'entréeSchéma de sortie

1. Démarrage

Utilisez l'API RunComfy pour exécuter blackforestlabs/flux-3/keyframes-to-video. Pour les entrées et sorties acceptées, voir le schéma.

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
      }
    ]
  }'

2. Authentification

Définissez la variable d'environnement YOUR_API_TOKEN avec votre clé API (gestion dans Profil) et incluez à chaque requête un jeton Bearer dans l'en-tête Authorization : Authorization: Bearer $YOUR_API_TOKEN.

3. Référence API

Soumettre une requête

Soumettez une tâche de génération asynchrone et recevez immédiatement un request_id ainsi que des URLs pour le statut, les résultats et l'annulation.

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
      }
    ]
  }'

Statut de la requête

Récupère l'état actuel pour un request_id (« in_queue », « in_progress », « completed » ou « cancelled »).

curl --request GET \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
  --header "Authorization: Bearer <token>"

Récupérer les résultats

Récupère les sorties finales et métadonnées pour le request_id ; si le travail n'est pas terminé, la réponse indique l'état actuel pour poursuivre le polling.

curl --request GET \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
  --header "Authorization: Bearer <token>"

Annuler une requête

Annule un travail en file d'attente via request_id ; les travaux en cours ne peuvent pas être annulés.

curl --request POST \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
  --header "Authorization: Bearer <token>"

4. Fichiers en entrée

Fichier hébergé (URL)

Fournissez une URL HTTPS accessible publiquement. L'hôte doit autoriser les récupérations côté serveur (sans login/cookies), sans limitation de débit ni blocage des bots. Recommandé : images ≤ 50 Mo (~4K), vidéos ≤ 100 Mo (~2–5 min en 720p). Préférez des URL stables ou pré-signées pour les actifs privés.

5. Schéma

Schéma d'entrée

{
  "type": "object",
  "title": "Schéma d'entrée",
  "required": [
    "prompt",
    "keyframes"
  ],
  "properties": {
    "prompt": {
      "title": "Prompt",
      "description": "Texte décrivant la vidéo que vous souhaitez générer.",
      "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": "Images clés",
      "description": "Images clés épinglées à des positions de frame dans la vidéo générée. Jusqu’à 10 keyframes avec des valeurs frame_index uniques (à partir de 0, au plus durée × 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 de l’image",
          "description": "URL de l’image clé (PNG, JPEG ou WebP).",
          "type": "string",
          "format": "image_uri",
          "default": ""
        },
        "frame_index": {
          "title": "Index de frame",
          "description": "Position de frame de cette image clé dans la vidéo 24 fps. Doit être unique et au plus durée × 24.",
          "type": "integer",
          "format": "int_slider_with_range",
          "minimum": 0,
          "maximum": 480,
          "default": 0
        }
      },
      "maxItems": 10,
      "minItems": 1
    },
    "aspect_ratio": {
      "title": "Format d’image",
      "description": "Format d’image de la vidéo générée. auto laisse le modèle choisir.",
      "type": "string",
      "enum": [
        "auto",
        "21:9",
        "2:1",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ],
      "default": "16:9"
    },
    "resolution": {
      "title": "Résolution",
      "description": "Résolution de la vidéo générée.",
      "type": "string",
      "enum": [
        "720p",
        "1080p"
      ],
      "default": "720p"
    },
    "duration": {
      "title": "Durée",
      "description": "Durée de la vidéo générée en secondes. Une durée explicite est requise pour valider les positions des keyframes.",
      "type": "integer",
      "enum": [
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20
      ],
      "default": 5
    },
    "generate_audio": {
      "title": "Générer l’audio",
      "description": "Indique s’il faut générer un audio synchronisé pour la vidéo.",
      "type": "boolean",
      "default": true
    },
    "safety_tolerance": {
      "title": "Tolérance de sécurité",
      "description": "Niveau de tolérance de sécurité de la vidéo générée. 0 est le plus strict, 4 le plus permissif.",
      "type": "integer",
      "minimum": 0,
      "maximum": 4,
      "default": 2
    }
  }
}

Schéma de sortie

{
  "output": {
    "type": "object",
    "properties": {
      "image": {
        "type": "string",
        "format": "uri",
        "description": "URL d'une seule image"
      },
      "video": {
        "type": "string",
        "format": "uri",
        "description": "URL d'une seule vidéo"
      },
      "images": {
        "type": "array",
        "description": "plusieurs URLs d'images",
        "items": {
          "type": "string",
          "format": "uri"
        }
      },
      "videos": {
        "type": "array",
        "description": "plusieurs URLs de vidéos",
        "items": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}
Suivez-nous
  • LinkedIn
  • Facebook
  • Instagram
  • Twitter
Support
  • Discord
  • Email
  • État du système
  • affilié
Modèles vidéo
  • Runway Aleph 2
  • Wan 2.5
  • Wan 2.6 Flash
  • MiniMax H3 Max
  • Wan 3.0 Reference To Video
  • Seedance 2.5 Reference to Video 480p
  • Voir tous les modèles →
Modèles d'images
  • Wan 2.6 Image to Image
  • Seedream 5.0 Pro
  • Flux 2 Klein 9B
  • Nano Banana Pro
  • Nano Banana 2 Edit
  • Z Image Turbo LoRA
  • Voir tous les modèles →
Légal
  • Conditions d'utilisation
  • Politique de confidentialité
  • Politique relative aux cookies
RunComfy
Droits d'auteur 2026 RunComfy. Tous droits réservés.

RunComfy est la première ComfyUI plateforme, offrant des ComfyUI en ligne environnement et services, ainsi que des workflows ComfyUI proposant des visuels époustouflants. RunComfy propose également AI Models, permettant aux artistes d'utiliser les derniers outils d'IA pour créer des œuvres d'art incroyables.