モデル

ByteDance: Seedance 1.5 Pro

Markdown · JSON

ByteDance: Seedance 1.5 Pro

Seedance 1.5 Proはテキストや画像から動画を生成し、同期した声、効果音、BGMも生成できます。音声は有効にも無効にもでき、文書上は4–12秒のシーン、adaptive(適応型)フレーミング、オンラインまたはflex処理に対応します。

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

Seedance 1.5 Proはテキストや画像から動画を生成し、映像と一緒に音声も生成できます。具体的なセレクターはdoubao-seedance-1-5-pro-251215です。音声の制御が無音のSeedance 1.0プロファイルとの違いです。generate_audio=trueは同期音声を、falseは無音動画を要求します。新しいコンセプトには文章のシーンを使い、冒頭の被写体や構図を決めるには画像を使います。

映像の動作と音を、一つのシーンの要素として説明します。被写体、場所、動き、カメラを指定し、意図する声、効果音、BGMを説明します。ポートレートのシーンでは、周囲に風が吹く中、人物が目を開け、カメラがゆっくり引く様子を描けます。商品シーンでは、無関係な効果音を列挙するのではなく、ふたが開く、物が台に触れるなど、画面内の出来事と音を結び付けます。

モデルはプロンプトと映像内容から声、効果音、BGMを生成できます。ガイドは、話すせりふを二重引用符で囲むことを推奨しています。発話を要求した動作や間に収まる長さにし、登場人物が複数いる場合は誰が話すか区別します。実際の文言、声の割り当て、映像との同期を確認します。音声の指示は生成される表現を導くもので、このプロファイルの文書化されたリクエストにおける、別途アップロードした声の参照入力ではありません。

画像から動画を生成する場合は、テキストとともにimage_url項目を使用します。JPEG、PNG、WEBP、BMP、TIFF、GIF形式の、アクセス可能な画像URLまたはBase64のdata URLを渡します。文書上の画像制限は30 MB未満、両辺とも300ピクセルより大きく6000ピクセルより小さく、幅と高さの比が0.4より大きく2.5より小さいことです。意図したトリミングと被写体を明確に用意し、その構図からの動きを説明します。画像の例は参照画像に追従するadaptive比率を使っています。

このプロファイル専用の長さのガイドには、四〜十二秒の整数秒、またはその範囲内でモデルが長さを選ぶ-1が記載されています。既定の長さは五秒です。Seedance 1.5 Proの既定値は720pで、保存されているプロファイル表には480pと720pが記載されています。専用の操作ガイドは、1.5 Pro向けに1080pを提供していません。固定比率の選択肢は16:9、4:3、1:1、3:4、9:16、21:9で、文書上の1.5の既定値はadaptiveです。要求した値を取得済みの成果物と見なさず、実際のクリップの長さと比率を確認します。

リクエストには二つの処理区分があります。service_tier=defaultはオンライン処理、flexは長めの待ち時間を許容する作業向けのオフライン処理を選びます。タスクの送信後に区分は変更できません。作業の時間要件に合わせて選び、リクエスト記録に残します。音声モードと処理区分は別々の選択です。無音のクリップが自動的にオフラインのジョブになるわけではなく、音声の有効化で処理区分が選ばれるわけでもありません。

seed、透かし、カメラの指示をシーンと一致させます。テキストに埋め込んだパラメーター指示は、個別の任意パラメーターより優先されます。カメラ固定の制御は参照画像を使う場合には除外され、適用される場合も映像の完全な固定を保証しません。画像主体のアニメーションでは、カメラの制御がショットの説明を不要にすると考えず、意図する動きを直接説明します。

使用量は動画トークンで測定され、出力幅 × 出力高さ × フレームレート × 出力時間 / 1024で求められます。完了したタスクは、この数量をusage.completion_tokensで報告します。報告された使用量を、完成クリップと要求した設定とともに保存します。音声の有効・無効、オンライン・flex処理は、使用量に基づく料金でも別の区分として扱われます。

送信すると非同期タスクIDが返ります。完了まで追跡し、content.video_urlで提供される動画を保存します。生成ファイルの文書上の保存期間は七日です。有効期間は作成時から計測され、既定値は172800秒、指定範囲は3600〜259200秒です。設定した期間を過ぎた未完了のタスクはexpiredになります。完成クリップ、元画像、正確な映像・音声の指示を一緒に保存し、結果全体の動作、同一性、カメラの連続性、音声との一致を確認します。

