Developer tutorial
How to Use MiniMax H3 Max API
This is a safe starting structure, not an assertion that an endpoint or field is currently available. Verify every provider-specific detail before running code.
This is an independent review, not affiliated with MiniMax or fal.ai.
Before you start
- An account with your chosen API platform.
- An API key stored in an environment variable, never committed to source control.
- Access to the current model and endpoint documentation.
- A small, bounded test budget and a saved test prompt.
Method A: fal.ai
Step 1: confirm the endpoint and schema
The URL below is the requested draft endpoint. Confirm the endpoint, accepted fields, output field, authentication policy, and model availability in fal documentation before use.
Step 2: send a test request
import os
import requests
url = "https://fal.run/minimax/h3-max/text-to-video"
headers = {
"Authorization": f"Key {os.environ['FAL_KEY']}",
"Content-Type": "application/json",
}
payload = {
"prompt": "A quiet editorial test scene, clearly lit and reproducible.",
"resolution": "480p", # Confirm the exact fal field/value in official docs.
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
data = response.json()
video_url = data["REPLACE_WITH_VERIFIED_VIDEO_URL_FIELD"] # 【FILL: actual video URL field from API response】
print(video_url)Step 3: inspect the result
Save the request payload, complete response shape, generated asset, elapsed time, and billing record together. 【FILL: replace with the actual returned video URL field after verification】.
Method B: OpenRouter
Use the current OpenRouter documentation to confirm whether and how this model is exposed. The template deliberately does not guess an endpoint or model identifier.
import os
import requests
url = "REPLACE_WITH_VERIFIED_OPENROUTER_ENDPOINT" # 【FILL: OpenRouter endpoint; see README or official docs to confirm】
payload = {
"model": "REPLACE_WITH_VERIFIED_OPENROUTER_MODEL_ID", # 【FILL: OpenRouter model id; see README or official docs to confirm】
"prompt": "A quiet editorial test scene, clearly lit and reproducible.",
"resolution": "480p", # Confirm field names and supported values.
}
headers = {"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
print(response.json())Parameters to verify
| Parameter | Type | Purpose |
|---|---|---|
| prompt | string | Natural-language instruction for the intended scene. |
| resolution | string | 480p or 768p; 【FILL: verify exact provider values】. |
| duration | 【FILL: provider type and allowed values】 | 【FILL: verify supported clip duration】. |
| seed / aspect ratio | 【FILL: verify supported controls】 | Use only if documented by the selected endpoint. |
Real example record
Prompt: 【FILL: exact production test prompt】
Generation time: 【FILL: measured end-to-end generation time】
Troubleshooting
【FILL: add only real, reproducible errors and tested resolutions; do not invent error codes】.
FAQ
Is H3 Max on fal?
【FILL: confirm current fal availability and documentation URL】.
How do I get an API key?
Create an account with the provider and follow its current key-management guide.
How long does a clip take to generate?
【FILL: measured latency from your controlled test】.
What does a call cost?
See the pricing worksheet and verify the billable output basis.
Last updated: September 3, 2026