Flux 3 Keyframes To Video Draft
Intégrer
blackforestlabs/flux-3/keyframes-to-video/draft
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0,
},
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/blackforestlabs/flux-3/keyframes-to-video/draft", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/fr/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "blackforestlabs/flux-3/keyframes-to-video/draft",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}
}
Appelez le modèle Flux 3 Keyframes To Video Draft (blackforestlabs/flux-3/keyframes-to-video/draft) via la Doitong API. Documentation pour les agents : https://doitong.com/fr/developers/models/blackforestlabs/flux-3/keyframes-to-video/draft.md
POST https://api.doitong.com/v1/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}
Si le statut de la réponse est "queued" ou "running", interrogez GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 jusqu’à ce qu’il soit "succeeded" ; les fichiers se trouvent dans outputs[].url. POST https://api.doitong.com/v1/quote/blackforestlabs/flux-3/keyframes-to-video/draft avec le même corps renvoie le prix exact avant l’exécution.
Cette requête: 0,30 $ 300 crédits API L’exécuter sur cette page
Votre nouvelle clé API. Elle n’est affichée que maintenant et figure déjà dans le code et dans le champ de clé API ci-dessous. Gardez-la secrète : ne l’intégrez jamais dans du code exécuté dans un navigateur.
Créé sur Doitong
Créations publiques réalisées avec Flux 3 par la communauté Doitong. Réutilisez un prompt en un clic.
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi wajahnya. Ia memeluk...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam, celana riding fit, dan sepatu motor. Ia sedang melakukan aksi freestyle ekstrem dengan motor sport 500cc...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam dan celana riding fit. Ia sedang bersiap melakukan freestyle menggunakan motor sport 500cc berwarna merah,...
Créer une requête
Les contrôles sont générés à partir du schéma du modèle. Le code et le prix se mettent à jour lorsque vous les modifiez.
/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20
devis → 0,30 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/blackforestlabs/flux-3/keyframes-to-video/draft?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0,
},
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/blackforestlabs/flux-3/keyframes-to-video/draft", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "blackforestlabs/flux-3/keyframes-to-video/draft",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
},
"wait_seconds": 20
}
}
}
Exécuter cette requête
Votre clé reste dans ce navigateur : elle est envoyée uniquement à la Doitong API et enregistrée dans localStorage uniquement si vous cochez Mémoriser. Obtenir une clé API
À propos de Flux 3 Keyframes To Video Draft
Fournissez un `prompt` et 1 à 10 `keyframes`, chacun avec un `frame_index` unique. Une `duration` explicite de 5 à 20 secondes est nécessaire pour valider les positions des images clés. `aspect_ratio` peut être auto ou aller de 21:9 à 9:16, et `generate_audio` active ou désactive le son. La sortie inclut un `draft_cache` pour un rendu en qualité maximale.
Paramètres
promptrequis
aspect_ratiofacultatif
durationfacultatif
generate_audiofacultatif
safety_tolerancefacultatif
keyframesrequis
keyframes[].image_urlrequis
keyframes[].frame_indexrequis
Sortie
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "blackforestlabs/flux-3/keyframes-to-video/draft",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 300,
"usd": "0.30",
"charged": 300,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"keyframes": [
{
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"frame_index": 0
}
]
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
},
"draft_cache": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Champs de sortie
- video
- object {url, content_type, file_name, file_size}Vidéo produite comme brouillon.
- draft_cache
- object {url, content_type, file_name, file_size} | nullDonnées de cache pour effectuer le rendu d’un brouillon en qualité maximale via `draft-enhance`, stockées dans un ensemble durable et chiffré. Cette sortie est absente si le partenaire n’a renvoyé aucun ensemble pour le brouillon.
Autres variantes Flux 3
Plus de modèles : Image vers vidéo
Pour les agents IA : cette page au format Markdown est disponible à https://doitong.com/fr/developers/models/blackforestlabs/flux-3/keyframes-to-video/draft.md. Tous les modèles et guides : https://doitong.com/developers/llms.txt