Sora / Veo Video
Sora / Veo cover text-to-video, image-to-video, extension and remix scenarios. Use the common MoonNexAI video-task API and query results using the returned task ID.
sora-v3-fast and sora-v3-pro do not support creating model asset IDs through /v1/assets/uploads mode=asset. Use public URLs from your own storage in production. For local integration tests, explicitly call /v1/assets/uploads mode=oss for a temporary URL. MoonNexAI OSS does not guarantee long-term retention or continuous availability.
Create Video
curl https://moonnexai.com/v1/videos \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-v3-fast",
"prompt": "A cinematic city street at night, slow camera movement, realistic lighting.",
"seconds": "5",
"video_config": {
"aspect_ratio": "16:9",
"resolution_name": "720p"
}
}'image-to-video
{
"model": "sora-v3-fast",
"prompt": "让产品缓慢旋转,镜头轻微推进,保持真实光照。",
"seconds": "5",
"reference_image_urls": [
"https://example.com/product.png"
],
"video_config": {
"aspect_ratio": "1:1",
"resolution_name": "720p"
}
}An image with a stable public URL does not need uploading first. mode=oss is for local integration tests; test URLs are not guaranteed to remain valid. Use your own stable storage URLs in production.
Pass first/last frames as first_frame_url and last_frame_url. Mixed-media requests can use content[], with role set to reference_image, first_frame, last_frame, reference_video or reference_audio.
Create Role
If your business needs a reuse role or subject, you can use the role to create API:
curl https://moonnexai.com/sora/v1/characters \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "brand-host",
"source_url": "https://example.com/character.mp4",
"seconds": 5
}'Remix
curl https://moonnexai.com/v1/videos/video_xxx/remix \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-v3-fast",
"prompt": "保持原主体,改成清晨自然光,镜头更稳定。"
}'Query task
curl https://moonnexai.com/v1/videos/task_xxx \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>"Read output[].url, output.url, url, video_url, result_url or metadata.url after completion.