# Flux 3 | Text to Video FLUX.3 is Black Forest Labs’ frontier text-to-video model, transforming text prompts into high-quality videos with realistic motion, cinematic composition, and fast generation. ## API Information - **Model Slug:** flux-3-text-to-video - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-3/flux-3-text-to-video - **Provider:** Black Forest Labs - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.06–$0.29 per second, depending on draft and resolution - **Estimated Processing Time:** 250 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-3-text-to-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.06–$0.29 per second, depending on draft and resolution - **Pricing Details:** true: $0.06 - **Pricing Details:** fhd: $0.29 - **Pricing Details:** default: $0.17 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt describing the video to generate, including any audio, dialogue or ambient sound. | | resolution | string | No | hd | hd, fhd | Video resolution class. hd is up to 1MP per frame (e.g. 1280x704); fhd is up to 2MP (e.g. 1920x1088), finished by the video upsampler. Exact dimensions vary with the aspect ratio. Draft renders are always hd. | | duration | string | No | auto | auto, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 | Video duration in seconds, from 5 to 20, or auto to let the model fit the content. | | aspect_ratio | string | No | auto | auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio. auto lets the model choose from the prompt. 16:9 for landscape, 9:16 for portrait/vertical, 1:1 for square, 21:9 for ultrawide cinematic. | | generate_audio | boolean | No | true | - | Generate synchronized audio alongside the video. Audio is included at no extra charge. | | safety_tolerance | integer | No | 2 | - | Controls the safety tolerance used by the provider for content moderation. 0-4 | | draft | boolean | No | false | - | Draft mode: a rapid, cheaper preview render for exploration. Draft renders are hd-only and the result includes a draft_cache reference for a later full-quality re-render. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "flux-3-text-to-video", "input": { "prompt": "A majestic black stallion gallops through an ancient pine forest at sunrise, its mane flowing naturally in the wind as golden rays of sunlight stream through the towering trees. Soft morning mist drifts across the forest floor while leaves and dust rise gently beneath each stride. The camera begins with a close-up tracking shot beside the horse, then smoothly pulls back into a wide cinematic view revealing the endless forest. Realistic muscle movement, elegant slow-motion moments, natural breathing, authentic hoof impact, rich deep green and charcoal color palette, ultra realistic wildlife cinematography, premium nature documentary aesthetic, cinematic lighting, subtle film grain, immersive atmosphere" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Flux 3 | Text to Video Overview** Flux 3 | Text to Video is Black Forest Labs’ frontier **text-to-video** model that turns natural language prompts into short, high-quality video clips with synchronized audio. Flux 3 Video is part of the FLUX 3 multimodal foundation family, trained jointly on images, videos, audio, and action data to understand and generate rich visual motion and sound from a single prompt. Its primary differentiator is native audio generation inside the same pass as video, producing up to 20-second clips with realistic motion, cinematic composition, and coherent sound without separate audio tools. On each::labs, Flux 3 | Text to Video gives creators, marketers, and developers a powerful way to prototype sequences, storyboards, and social-ready content directly from text. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.