公開 API

從您的程式碼生成影片、圖片和音樂

建立金鑰,使用 Bearer 認證發送請求,並輪詢任務直到檔案準備好。與 NovaMotions AI 工作室相同的模型、價格、方案限制和退款,使用同一個共享的點數餘額。

基本 URLhttps://novamotions.com/api/v1

快速開始

三個步驟從零到完成影片。每個請求都是純 HTTPS 搭配 JSON,任何語言或工具都能使用。

  1. 1

    建立金鑰

    在您的帳戶中開啟 API 頁面並建立金鑰。完整金鑰只會顯示一次,請將它存到名為 API_KEY 的環境變數中。

  2. 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. 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_ 開頭,屬於同一帳戶。

HTTP
Authorization: Bearer nm_live_your_api_key
Content-Type: application/json
基本 URL
所有端點都在 https://novamotions.com/api/v1 下,並回傳 JSON。
請保密您的金鑰
請從您的伺服器呼叫 API,切勿從瀏覽器或行動應用程式呼叫。被撤銷的金鑰會立即失效。
共用點數餘額
API 呼叫會使用金鑰擁有者的點數,與工作室共用同一餘額。每次生成也會受方案限制影響。
媒體 URL
您傳入的圖片、影片和音訊必須是公開的 https URL,且無需 Cookie 或登入即可載入。

模型列表

GET/api/v1/models

API 提供的所有模型,包含模式、時長、解析度、長寬比、音訊支援、參考限制及最低點數價格。用來建立模型選擇器,避免硬編碼選項。

請求

curl https://novamotions.com/api/v1/models \
  -H "Authorization: Bearer $API_KEY"

回應

JSON
{
  "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
    }
  ]
}

查詢餘額

GET/api/v1/balance

金鑰擁有者目前可用的點數,依到期日分組,並顯示目前方案。

請求

curl https://novamotions.com/api/v1/balance \
  -H "Authorization: Bearer $API_KEY"

回應

JSON
{
  "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"
  }
}

製作影片

POST/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"
  }'

回應

JSON
{
  "tasks": [
    {
      "id": "cmtask8k2x0001ab7c9d0e1f2",
      "status": "queued",
      "credits": 44,
      "url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
    }
  ],
  "credits_charged": 44,
  "balance": 1131
}

製作圖片

POST/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
  }'

回應

JSON
{
  "tasks": [
    {
      "id": "cmtask8k2x0001ab7c9d0e1f2",
      "status": "queued",
      "credits": 3,
      "url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
    }
  ],
  "credits_charged": 3,
  "balance": 1172
}

製作歌曲

POST/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
  }'

回應

JSON
{
  "tasks": [
    {
      "id": "cmtask8k2x0001ab7c9d0e1f2",
      "status": "queued",
      "credits": 11,
      "url": "https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2"
    }
  ],
  "credits_charged": 11,
  "balance": 1164
}

取得任務

GET/api/v1/tasks/{id}

依任務 ID 輪詢任務。狀態成功時,output_url 指向完成檔案。輪詢使用讀取限制,不會影響提交配額。

請求

curl https://novamotions.com/api/v1/tasks/cmtask8k2x0001ab7c9d0e1f2 \
  -H "Authorization: Bearer $API_KEY"

回應

JSON
{
  "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"
}

任務列表

GET/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"

回應

JSON
{
  "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
  }
}
  • 400invalid_json內容不是 JSON 物件。
  • 401unauthorizedAuthorization 標頭缺少 Bearer 金鑰。
  • 401invalid_api_key金鑰不存在或格式錯誤。
  • 401key_revoked金鑰已被撤銷。請建立新金鑰。
  • 402insufficient_credits點數不足以完成此請求。回應包含所需與餘額。
  • 403plan_limit_exceeded請求超出方案的每次生成限制。請降低長度或解析度。
  • 403account_suspended擁有此金鑰的帳號已被停用。
  • 403api_disabledAPI 目前已關閉。
  • 404not_found此帳號不存在該任務或端點。
  • 404model_not_found找不到此模型。請檢查模型端點。
  • 409too_many_running此帳號已有 3 個任務執行中。請等待其中一個完成。
  • 422invalid_request欄位遺漏或類型錯誤。details 列出每個問題。
  • 422wrong_endpoint模型屬於其他端點,例如影像模型送到影片端點。
  • 422invalid_mode此端點不支援該模式。
  • 422mode_not_supported模型不支援此模式。
  • 422prompt_required此模式需要提示詞。
  • 422image_required此模式需要 image_url。
  • 429rate_limited請求過多。請等待 Retry-After 指定的秒數後重試。
  • 500internal_error伺服器端發生錯誤。請稍後重試。
  • 503service_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.5seedance-2-545 點數
  • Seedance 2.0 Proseedance-2-pro35 點數
  • Seedance 2.0 Miniseedance-2-mini24 點數
  • Wan 3.0wan-346 點數
  • MiniMax H3minimax-h330 點數
  • Kling 3kling-330 點數
  • Seedance 1.5 Proseedance-1-5-pro31 點數
  • Seedance 1.0seedance-132 點數
  • Kling O3kling-o346 點數
  • Kling 2.6kling-2-641 點數
  • Wan 2.7wan-2-735 點數
  • Wanwan32 點數
  • Grokgrok-video47 點數
  • Veo 3veo-342 點數
  • GPT Image 2.5gpt-image-2-54 點數
  • GPT Image 2gpt-image-23 點數
  • Seedream 5 Proseedream-5-pro4 點數
  • Seedream 5seedream-53 點數
  • Nano Banana Pronano-banana-pro5 點數
  • Nano Banana 2nano-banana-23 點數
  • Nano Banana 2 Litenano-banana-2-lite2 點數
  • AI Musicai-music6 點數

準備好開始了嗎?

在您的帳戶中建立一個金鑰,並在一分鐘內發送您的第一個請求。

建立 API 金鑰