Ailoot Ultra · 動画 POST /v1/videos doubao-seedance-1-5-pro-251215

doubao-seedance-1-5-pro-251215

ByteDance /doubao-seedance-1-5-pro-251215

はじめに

Seedance 1.5 Proはテキストや画像から動画を生成し、同期した声、効果音、BGMも生成できます。音声は有効にも無効にもでき、文書上は4–12秒のシーン、adaptive(適応型)フレーミング、オンラインまたはflex処理に対応します。

対応する入力
テキスト · 画像
結果
動画

Ailootで利用可能 · 入力とメソッド

Ailoot Ultra · 動画 POST /v1/videos
入力の種類
text, image
出力の種類
video
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
doubao-seedance-1-5-pro-251215
デフォルト—
フィールドcontent種類array要件必須値と制限
条件: ネイティブ形式のテキスト/メディアオブジェクト。外側の配列は空にできません。入れ子になったノードの型は、このAiloot汎用コンストラクターでは検証されません。
デフォルト—
フィールドduration種類integer要件任意値と制限
条件: 主要な1.xスキーマでは2–12です。後の共通説明では1.5を4–12または-1としています。この例では両方に記載された5を使用します。
デフォルト5
フィールドresolution種類string要件任意値と制限
480p, 720p
条件: Seedance 1.5 Proは480pと720pをサポートし、1080pは対象外です。文書に記載されたデフォルトの解像度は720pです。
デフォルト720p
フィールドratio種類string要件任意値と制限
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
条件: 文書に記載されたSeedance 1.5 Proのデフォルトの比率はadaptiveです。固定比率の選択肢は変わりません。
デフォルトadaptive
フィールドservice_tier種類string要件任意値と制限
default, flex
条件: default=online、flex=offlineです。作成前に選択してください。
デフォルトdefault
フィールドseed種類integer要件必須値と制限
最小値: -1
最大値: 4,294,967,295
デフォルト-1
フィールドcamerafixed種類boolean要件必須値と制限
条件: Ailootでは必須です。参照画像に対するカメラ制御は未サポートと文書に記載されており、効果は保証されません。
デフォルトfalse
フィールドwatermark種類boolean要件必須値と制限デフォルトfalse
フィールドexecution_expires_after種類integer要件必須値と制限
最小値: 3,600
最大値: 259,200
単位: 秒
デフォルト172,800
フィールドgenerate_audio種類boolean要件任意値と制限
条件: 1.5のみで利用できる、生成動画に埋め込まれた同期音声。
デフォルトtrue
入力素材の組み合わせ

メソッドのパラメータとライフサイクル
パラメータ仕様
パラメータcontent_type仕様application/json
パラメータrequired仕様camerafixed, content, execution_expires_after, model, seed, watermark
パラメータoptional仕様duration, resolution, ratio, service_tier, generate_audio
パラメータmaterial_types仕様text, image
パラメータadditional_properties仕様true
パラメータvalidation_scope仕様Ailootは必須フィールドの型と、model/contentの配列が空でないことを確認します。その他のリクエストフィールドは、選択したモデル向けに保持されます。
パラメータimage_constraints仕様{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null}

メソッドのエイリアス: /v1/videos/generations

ライフサイクル: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

作成は一度だけ行い、返された公開id/polling_urlを保持してください。

元のジョブをポーリングしてください。succeededになったら、実際の所有コンテンツであるcontent.video_urlをダウンロードしてください。

料金

最終料金の計算方法

表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード
未指定 高速モードが選択されている場合
Flex モード
未指定 flex モードが選択されている場合
最大推論量
未指定 推論量が最大で、調整に既定値(default)を使用する場合

