Alibaba: Wan 2.7
Alibaba Wan 2.7 は、テキスト、開始・終了画像、視覚的な参照から、音付きの動画を作ります。画像のワークフローでは、指定した総時間を使って、元のクリップを延長することもできます。メーカーが示す出力は、720p または 1080p の MP4、30 fps です。テキスト・画像モードは 2–15 秒、参照による生成は最大 10 秒です。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Alibaba Wan 2.7は、テキストから動画、画像から動画、参照による生成という名前付きプロファイルを持つ動画生成ファミリーです。メーカーは、音声と同期したシーンや複数ショットの物語を文書化し、画像フローでは開始・終了フレーム生成と最初の動画の続きも追加しています。商品の遷移、コンパクトな物語、既存ショットに合う続きなど、音を伴う短いクリップが成果物です。元素材と冒頭・末尾に必要な制御に応じてモードを選びます。
テキストから動画では、被写体、場所、動作、カメラ、スタイル、音を記述します。絵コンテでは各ショットと時間範囲を示し、単一ショットなら動作が連続することを述べます。Wan 2.7のプロンプトガイドは、2.6のshot_type制御を使わず、文章からショット構成を解釈させます。現行テキストAPIは中国語または英語の最大5,000文字のプロンプトと、別枠500文字のネガティブプロンプトを受け付け、超過部分は切り捨てます。枠内で重要な動作と条件を明確にします。
最初のフレームの画像から動画は、入力した冒頭画像を動画化します。開始・終了フレーム生成では終点と、それを結ぶ動きも定めます。2.7画像ガイドは、それらのフレーム構成とともに駆動用音声を使うことにも対応します。同じシーンと意図した被写体を持つ両端を準備し、無関係なスタイル参照として両画像を再解釈させず、遷移を説明します。出力は最初の画像の比率に近づき、ガイドは解像度を画素数の段階として扱い、符号化する寸法を適切に丸めます。
動画の続きは元クリップから始め、終了画像も使えます。指定時間は元区間を含む返却動画全体です。ガイド例では、2秒の元映像と10秒の新しい内容で12秒の結果になります。元映像の最終動作を整え、次に何が起きるかを述べ、カメラと被写体の方向を一貫させます。新しい末尾だけでなく、つなぎ目の外観、動き、光、音を確認します。
メーカーの現行の独立した参照プロファイルは、画像または動画でキャラクター、物体、シーンを導きます。ガイドは参照画像と動画を合わせて最大5個とし、Image 1、Video 1など種類別のラベルを使います。各素材の役割と意図する相互作用を説明します。例えば、一つの参照のキャラクターが、別の参照の物体を持って指定の場所を通るシーンを作れます。参照の構図は開始フレーム生成と異なり、指定静止画から始める必要なく新しい構図を定められます。
テキスト生成のカスタム音声はWAVとMP3、2〜30秒、最大15 MBです。選択した動画時間によって使う範囲が決まり、長い音声はその時間で切られ、動画より短い音声は残りが無音になります。ショットに属する正確な音声区間を用意し、意図した視覚動作の余裕を残します。音声ファイルがなければ、メーカーはシーンに合う背景音楽や効果音を生成すると説明しています。実際の音と要求した発話を映像とともに確認します。
現行のモデル一覧は、720pまたは1080p、30fpsのMP4、テキスト・画像の2〜15秒出力です。独立した参照プロファイルは2〜10秒です。テキスト生成の構図は16:9、9:16、1:1、4:3、3:4です。画像条件付きのタスクには独自の元比率に近づける規則があるため、使用先に合うトリミングを準備します。参照プロファイルの時間やアスペクト規則を、フレームや続きのフローへ代用しません。
文書化されたメーカーのフローは非同期で、タスク識別子で処理を追い、成功結果から動画の場所を取得します。結果リンクは24時間有効とされるため、編集レビュー用に実際のクリップと創作素材を保存します。プロンプトの書き換え、透かし、シードの選択肢は選んだ画面に属します。固定シードは再現性を高め得ますが、同一結果を保証しないとメーカーは述べています。設定だけですべての細部が保たれると考えず、返された成果物を指示と比較します。
Wan 2.6と比べ、2.7画像ガイドはマルチモーダルメディア入力による開始・終了フレーム制御と動画の続きを追加しています。Wan 3.0は異なる統合構造と、より長い生成枠を導入します。この2.7プロファイルはタスク別の制御と制限を保ちます。シーン全体の被写体の一貫性、フレームの固定、参照の識別性、対話、動き、つなぎ目を確認し、次の修正を実際に見つかった問題に絞ります。
Ailoot Ultra · 動画 POST /v1/videos alibaba/wan-2.7
alibaba/wan-2.7はじめに
Alibaba Wan 2.7 は、テキスト、開始・終了画像、視覚的な参照から、音付きの動画を作ります。画像のワークフローでは、指定した総時間を使って、元のクリップを延長することもできます。メーカーが示す出力は、720p または 1080p の MP4、30 fps です。テキスト・画像モードは 2–15 秒、参照による生成は最大 10 秒です。
- 対応する入力
- テキスト
- 結果
- 動画
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 動画 POST /v1/videos
- 入力の種類
text- 出力の種類
video- 出力形式
- mp4
- 出力数
- 最大 4 出力s
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 alibaba/wan-2.7 | デフォルト— |
フィールドprompt | 種類string | 要件必須 | 値と制限 最大UTF-8バイト数: 10,000 空白以外の文字が必須: はい | デフォルト— |
フィールドduration | 種類integer | 要件必須 | 値と制限 2, 3, 4, 5, 6, 7, 8, 9, 10 | デフォルト— |
フィールドresolution | 種類string | 要件必須 | 値と制限 720p | デフォルト— |
フィールドaspect_ratio | 種類string | 要件必須 | 値と制限 16:9, 9:16, 1:1, 4:3, 3:4 | デフォルト— |
フィールドgenerate_audio | 種類boolean | 要件必須 | 値と制限 false, true | デフォルト— |
入力素材の組み合わせ
テキストから動画へ · 必須: prompt
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, prompt, duration, resolution, aspect_ratio, generate_audio |
パラメータadditional_properties | 仕様false |
パラメータparameters | 仕様{"name":"model","type":"string","required":true,"enum":["alibaba/wan-2.7"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[2,3,4,5,6,7,8,9,10]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16","1:1","4:3","3:4"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
パラメータmaterial_types | 仕様text |
メソッドのエイリアス: /v1/videos/generations, /videos, /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を保持してください。
結果不明の作成リクエストは、決して再送信しないでください。
料金
最終料金の計算方法
表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
比較用の推定料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | 予測数量 | 音声生成の選択肢 | 解像度 | 課金単位 | 料金 |
|---|---|---|---|---|---|---|
| 設定基本トークン料金 | 料金表基本料金 | 予測数量— | 音声生成の選択肢— | 解像度— | 課金単位— | 料金 入力 · 入力トークン · 比較専用の見積もり — / 1K トークン 出力 · 出力トークン · 比較専用の見積もり — / 1K トークン 入力 · キャッシュ読み取り · 比較専用の見積もり — / 1K トークン 入力 · キャッシュ書き込み · 比較専用の見積もり — / 1K トークン 入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり — / 1K トークン |
| 設定Ultra | 料金表— | 予測数量指定された設定(概算のみ)。 | 音声生成の選択肢音声なし · 音声あり | 解像度720p | 課金単位出力動画1秒あたり | 料金 出力 · 推定動画秒数 · 比較専用の見積もり $0.2 出力動画1秒あたり 表示された単価は、生成前の費用見積もりに使用します。最終請求額は、元の生成に記録された費用から算出されます。動画の実際の再生時間は、課金対象の数量ではありません。 |
| 設定生成費用の見積もり | 料金表— | 予測数量生成1回分の概算 | 音声生成の選択肢— | 解像度— | 課金単位— | 料金 出力 · 推定生成コスト · 比較専用の見積もり $0.4 生成前の見積もり この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。 |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
参考料金の詳細
モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。
動画設定の料金参照情報
設定別の価格
| 設定 | 課金条件 | 料金 |
|---|---|---|
| 設定動画料金 | 課金条件この価格キーには追加条件が定義されていません。 | 料金 出力 · 動画料金 $0.2 動画1秒あたり 表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。 |
リクエスト例
Ailoot Ultra · 動画
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/wan-2.7", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
結果を受け取って保存
Ailoot Ultra · 動画
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
ジョブのステータスを確認
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
その他のコンテンツ取得
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
完了した結果をすべて保存
完了した動画や返されたファイルをすべて保存し、実際に返されたすべてのアセットURLから取得してください。
完了したdata[]にある所有動画の署名付きURLと、ステータスメタデータ全体を保持してください。生成された音声も含めて、すべての出力を保存します。generate_audio=falseでも有効なAAC音声トラックが含まれる場合があります。その音声を含む元のMP4全体を保持してください。
元のレスポンスを確認する場合
既存の元のジョブを読み取ってください。結果不明の送信を決して再実行しないでください。
最大出力数: 4.
レスポンスのフィールド
| フィールド | 種類 | 意味 |
|---|---|---|
フィールドid | 種類string | 意味— |
フィールドobject | 種類string | 意味— |
フィールドmodel | 種類string | 意味— |
フィールドstatus | 種類string | 意味— |
フィールドdata[] | 種類signed content URL | 意味— |
フィールドcharge_pending_check | 種類boolean | 意味— |
フィールドerror.code | 種類string | 意味— |
フィールドerror.message | 種類string | 意味— |
フィールドoperation_id | 種類string | 意味HTTP503 result_pending_checkの元のステータス/コンテンツのレスポンス:idは同じ元の公開動画IDです。 |
フィールドerror.type | 種類string | 意味HTTP503のresult_pending_checkではserver_errorが返されます。 |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件動画プロファイルの解析前に、未加工のリクエスト本文の読み取りに失敗します | 次の手順返されたレスポンスを保持し、読み取りできないリクエスト本文を修正してください。 |
レスポンス422 · price_unavailable | 条件正確な動画プロファイルを解析できないか、解析済みの完全なプロファイルに一致する利用可能な料金表がありません | 次の手順レスポンスを保持してください。利用が許可された正確で完全なプロファイルと、その公開料金表を使用します。この分岐は、プロバイダーへの送信前に実行されます。 |
レスポンス409 · video_not_ready | 条件元の結果のコンテンツはまだ利用できません | 次の手順元の返却IDをポーリングし、Retry-Afterに従ってください。 |
レスポンスserver_error | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作/タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |
レスポンス503 · result_pending_check | 条件元のステータス/コンテンツをGETで取得する際、タスクが未公開で、元のジョブがfailed/cancelled/expiredのいずれでもなく、ローカル状態がunknownまたは元のジョブのステータスがcompletedである場合。 | 次の手順元のidとoperation_id(同じ公開動画ID)、レスポンス、ヘッダーを保持してください。元のステータス/コンテンツだけを読み取ってください。新しい生成リクエストは決して送信しないでください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra alibaba/wan-2.7
メソッドパスのエイリアス
/v1/videos/generations, /videos, /videos/generations
関連する呼び出し用ID
FAQ · Alibaba: Wan 2.7
- 利用できる入力と結果は何ですか?
POST /v1/videos·alibaba/wan-2.7:text→video- リクエストはどの項目を使用しますか?
POST /v1/videos·alibaba/wan-2.7:model,prompt,duration,resolution,aspect_ratio,generate_audio