Skip to main content
ArtEmotion
Video

FLUX.3 Keyframes

Credit-based pricing. Supports reference images, audio generation.

FLUX.3 Keyframes preview
Output
video
Aspect ratio
auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16
Resolution
720p, 1080p
Duration
5s, 6s, 7s, 8s, 9s, 10s, 11s, 12s, 13s, 14s, 15s, 16s, 17s, 18s, 19s, 20s

Inputs

  • Reference image (required)
  • Generates audio

Example prompt

Move naturally through each keyframe in order, preserving character identity and scene continuity, smooth camera movement and synchronized ambience
Try this prompt →
LLM-ready

API & LLM schema

Exact request contract for this model. Agents can fetch it from /api/v1/models?id=blackforestlabs/flux-3/keyframes-to-video.

POST/api/v1/generate15 fields · 3 required
FieldTypeRequirementContract
model_idconstantRequiredArtEmotion model identifier.
extraobjectOptionalModel-specific settings may also be nested here.
max_creditsnumberOptionalReject before submission if the estimated list price exceeds this cap. · Range: 1–…
webhook_urlstringOptionalFormat: uri
webhook_secretstringOptionalOptional model input.
folder_idstringOptionalOptional model input.
promptstringRequiredOptional model input.
keyframesarray<object>OptionalOptional model input.
generate_audiobooleanOptionalGenerate synchronized dialogue, ambience, and sound effects with the video. · Default: true
aspect_ratiostringOptionalAllowed: auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16
resolutionstringOptionalAllowed: 720p, 1080p
safety_tolerancenumberOptionalProvider safety level. 0 is strictest; ArtEmotion keeps the provider default of 2. · Allowed: 0, 1, 2, 3, 4 · Default: 2
durationnumberOptionalAllowed: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
keyframe_indicesstringOptionalOptional comma-separated frame positions at 24 fps, one per uploaded keyframe. Blank positions are spaced automatically.
reference_image_urlsarray<string>RequiredItems: 1–10
Minimal request example
{
  "model_id": "blackforestlabs/flux-3/keyframes-to-video",
  "prompt": "Move naturally through each keyframe in order, preserving character identity and scene continuity, smooth camera movement and synchronized ambience",
  "reference_image_urls": []
}
Raw JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.artemotion.ai/api/v1/models?id=blackforestlabs%2Fflux-3%2Fkeyframes-to-video",
  "title": "FLUX.3 Keyframes generation request",
  "description": "Request body accepted by POST /api/v1/generate for blackforestlabs/flux-3/keyframes-to-video.",
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "const": "blackforestlabs/flux-3/keyframes-to-video",
      "description": "ArtEmotion model identifier."
    },
    "extra": {
      "type": "object",
      "additionalProperties": true,
      "description": "Model-specific settings may also be nested here."
    },
    "max_credits": {
      "type": "number",
      "minimum": 1,
      "description": "Reject before submission if the estimated list price exceeds this cap."
    },
    "webhook_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048
    },
    "webhook_secret": {
      "type": "string",
      "maxLength": 512
    },
    "folder_id": {
      "type": "string"
    },
    "prompt": {
      "type": "string"
    },
    "keyframes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "image_url": {
            "type": "string",
            "format": "uri"
          },
          "timestamp": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "image_url"
        ],
        "additionalProperties": false
      }
    },
    "generate_audio": {
      "title": "Generate audio",
      "description": "Generate synchronized dialogue, ambience, and sound effects with the video.",
      "default": true,
      "type": "boolean"
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "auto",
        "21:9",
        "2:1",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ]
    },
    "resolution": {
      "type": "string",
      "enum": [
        "720p",
        "1080p"
      ]
    },
    "safety_tolerance": {
      "title": "Safety tolerance",
      "description": "Provider safety level. 0 is strictest; ArtEmotion keeps the provider default of 2.",
      "default": 2,
      "type": "number",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    "duration": {
      "type": "number",
      "enum": [
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20
      ]
    },
    "keyframe_indices": {
      "title": "Keyframe positions",
      "description": "Optional comma-separated frame positions at 24 fps, one per uploaded keyframe. Blank positions are spaced automatically.",
      "type": "string"
    },
    "reference_image_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "minItems": 1,
      "maxItems": 10
    }
  },
  "required": [
    "model_id",
    "prompt",
    "reference_image_urls"
  ],
  "additionalProperties": false
}

FAQ

How much does FLUX.3 Keyframes cost on ArtEmotion?

Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.

Do I get my credits back if FLUX.3 Keyframes fails?

Yes — failed generations are never charged. The credits are released back to your balance automatically.

Can I call FLUX.3 Keyframes from the API?

Yes. Use POST /api/v1/generate with model_id: "blackforestlabs/flux-3/keyframes-to-video". See the API reference for the full schema.

Where are my generations stored?

Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.

Ready to generate with FLUX.3 Keyframes?

Start now →

No commitment. New accounts get 50 free credits on signup. See pricing.