Create a video from a text prompt with MiniMax H3 Max Turbo. Choose the aspect ratio, duration, native resolution, and prompt expansion mode, then retrieve the video after the asynchronous task completes.
Developer API pricing
Provider: fal
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
480P: 12 credits/sec (≈ $0.045/sec)
768P: 18 credits/sec (≈ $0.067/sec)
1080P: 32 credits/sec (≈ $0.12/sec)
After submitting a task, use the unified query endpoint to check progress and retrieve results:
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Callback URL per generation.
/v1/generationsA new, stable key for each generation request. Reuse it only when retrying the same request body.
order-20260818-001The model ID shown in the selected model's API documentation.
minimax-h3-max-turbominimax-h3-max-turbominimax-h3-max-turboText to Video. Use the Endpoint ID shown in this model's API documentation.
text-to-videotext-to-videotext-to-videoOptional public Provider ID. Omit it to use the Endpoint default Provider (fal).
falfalfalGeneration settings for the selected Provider. Supply the fields in this group inside input.
Provider parameters
falDefault ProviderDescribe the subject, action, environment, visual style, and camera movement of the video you want to generate.
A cinematic city at nightLength of the generated video, in seconds. Provide a whole number.
5Native generation resolution of the video. This controls output resolution independently of aspect_ratio.
480P768P1080P768PControls how much effort is spent expanding your prompt before video generation. balanced favors a short rewrite; quality produces a more detailed rewrite.
balancedqualitybalancedInteger seed used to initialize generation randomness. If omitted, a random seed is selected.
Width-to-height ratio of the generated video. Choose a landscape, square, or portrait format for the intended layout.
21:916:94:31:13:49:1616:9An absolute HTTPS URL that receives the terminal generation Webhook.
https://client.example.com/webhooks/seeapitask_xxxminimax-h3-max-turbotext-to-videofalfal: falfalprocessingprocessingEstimated public credits. Values can include up to three decimal places.
90Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falsetask_xxxminimax-h3-max-turbotext-to-videofalfal: falfalprocessingprocessingEstimated public credits. Values can include up to three decimal places.
90Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falseInvalid JSON, parameters, Schema, or API Policy
Invalid API Key or authentication failed
Insufficient credits
The current request is not allowed
Model, Endpoint, or task not found
Idempotency conflict or the same request is still being created
Request body is too large
Too many requests
Service temporarily unavailable
const response = await fetch("https://api.seeapi.com/v1/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "order-20260818-001",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "minimax-h3-max-turbo",
"endpoint": "text-to-video",
"provider": "fal",
"input": {
"prompt": "A cinematic city at night",
"duration_seconds": 5,
"resolution": "768P",
"prompt_expansion_mode": "balanced",
"aspect_ratio": "16:9"
},
"callback_url": "https://client.example.com/webhooks/seeapi"
})
});
const result = await response.json();{
"generation": {
"id": "task_xxx",
"model": "minimax-h3-max-turbo",
"endpoint": "text-to-video",
"provider": "fal",
"status": "processing",
"estimated_credits": 90,
"consumed_credits": 0,
"refunded_credits": 0,
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:00:00Z"
},
"idempotent": false
}