# Flux 3 keyframes to video draft

Needs prompt and keyframes. Served by fal.ai.

Flux 3 Keyframes To Video Draft, served by fal.ai. The OpenAPI schema for the blackforestlabs/flux-3/keyframes-to-video/draft queue. Price: Your request will be charged at 0.06 $ per second of generated draft video (720p). Queued execution; final USD charge comes from the unique billing event matching this exact endpoint and request_id. A missing receipt retains the reservation; no guessed final fee. Asynchronous: returns a request_id; poll fal/status and fetch fal/result with model "blackforestlabs/flux-3" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/blackforestlabs-flux-3-keyframes-to-video-draft`
- Name in the catalog: Flux 3 Keyframes To Video Draft
- Provider: [fal.ai](/providers/fal.md)
- Capability: [AI video generation](/tools/video-generation.md)
- Price: $0.06 per second
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_unit",
  "amountUsd": 0.06,
  "unitsField": "duration",
  "unitsDefault": 5,
  "maxUnits": 20,
  "fractional": true
}
```

Pricing source: [https://fal.ai/models/blackforestlabs/flux-3/keyframes-to-video/draft](https://fal.ai/models/blackforestlabs/flux-3/keyframes-to-video/draft). Your request will be charged at 0.06 $ per second of generated draft video (720p). Queued execution; final USD charge comes from the unique billing event matching this exact endpoint and request_id. A missing receipt retains the reservation; no guessed final fee..

Price verification date: 2026-10-07.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "aspect_ratio": {
      "type": "string",
      "title": "Aspect Ratio",
      "description": "Aspect ratio of the generated draft. `auto` lets the model choose.",
      "enum": [
        "auto",
        "21:9",
        "2:1",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ],
      "default": "auto"
    },
    "duration": {
      "type": "integer",
      "description": "Draft duration in whole seconds from 5 through 20. An explicit duration is required to validate keyframe positions.",
      "title": "Duration",
      "enum": [
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20
      ],
      "default": 5
    },
    "prompt": {
      "type": "string",
      "title": "Prompt",
      "description": "The text prompt describing the draft video."
    },
    "keyframes": {
      "type": "array",
      "maxItems": 10,
      "items": {
        "x-fal-order-properties": [
          "image_url",
          "frame_index"
        ],
        "title": "Flux3Keyframe",
        "type": "object",
        "properties": {
          "frame_index": {
            "type": "integer",
            "title": "Frame Index",
            "description": "Frame position of this keyframe in the generated 24 fps video. Must be unique and at most `duration * 24`.",
            "minimum": 0
          },
          "image_url": {
            "type": "string",
            "title": "Image URL",
            "description": "URL of the keyframe image (PNG, JPEG, or WebP)."
          }
        },
        "required": [
          "image_url",
          "frame_index"
        ]
      },
      "minItems": 1,
      "description": "Keyframe images pinned to frame positions in the generated draft. Up to 10 keyframes with unique `frame_index` values.",
      "title": "Keyframes"
    },
    "safety_tolerance": {
      "type": "integer",
      "title": "Safety Tolerance",
      "description": "The safety tolerance level for the generated video. 0 is the strictest and 4 is the most permissive.",
      "maximum": 4,
      "default": 2,
      "minimum": 0
    },
    "generate_audio": {
      "type": "boolean",
      "title": "Generate Audio",
      "description": "Whether to generate audio for the draft video.",
      "default": true
    }
  },
  "required": [
    "prompt",
    "keyframes"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/blackforestlabs-flux-3-keyframes-to-video-draft",
  "input": {
    "prompt": "A red panda walks along a mossy log in a sunlit forest, one continuous unbroken shot.",
    "keyframes": [
      {
        "frame_index": 0,
        "image_url": "https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-1.jpeg"
      },
      {
        "frame_index": 120,
        "image_url": "https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-2.jpeg"
      }
    ]
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/blackforestlabs/flux-3/keyframes-to-video/draft)

[REST inspection](https://api.agentik.cc/v1/tools/fal/blackforestlabs-flux-3-keyframes-to-video-draft) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/blackforestlabs-flux-3-keyframes-to-video-draft) · [Agent index](/llms.txt)
