Real prompts, real cost, and how to work around the landscape-only output for TikTok and Reels

Short-form video wants motion that reads as real in under a second of screen time — a board flipping, fabric snapping, a quick camera whip. hailuo-2.3/text-to-video is built for exactly that: send one text prompt to hiapi's /v1/tasks endpoint and get back a 6- or 10-second clip with genuinely physical motion, no reference image required. This piece walks through the real API workflow, an actual generated clip, the one output limitation worth knowing before you build a pipeline around it, and live pricing pulled straight from hiapi's /api/pricing.
Text-to-video models can fall apart under fast, physical motion — boards bend, limbs warp mid-flip. hailuo-2.3/text-to-video ships tagged "Motion Physics" on hiapi, and that's its actual selling point: it holds up under exactly the kind of action that makes up most short-form content — a trick, a reveal, a quick camera move. It won't out-render a static-scene model on fine detail, but for a 6-10 second clip meant to be watched once on a phone, physically plausible motion matters more than pixel-level texture.
Here's the exact prompt used for the clip below — copy it as a starting point for your own action shots:
a skateboarder in an empty downtown parking garage at golden hour attempts a kickflip, the board spinning crisply mid-air with realistic physical rotation, sneaker landing solidly back on the deck as wheels grip the concrete, sunlight flaring low through support pillars, dynamic low-angle tracking shot following the motion, natural motion blur on fast movement, warm saturated color grade, handheld documentary energy
Notice what's doing the work in the prompt: a named camera move ("dynamic low-angle tracking shot"), an explicit motion descriptor ("crisply mid-air with realistic physical rotation"), and a landing beat ("solidly back on the deck as wheels grip the concrete"). hailuo-2.3/text-to-video doesn't expose camera or timing parameters directly — all of that comes from how specifically you describe it.
hailuo-2.3/text-to-video's input schema (see the model page for the live parameter list) is deliberately narrow: prompt, duration ("6" or "10"), and prompt_optimizer. There's no aspect_ratio, no resolution, no seed — every clip renders landscape at a fixed 1366×768.
That's a real problem for TikTok, Reels, and Shorts, which all want 9:16. There's no vertical option to request, so the workaround has to happen after generation: either center-crop the landscape frame down to a vertical slice (works well when the subject stays centered, as in the clip above), or keep the full frame and pad it top/bottom with a blurred, scaled copy of the same footage — the common "blurred background fill" look on repurposed landscape clips. Plan for this crop/pad step as part of the pipeline rather than assuming the model will hand you a vertical-ready asset.
Per hiapi's live pricing page, hailuo-2.3/text-to-video bills flat per video: $0.40 for a 6-second clip, $0.80 for a 10-second clip — exactly double, no volume discount built in. That matters for batch budgeting: three 6-second clips ($1.20 total, 18 seconds of footage) cost the same as three separate near-max-length clips, so cutting between shorter clips is usually cheaper than one long continuous shot covering the same runtime.
One thing that trips people up: Hailuo 2.3 does have a cheaper "fast" tier ($0.27 for 6s / $0.46 for 10s) — but it only exists for image-to-video. Text-to-video has a single pricing tier with no fast/cheap fallback. If you're iterating heavily on a prompt before committing to a final render, it can be cheaper to generate one still first, then use hailuo-2.3-fast/image-to-video to iterate on motion from that frame.
hiapi's video models all run through the same async /v1/tasks pattern — create a task, poll it, download the output immediately, since the delivered link expires:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "hailuo-2.3/text-to-video",
"input": {
"prompt": "a skateboarder in an empty downtown parking garage at golden hour attempts a kickflip...",
"duration": "6",
"prompt_optimizer": true
}
}'
Poll GET /v1/tasks/{taskId} until the status reaches a terminal state, then pull output[0].url and download it right away. Full request/response shapes and live schema validation are on the model page; general auth and task-lifecycle details are in the hiapi docs.
If you're building a short-form pipeline around more than one video model rather than committing to just one, hiapi's rundown of its four video models is worth a read — hailuo-2.3 sits at a different price and quality point than, say, seedance-2.0-mini, and mixing models by scene type usually beats standardizing on one for an entire content calendar.
Does hailuo-2.3/text-to-video support vertical (9:16) output?
No. There's no aspect_ratio or resolution parameter — every clip renders landscape at roughly 1366×768. Get vertical by cropping or padding the output after generation.
How long does a clip take to generate? It's an async task: submit, then poll until the status turns terminal. Budget a few minutes per clip in a batch pipeline rather than expecting a synchronous response.
Is there a cheaper or faster version of hailuo-2.3/text-to-video? No. The discounted "fast" tier only applies to hailuo-2.3-fast/image-to-video. Text-to-video has one price: $0.40 for 6 seconds, $0.80 for 10 seconds.
Can I control camera motion or specific timing beats directly? Not through structured parameters — motion, camera movement, and pacing all come from how the prompt is written. The prompt above (named tracking shot, explicit rotation description, a landing beat) is a working template for physically grounded action shots.
prompt, duration ("6" or "10"), and prompt_optimizer — no aspect_ratio, resolution, or seed to tune./v1/tasks, poll to a terminal status, then download the output URL immediately since the link expires.Ready to try it? Generate a clip from the prompt above on the hailuo-2.3/text-to-video model page, and check current pricing before batching a full short-form run.