FLUX 3 API reference
Video with synced sound and a quick draft tier
Call FLUX 3 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.
At a glance
- Made by
- Black Forest Labs
- Output
- Video
- From
- 9 credits per second of output ($0.09)
1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.
Upscale Video
black-forest-labs/flux-3/upscale
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
precise | 79.2 | $0.792 |
creative | 113.76 | $1.1376 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
video_urlRequired | string (uri) | — | — | The clip to upscale, an MP4 of up to 20 seconds. Billed by its length, rounded up to whole seconds. |
upscale_modeOptional | string | precise | precise, creative | precise stays faithful to the source; creative also rebuilds fine detail and costs more. |
upscale_factorOptional | number | 2 | 1.5 to 3 | How many times larger, from 1.5 to 3. The aspect ratio is kept and the factor does not change the price. |
promptOptional | string | — | up to 5,000 characters | Optional, creative mode only: the detail you want added, such as skin texture or fabric weave. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "black-forest-labs/flux-3/upscale",
"input": {
"prompt": "Sharpen fine detail and keep the natural look",
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"upscale_mode": "precise"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Create Video
black-forest-labs/flux-3/text-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
quality = draft, resolution = 1080p | 9 | $0.09 |
quality = draft, resolution = 720p | 9 | $0.09 |
quality = standard, resolution = 720p | 25.5 | $0.255 |
quality = standard, resolution = 1080p | 43.5 | $0.435 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 5,000 characters | Describe the subject, action, camera, light and sound for the shot. |
aspect_ratioOptional | string | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 2:1 | Output aspect ratio. |
qualityOptional | string | standard | standard, draft | standard renders at the chosen resolution; draft is a fast, lower-cost preview at 720p. |
resolutionOptional | string | 720p | 720p, 1080p | Output resolution. draft renders at 720p only. |
duration_secondsOptional | integer | 5 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … (+2) | Output length in whole seconds, 5 to 20. |
generate_audioOptional | boolean | true | — | Generate synchronized sound with the video. The price is the same either way. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "black-forest-labs/flux-3/text-to-video",
"input": {
"prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
"duration_seconds": 5,
"resolution": "720p",
"quality": "standard"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Image to Video
black-forest-labs/flux-3/image-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
quality = draft, resolution = 1080p | 9 | $0.09 |
quality = draft, resolution = 720p | 9 | $0.09 |
quality = standard, resolution = 720p | 25.5 | $0.255 |
quality = standard, resolution = 1080p | 43.5 | $0.435 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 5,000 characters | Describe the subject, action, camera, light and sound for the shot. |
image_urlRequired | string (uri) | — | — | Opening frame. The subject keeps its look from this image. |
last_image_urlOptional | string (uri) | — | — | Optional closing frame: the clip moves from the opening image to this one. |
aspect_ratioOptional | string | — | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 2:1 | Output aspect ratio. Omit it to follow the opening image. |
qualityOptional | string | standard | standard, draft | standard renders at the chosen resolution; draft is a fast, lower-cost preview at 720p. |
resolutionOptional | string | 720p | 720p, 1080p | Output resolution. draft renders at 720p only. |
duration_secondsOptional | integer | 5 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … (+2) | Output length in whole seconds, 5 to 20. |
generate_audioOptional | boolean | true | — | Generate synchronized sound with the video. The price is the same either way. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "black-forest-labs/flux-3/image-to-video",
"input": {
"prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"duration_seconds": 5,
"resolution": "720p",
"quality": "standard"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Extend Video
black-forest-labs/flux-3/video-extend
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
quality = draft, resolution = 1080p | 18 | $0.18 |
quality = draft, resolution = 720p | 18 | $0.18 |
quality = standard, resolution = 720p | 61.5 | $0.615 |
quality = standard, resolution = 1080p | 79.5 | $0.795 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 5,000 characters | Describe what happens next: the action, camera and sound that continue the clip. |
video_urlRequired | string (uri) | — | — | The clip to continue, an MP4 of up to 15 seconds. The new segment picks up from its last frame. |
aspect_ratioOptional | string | — | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 2:1 | Output aspect ratio. Omit it to keep the shape of the source clip. |
qualityOptional | string | standard | standard, draft | standard renders at the chosen resolution; draft is a fast, lower-cost preview at 720p. |
resolutionOptional | string | 720p | 720p, 1080p | Output resolution. draft renders at 720p only. |
duration_secondsOptional | integer | 5 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … (+2) | Length of the new segment in whole seconds, 5 to 20. The source clip is not included in the result. |
generate_audioOptional | boolean | true | — | Generate synchronized sound with the video. The price is the same either way. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "black-forest-labs/flux-3/video-extend",
"input": {
"prompt": "The flowers keep opening while the camera slowly pulls back to reveal a sunlit meadow",
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"duration_seconds": 5,
"resolution": "720p",
"quality": "standard"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
