GPT Image 2.5 is LIVE — Flare & Sunburst | Try in Image Generator →

black-forest-labs/

FLUX 3 Video Edit applies prompt-guided changes to existing videos while preserving motion, timing, and framing, supporting precise video modification, visual style updates, scene refinements, creative edits, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

video-to-video
Input
Enable Safety Checker

Idle

$0.03per run·~33 / $1

Next:

ExamplesView all

Transform the video into a surreal Art Nouveau fantasy while preserving the woman’s exact identity, face, hairstyle, walking motion, timing, pose, and original camera movement. Replace the modern art gallery with an ornate glass conservatory filled with giant curved flowers, elegant golden vine structures, stained-glass panels, and soft botanical mist. Change her black blazer and trousers into a sophisticated emerald-green Art Nouveau dress with flowing layered fabric and delicate gold embroidery. Transform the red umbrella into a large translucent crimson flower shaped like an umbrella, with visible petal texture and a slender golden stem. Keep her original actions unchanged: walking, stopping, looking forward, opening the object, and resting it over her shoulder. Elegant emerald, crimson, and gold palette, cinematic botanical fantasy, refined materials, soft volumetric light, realistic fabric movement, highly detailed, sophisticated rather than cartoonish.

Related Models

README

FLUX 3 Video Edit

FLUX 3 Video Edit makes targeted changes to an existing video using natural-language instructions. Change an object's appearance, adjust the environment, or restyle a scene while preserving the source motion, timing, and framing.

Why Choose This?

  • Prompt-guided video editing
    Edit an existing video by describing the changes you want in natural language.

  • Motion and timing preservation
    Keep the source video's motion, pacing, camera movement, and framing while applying visual changes.

  • Targeted visual changes
    Modify objects, environments, style, lighting, or scene details without generating a new clip from scratch.

  • Simple 720p workflow
    Upload a short MP4 video, write an edit prompt, and receive a 720p edited video.

  • Focused short-clip editing
    Designed for short video edits where the original timing and structure should remain consistent.

Parameters

ParameterRequiredDescription
videoYesSource MP4 video to edit. The input must be under 50 MB and under 15 seconds.
promptYesNatural-language edit instruction describing the changes to apply. Maximum length: 4096 characters.

The output is a 720p edited video. This endpoint does not expose duration, resolution, aspect ratio, audio-generation, or seed controls. Output timing follows the source clip.

How to Use

  1. Upload a source video — Provide a short MP4 video under 50 MB and under 15 seconds.
  2. Write an edit prompt — Describe the specific changes you want to apply.
  3. Submit — Run the video edit request.
  4. Retrieve the output — Get the edited video URL from the prediction outputs.

Pricing

Pricing is based on input video duration.

The price is $0.03 per billable second for 720p video.

Input DurationBillable SecondsCost
1s1$0.03
5s5$0.15
5.1s6$0.18
10s10$0.30
14.5s15$0.45

prompt does not add a separate charge. Billing is based on input duration, not a post-generation measurement of the output.

Best Use Cases

  • Object appearance edits — Change the look, material, color, or style of objects in a video.
  • Environment changes — Adjust backgrounds, locations, atmosphere, or scene details.
  • Style transfer — Restyle a clip while preserving its original motion and timing.
  • Short-form creative edits — Modify short clips for social media, ads, concepts, or campaign assets.
  • Prompt-based iteration — Test different edit directions on the same source video.

Pro Tips

  • Describe what should change and what should stay the same.
  • Use clear source footage with the motion and framing you want to preserve.
  • Keep the prompt focused on one main edit direction for more stable results.
  • Mention lighting, background, object appearance, and style when they matter.
  • Use short clips for faster iteration and easier review.
  • This endpoint edits a supplied clip; it does not extend the duration or expose output resolution controls.

Notes

  • video and prompt are required.
  • The source video must be an MP4 file under 50 MB and under 15 seconds.
  • The output is a 720p edited video.
  • Output timing follows the source clip.
  • The endpoint does not expose duration, resolution, aspect ratio, audio-generation, or seed controls.
  • The billing cap does not make videos above the input duration limit supported.

Related Models

Note:This website uses AI models provided by third parties. Documentation prices are for reference and may be outdated. The Generate button shows an estimate; the final task charge prevails.

Flux 3 Video Edit API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/video-edit with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Flux 3 Video Edit below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
    "prompt": "A cinematic shot of a city at sunset, soft golden light"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/video-edit" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    *) sleep 2 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/video-edit";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
        "prompt": "A cinematic shot of a city at sunset, soft golden light"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
    "prompt": "A cinematic shot of a city at sunset, soft golden light"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/video-edit", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout", "deleted"}:
        raise RuntimeError(result)
    time.sleep(2)

Flux 3 Video Edit API — Frequently asked questions

What is the Flux 3 Video Edit API?

Flux 3 Video Edit is a Black Forest Labs model for video editing, exposed as a REST API on WaveSpeedAI. FLUX 3 Video Edit applies prompt-guided changes to existing videos while preserving motion, timing, and framing, supporting precise video modification, visual style updates, scene refinements, creative edits, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Flux 3 Video Edit API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/black-forest-labs/black-forest-labs-flux-3-video-edit.

How much does Flux 3 Video Edit cost per run?

Flux 3 Video Edit starts at $0.030 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Flux 3 Video Edit accept?

Key inputs: `prompt`, `video`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/black-forest-labs/black-forest-labs-flux-3-video-edit.

How do I get started with the Flux 3 Video Edit API?

Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.

Can I use Flux 3 Video Edit outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (Black Forest Labs). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

FLUX 3 Video Edit API on WaveSpeedAI