Video models
The 视频专用 group covers Seedance, Veo, Kling, MiniMax, Grok and other video models, all called through the same video API.
Two billing units: per clip and per second
This is the one thing to check before picking a model:
- Per clip — one price per request, regardless of length. Better value for longer clips.
- Per second — price × duration. Cheaper for short clips, pay-as-you-go for long ones.
Cards in the Model Marketplace state / clip or / second directly, and the Pricing type filter on the left lets you view just one kind.
A lower unit price is not a lower total
A model listed at ¥0.375 / second costs ¥5.625 for 15 seconds, while one listed at ¥4.35 / clip stays ¥4.35 at any length. Always convert to the duration you actually need before comparing.
Calling it
Video is an async job: submit, get a task_id, then poll for the result. Use a token from the 视频专用 group.
curl 'https://tian-shu.net/v1/videos' \
-H 'Authorization: Bearer <your 视频专用 group key>' \
-H 'Content-Type: application/json' \
-d '{
"model": "seedance-2.0-fast",
"prompt": "neon street on a rainy night, slow dolly in, cinematic",
"aspect_ratio": "16:9"
}'Then poll GET /v1/videos/{task_id}; fetch the result once status becomes completed.
Retrieving the video
Once status becomes completed, download the clip from metadata.url in the response. That address is always:
curl -L 'https://tian-shu.net/v1/videos/{task_id}/content' \
-H 'Authorization: Bearer <your 视频专用 group key>' \
-o video.mp4Returns video/mp4.
Clips are kept for a limited time
Download and store the file yourself as soon as it finishes. The address stops working after the retention window.
On failure the response has no metadata, only error.message — and you are not charged.
Parameters differ per model
Supported durations, resolutions and reference-image / first-last-frame capabilities vary a lot between models. Click the Docs button on a model card to see that model's own endpoint reference, parameter table and copy-ready samples — see Using the Marketplace.
