Video generation
Text-to-video, image-to-video and keyframe interpolation.
Shot generation, camera control, audio synthesis and keyframe stitching happen in one call, and the output drops straight onto an editing timeline.
Generate shots with one API call
Text or a first frame goes in, and a shot with a native audio track comes out. Camera moves, framing, lighting and pacing are all parameters. Keyframe stitching keeps multi-shot cuts from jumping, and character anchoring keeps a person the same across shots.
Built for production
Native audio track
Ambience, footsteps and dialogue pacing are generated with the picture, so lips and motion line up.
Camera moves as parameters
Push, pull, pan, track, follow and framing changes are all set as parameters.
Multi-shot continuity
Keyframe stitching and character anchoring remove jumps at the cut, so long pieces can be generated shot by shot.
Editing-ready output
Output carries full timecode with an optional alpha channel and drops onto an editing timeline.
API capabilities
Text-to-video, image-to-video, interpolation
Three entry points on one endpoint with the same parameter semantics.
Resolution and frame rate
720p, 1080p or 4K, at 24, 30 or 60fps, in any combination.
Audio control
Generate a native audio track, output silent video, or take the audio alone.
Async jobs and callbacks
Submitting returns a task_id, progress is queryable, and completion fires a webhook.
Billed per shot
Priced by the second, failed shots are not billed, and the bill itemises every shot.
Editing formats
ProRes, H.264 or WebM, with timecode.
Product clips and listing assets
Turn one product image into a showcase clip, fast enough to keep up with new SKUs.
Pairing and how-to videos
Unboxing, pairing and everyday operations generated from a script, with voiceover and subtitles included.
Solution demos
Show whole-home lighting, security and energy solutions in action without building a set.
Localised versions
Swap voiceover and subtitles on the same cut instead of reshooting per market.
task = starsg.video(
model="kuaishou/kling-2.1",
prompt="镜头缓慢推进,雨夜霓虹下的城市街道",
duration=10, resolution="4k", fps=30,
camera="dolly_in", audio=True,
)
clip = task.wait() # 或注册 webhook
print(clip.url, clip.duration_s)Submit and get called back
Rendering is a long job, so the API is async by design: poll the task_id, or register a webhook and wait for the callback.
Start building with Video generation
Sign up to create an API key. It shares the same auth, billing and observability as the other six capabilities.