クイックスタート
ゼロから完成動画までの3ステップ。すべてのリクエストはJSON形式のHTTPSなので、どんな言語やツールでも使えます。
- 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_で始まり、1つのアカウントに属します。
Authorization: Bearer nm_live_your_api_key
Content-Type: application/json- ベースURL
- すべてのエンドポイントはhttps://novamotions.com/api/v1の下にあり、JSONを返します。
- キーは秘密に
- APIはサーバーから呼び出し、ブラウザやモバイルアプリからは絶対に呼ばないでください。キーを無効化すると即座に使えなくなります。
- 共通残高
- API呼び出しはキー所有者のクレジットを消費し、スタジオと同じ残高を使います。プランの生成制限も適用されます。
- メディアURL
- 渡す画像、動画、音声はクッキーやログインなしで読み込める公開https URLでなければなりません。
モデル一覧
/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必須modelsエンドポイントのモデルスラッグ。promptstring必須クリップで起こること。画像から動画の場合は開始フレームが主導するため任意。modestring任意text-to-video、image-to-video、reference-to-video。省略時は入力から選択。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テキストから画像、または既存画像をプロンプトで編集。1リクエストで最大4枚まで、それぞれ独立したタスクです。
パラメーター
modelstring必須modelsエンドポイントのモデルスラッグ。promptstring必須画像に何を表示するか、または渡した画像をどう変えるか。modestring任意text-to-image(テキストから画像)かimage-edit(画像編集)。未指定時は入力から自動選択。resolutionstring任意モデルのリストから1K、2K、4Kを選択。aspect_ratiostring任意対応モデルのリストからアスペクト比を選択。Auto対応モデルも含む。image_urlstring (URL)任意編集する画像。image-editモードで必須。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必須modelsエンドポイントのモデルスラッグ。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": "暖かいローファイヒップホップ。柔らかなピアノ、ビニールのパチパチ音、リラックスした深夜のグルーヴ",
"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ページあたりの結果数。1から50まで。デフォルトは20。cursorstring任意前ページのnext_cursor値。statusstring任意このステータスのタスクのみ:queued(待機中)、running(実行中)、succeeded(成功)、failed(失敗)。
リクエスト
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に移行し、succeededかfailedで終了します。終了状態でポーリングを停止してください。
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指定されたスラッグのモデルがありません。modelsエンドポイントを確認してください。 - 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タスクにも適用されます。期限が近いクレジットから優先的に消費され、チャージ分は最後に使われます。
レート制限
制限はキーごとに1分間のローリングでカウントされます。制限超過時はHTTP 429とRetry-Afterヘッダーが返されます。すべてのレスポンスにX-RateLimitヘッダーが含まれ、制限前に速度調整が可能です。
- 送信
- 1分あたり30回
- 動画、画像、曲の作成。
- 読み取り
- 1分あたり120回
- タスク、残高、モデル。送信とは別にカウント。
- 同時実行数
- 3
- アカウントごとの同時レンダリングタスク数。
HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 42モデル
今日利用可能なモデルのスラッグと最低価格です。modelsエンドポイントはすべてのオプションを含む同じリストを返します。
- 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 クレジット
さあ、始めましょう
アカウントでキーを作成し、1分で最初のリクエストを送信できます。