比較用の推定料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表予測数量音声を生成サービス階層課金単位料金
設定基本トークン料金料金表基本料金予測数量—音声を生成—サービス階層—課金単位—料金
入力 · 入力トークン · 比較専用の見積もり — / 1K トークン
出力 · 出力トークン · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ読み取り · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり — / 1K トークン
設定オフライン処理のサービス区分 (flex)。同期音声付きの出力。料金表—予測数量—音声を生成音声ありサービス階層flex課金単位1K動画トークンあたり料金
出力 · 比較専用の見積もり $0.0024 1K動画トークンあたり
設定オフライン処理のサービス区分 (flex)。同期音声なしの出力。料金表—予測数量—音声を生成音声なしサービス階層flex課金単位1K動画トークンあたり料金
出力 · 比較専用の見積もり $0.0012 1K動画トークンあたり
設定オンライン処理のサービス区分 (default)。同期音声付きの出力。料金表—予測数量—音声を生成音声ありサービス階層default課金単位1K動画トークンあたり料金
出力 · 比較専用の見積もり $0.0048 1K動画トークンあたり
設定オンライン処理のサービス区分 (default)。同期音声なしの出力。料金表—予測数量—音声を生成音声なしサービス階層default課金単位1K動画トークンあたり料金
出力 · 比較専用の見積もり $0.0024 1K動画トークンあたり
設定生成費用の見積もり料金表—予測数量生成1回分の概算音声を生成—サービス階層—課金単位—料金
出力 · 推定生成コスト · 比較専用の見積もり $0.1152 生成前の見積もり

この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

リクエスト例

Ailoot Ultra · 動画

curl · 動画を作成するcurl · 元のタスクを読み取るcurl · 自身が所有する動画をダウンロードする
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt

結果を受け取って保存

Ailoot Ultra · 動画

公開id/polling_urlを持つネイティブJSON。公開後、content.video_urlにはAilootが所有する署名付きURLが含まれます。公開前は、選択された出力URLは空にされます。

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
完了した結果をすべて保存

完了した動画や返されたファイルをすべて保存し、実際に返されたすべてのアセットURLから取得してください。

content.video_urlに含まれる実際のURLをすべて保持してください。indexは実際に返された出力を識別する必要があります。

元のレスポンスを確認する場合

元のレスポンス/ヘッダー/idを保持し、その操作をポーリングしてください。結果不明の作成リクエストは決して再送信しないでください。

レスポンスのフィールド
フィールド種類
フィールドid種類string
フィールドprovider_task_id種類string
フィールドpolling_url種類string
フィールドstatus種類string when supplied
フィールドcontent.video_url種類string|string[]
フィールドusage種類object when supplied
エラーと次の手順
レスポンス条件次の手順
レスポンス400 · invalid_request_error条件JSON/モデル/必須フィールドの型、またはコンテンツのインデックスが無効です。次の手順
レスポンス401 · authentication_error条件Ailoot APIキーが無効です。次の手順
レスポンス404 · not_found_error条件タスク/出力が存在しないか、同じユーザー/APIキー/グループの所有物ではありません。次の手順
レスポンス502 · result_pending_check条件元の送信/ステータスが不完全です。元のIDを保持し、再送信しないでください。次の手順
レスポンス503 · result_pending_check条件元のメディア/ルート/精算を確認中です。元の操作を継続してください。次の手順

エイリアス

モデルのエイリアス

Ailoot Ultra doubao-seedance-1-5-pro-251215

メソッドパスのエイリアス

/v1/videos/generations

関連する呼び出し用ID

doubao-seedance-1-5-pro-251215

FAQ · ByteDance: Seedance 1.5 Pro
利用できる入力と結果は何ですか?

POST /v1/videos · doubao-seedance-1-5-pro-251215: text, image → video

リクエストはどの項目を使用しますか?

POST /v1/videos · doubao-seedance-1-5-pro-251215: model, content, duration, resolution, ratio, service_tier, seed, camerafixed, watermark, execution_expires_after, generate_audio

どの制限が適用されますか?

POST /v1/videos · doubao-seedance-1-5-pro-251215: seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

詳細を見る

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

企業とそのプロジェクト群

企業とそのプロジェクト群:数百万の顧客、毎月数十億規模の売上。

トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション
定期的なリクエストに合う割引プランを選びましょう。
最大50%のプロモコード
購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。
支出を履歴で確認
各リクエストのモデル、トークン、金額が保存されます。

サブスクリプションを選ぶ · モデルの価格を見る

販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ
サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。
リセラーライセンス
プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。
サイトで契約文書を確認
接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

リセラーライセンスを申請 · サービス提供条件とライセンス契約