快速開始
三個步驟從零到完成影片。每個請求都是純 HTTPS 搭配 JSON,任何語言或工具都能使用。
- 1
- 2
提交任務
傳送模型、提示詞和任何選項。點數在提交時一次扣除,回應會告訴您扣了多少及剩餘多少。
curl -X POST https://novamotions.com/api/v1/videos \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2-pro", "prompt": "夜晚雨中霓虹街道的慢速推鏡,濕潤柏油路面反射,電影感", "duration": 5, "resolution": "720p", "aspect_ratio": "16:9" }' - 3
輪詢直到完成
每隔幾秒檢查任務狀態。狀態為成功時,從 output_url 下載檔案。若失敗,點數會自動退回餘額。
TASK_ID=your_task_id while true do TASK=$(curl -s https://novamotions.com/api/v1/tasks/$TASK_ID -H "Authorization: Bearer $API_KEY") STATUS=$(echo "$TASK" | jq -r .status) echo "$STATUS" if [ "$STATUS" = "succeeded" ] || [ "$STATUS" = "failed" ] then echo "$TASK" | jq break fi sleep 5 done
認證
在每個請求的 Authorization 標頭中傳送您的金鑰。金鑰以 nm_live_ 開頭,屬於同一帳戶。
Authorization: Bearer nm_live_your_api_key
Content-Type: application/json- 基本 URL
- 所有端點都在 https://novamotions.com/api/v1 下,並回傳 JSON。
- 請保密您的金鑰
- 請從您的伺服器呼叫 API,切勿從瀏覽器或行動應用程式呼叫。被撤銷的金鑰會立即失效。
- 共用點數餘額
- API 呼叫會使用金鑰擁有者的點數,與工作室共用同一餘額。每次生成也會受方案限制影響。
- 媒體 URL
- 您傳入的圖片、影片和音訊必須是公開的 https URL,且無需 Cookie 或登入即可載入。
模型列表
/api/v1/modelsAPI 提供的所有模型,包含模式、時長、解析度、長寬比、音訊支援、參考限制及最低點數價格。用來建立模型選擇器,避免硬編碼選項。
請求
curl https://novamotions.com/api/v1/models \
-H "Authorization: Bearer $API_KEY"回應
{
"object": "list",
"data": [
{
"slug": "seedance-2-pro",
"name": "Seedance 2.0 Pro",
"kind": "video",
"endpoint": "/api/v1/videos",
"available": true,
"modes": [
"text-to-video",
"image-to-video",
"reference-to-video"
],
"durations": [
4,
5,
6,
8,
10,
12,
15
],
"default_duration": 5,
"resolutions": [
"480p",
"720p",
"1080p",
"4K"
],
"aspect_ratios": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"audio": {
"supported": true,
"extra_credits": 20
},
"references": {
"images": 9,
"videos": 3,
"audio": 3,
"end_frame": true
},
"max_count": 4,
"prompt_max_length": 10000,
"from_credits": 35
}
]
}查詢餘額
/api/v1/balance金鑰擁有者目前可用的點數,依到期日分組,並顯示目前方案。
請求
curl https://novamotions.com/api/v1/balance \
-H "Authorization: Bearer $API_KEY"回應
{
"object": "balance",
"balance": 1175,
"never_expiring": 375,
"next_expiry": "2026-11-17T00:00:00.000Z",
"pools": [
{
"source": "subscription",
"remaining": 800,
"granted": 2000,
"expires_at": "2026-11-17T00:00:00.000Z"
},
{
"source": "topup",
"remaining": 375,
"granted": 375,
"expires_at": null
}
],
"plan": {
"name": "Pro",
"status": "active",
"cycle": "monthly",
"renews_or_ends_at": "2026-11-14T00:00:00.000Z"
}
}製作影片
/api/v1/videos文字轉影片、圖片轉影片(起始畫面,選擇性有結束畫面)或參考影片(圖片、片段和音訊引導結果)。若未指定模式,會依輸入自動選擇。
參數
modelstring必填來自模型端點的模型標識符。promptstring必填影片中應該發生的內容。對圖片轉影片為選填,起始畫面為主導。modestring選填文字轉影片、圖片轉影片或參考影片。未指定時依輸入自動選擇。durationinteger選填影片長度(秒)。必須是模型支援的時長之一,否則使用預設值。resolutionstring選填輸出解析度,如 720p 或 1080p,從模型支援列表中選擇。aspect_ratiostring選填16:9、9:16、1:1、4:3、3:4 或 21:9,從模型列表中選擇。預設為 16:9。audioboolean選填在支援的模型上生成包含對話、效果和環境音的配樂。需額外支付 20 點數。預設為關閉。image_urlstring (URL)選填影像轉影片的起始畫面。end_image_urlstring (URL)選填結束畫面,僅限支援首尾畫面的模型。reference_image_urlsstring[]選填參考影像,用於參考轉影片,最多可達模型限制。reference_video_urlsstring[]選填參考影片片段,用於參考轉影片,最多可達模型限制。reference_audio_urlsstring[]選填引導配樂的音訊,最多可達模型限制。countinteger選填同一請求要製作多少部影片,1 到 4 部。每部為獨立任務,分別計費。seedinteger選填固定種子以產生可重複結果。批次中每個額外項目使用下一個種子。
請求
curl -X POST https://novamotions.com/api/v1/videos \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-pro",
"prompt": "夜晚雨中霓虹街道的慢速推鏡,濕潤柏油路面反射,電影感",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'回應
{
"tasks": [
{
"id": "cmtask8k2x0001ab7c9d0e1f2",
"status": "queued",
"credits": 44,
"url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
}
],
"credits_charged": 44,
"balance": 1131
}製作圖片
/api/v1/images文字轉圖片,或用提示詞編輯現有圖片。每次請求最多可要求四張圖片,每張為獨立任務。
參數
modelstring必填來自模型端點的模型標識符。promptstring必填影像應該呈現什麼,或如何修改您提供的影像。modestring選填文字轉影像或影像編輯。若未指定,從您的輸入中選擇。resolutionstring選填1K、2K 或 4K,從模型列表中選擇。aspect_ratiostring選填從模型列表中選擇的長寬比,支援的模型包含自動。image_urlstring (URL)選填要編輯的影像。影像編輯必填。reference_image_urlsstring[]選填編輯用額外參考影像,最多可達模型限制。countinteger選填每個提示產生的影像數量,1 到 4 張。每張為獨立任務。seedinteger選填固定種子以產生可重複結果。批次中每個額外項目使用下一個種子。
請求
curl -X POST https://novamotions.com/api/v1/images \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "工作室產品照,橡木桌上的陶瓷咖啡杯,柔和窗光,淺景深",
"resolution": "1K",
"aspect_ratio": "1:1",
"count": 1
}'回應
{
"tasks": [
{
"id": "cmtask8k2x0001ab7c9d0e1f2",
"status": "queued",
"credits": 3,
"url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
}
],
"credits_charged": 3,
"balance": 1172
}製作歌曲
/api/v1/music根據描述製作完整歌曲,可加入您自己的歌詞或純器樂。
參數
modelstring必填來自模型端點的模型標識符。promptstring必填歌曲的類型、情緒、樂器與節奏。durationinteger選填歌曲長度(秒),從模型提供的長度中選擇。lyricsstring選填您自己的歌詞。留空則由模型創作。instrumentalboolean選填製作無人聲歌曲。預設為關閉。
請求
curl -X POST https://novamotions.com/api/v1/music \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ai-music",
"prompt": "溫暖的 lo-fi 嘻哈,柔和鋼琴,黑膠噼啪聲,輕鬆的深夜節奏",
"duration": 60,
"instrumental": false
}'回應
{
"tasks": [
{
"id": "cmtask8k2x0001ab7c9d0e1f2",
"status": "queued",
"credits": 11,
"url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
}
],
"credits_charged": 11,
"balance": 1164
}取得任務
/api/v1/tasks/{id}依任務 ID 輪詢任務。狀態成功時,output_url 指向完成檔案。輪詢使用讀取限制,不會影響提交配額。
請求
curl https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2 \
-H "Authorization: Bearer $API_KEY"回應
{
"id": "cmtask8k2x0001ab7c9d0e1f2",
"object": "task",
"kind": "video",
"model": "seedance-2-pro",
"mode": "text-to-video",
"status": "succeeded",
"progress": 100,
"prompt": "夜晚雨中霓虹街道的慢速推鏡,濕潤柏油路面反射,電影感",
"params": {
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": false,
"seed": null
},
"output_url": "https://novamotions.com/uploads/videos/2026/10/example.mp4",
"thumbnail_url": "https://novamotions.com/uploads/videos/2026/10/example.jpg",
"width": 1280,
"height": 720,
"duration_seconds": 5,
"credits": 44,
"refunded": false,
"error": null,
"created_at": "2026-10-18T09:30:00.000Z",
"completed_at": "2026-10-18T09:31:12.000Z"
}任務列表
/api/v1/tasks過去 30 天您透過 API 建立的任務,最新的在前,格式與單一任務相同。傳入 next_cursor 作為 cursor 以載入下一頁。
參數
limitinteger選填每頁結果數量,1 到 50。預設為 20。cursorstring選填上一頁的 next_cursor 值。statusstring選填只顯示此狀態的任務:排隊中、執行中、成功或失敗。
請求
curl https://novamotions.com/api/v1/tasks?limit=20 \
-H "Authorization: Bearer $API_KEY"回應
{
"object": "list",
"data": [
{
"id": "cmtask8k2x0001ab7c9d0e1f2",
"object": "task",
"kind": "video",
"model": "seedance-2-pro",
"mode": "text-to-video",
"status": "succeeded",
"progress": 100,
"prompt": "夜晚雨中霓虹街道的慢速推鏡,濕潤柏油路面反射,電影感",
"params": {
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": false,
"seed": null
},
"output_url": "https://novamotions.com/uploads/videos/2026/10/example.mp4",
"thumbnail_url": "https://novamotions.com/uploads/videos/2026/10/example.jpg",
"width": 1280,
"height": 720,
"duration_seconds": 5,
"credits": 44,
"refunded": false,
"error": null,
"created_at": "2026-10-18T09:30:00.000Z",
"completed_at": "2026-10-18T09:31:12.000Z"
}
],
"next_cursor": null
}任務狀態
任務從排隊中變為執行中,最後結束於成功或失敗。任務達終態時停止輪詢。
queued- 已接受,等待渲染時段。繼續輪詢。
running- 正在渲染。進度從 0 到 99。
succeeded- 完成。output_url 和 thumbnail_url 指向完成的檔案。
failed- 未產生結果即結束。error 說明原因,refunded 為 true,點數已退回餘額。
錯誤代碼
每個錯誤格式相同。根據代碼分支並向使用者顯示訊息。任務被接受後仍可能失敗,輪詢時請檢查狀態。
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits for this request. Top up or renew your plan, then retry.",
"needed": 44,
"balance": 14
}
}- 400
invalid_json內容不是 JSON 物件。 - 401
unauthorizedAuthorization 標頭缺少 Bearer 金鑰。 - 401
invalid_api_key金鑰不存在或格式錯誤。 - 401
key_revoked金鑰已被撤銷。請建立新金鑰。 - 402
insufficient_credits點數不足以完成此請求。回應包含所需與餘額。 - 403
plan_limit_exceeded請求超出方案的每次生成限制。請降低長度或解析度。 - 403
account_suspended擁有此金鑰的帳號已被停用。 - 403
api_disabledAPI 目前已關閉。 - 404
not_found此帳號不存在該任務或端點。 - 404
model_not_found找不到此模型。請檢查模型端點。 - 409
too_many_running此帳號已有 3 個任務執行中。請等待其中一個完成。 - 422
invalid_request欄位遺漏或類型錯誤。details 列出每個問題。 - 422
wrong_endpoint模型屬於其他端點,例如影像模型送到影片端點。 - 422
invalid_mode此端點不支援該模式。 - 422
mode_not_supported模型不支援此模式。 - 422
prompt_required此模式需要提示詞。 - 422
image_required此模式需要 image_url。 - 429
rate_limited請求過多。請等待 Retry-After 指定的秒數後重試。 - 500
internal_error伺服器端發生錯誤。請稍後重試。 - 503
service_busy目前服務繁忙。請幾分鐘後再試。
點數與退款
提交時一次扣除
每個任務的費用與工作室相同。提交回應會回傳 credits_charged 與新餘額。影片加音訊需額外支付 20 點數。
失敗任務全額退款
任務若因任何原因失敗,所有點數會退回原點數池,任務標示 refunded 為 true。無需申請。
方案限制適用
方案的每次生成限制同樣適用於 API 任務。先使用即將過期的點數,最後使用加值點數。
速率限制
限制以每個金鑰每分鐘計算。超出限制會收到 HTTP 429,並帶有 Retry-After 秒數標頭。每個回應都包含 X-RateLimit 標頭,方便您提前減速。
- 提交
- 每分鐘 30 次
- 建立影片、影像與歌曲。
- 讀取
- 每分鐘 120 次
- 任務、餘額與模型。與提交分開計算。
- 同時執行中
- 3
- 每個帳號同時渲染的任務數。
HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 42模型
您今天可以呼叫的模型及其標識和最低價格。模型端點會返回包含所有選項的相同列表。
- Seedance 2.5
seedance-2-5影片45 點數 - Seedance 2.0 Pro
seedance-2-pro影片35 點數 - Seedance 2.0 Mini
seedance-2-mini影片24 點數 - Wan 3.0
wan-3影片46 點數 - MiniMax H3
minimax-h3影片30 點數 - Kling 3
kling-3影片30 點數 - Seedance 1.5 Pro
seedance-1-5-pro影片31 點數 - Seedance 1.0
seedance-1影片32 點數 - Kling O3
kling-o3影片46 點數 - Kling 2.6
kling-2-6影片41 點數 - Wan 2.7
wan-2-7影片35 點數 - Wan
wan影片32 點數 - Grok
grok-video影片47 點數 - Veo 3
veo-3影片42 點數 - GPT Image 2.5
gpt-image-2-5圖片4 點數 - GPT Image 2
gpt-image-2圖片3 點數 - Seedream 5 Pro
seedream-5-pro圖片4 點數 - Seedream 5
seedream-5圖片3 點數 - Nano Banana Pro
nano-banana-pro圖片5 點數 - Nano Banana 2
nano-banana-2圖片3 點數 - Nano Banana 2 Lite
nano-banana-2-lite圖片2 點數 - AI Music
ai-music音樂6 點數
準備好開始了嗎?
在您的帳戶中建立一個金鑰,並在一分鐘內發送您的第一個請求。