# Seedance 2.0 Fast (https://wanapi.app/ja/docs/seedance-2-0-fast)





Seedance 2.0 Fast は、テキスト、開始・終了フレーム、画像・動画・音声の参照素材に対応し、480p、720p で出力します。1 回で最長 15 秒の動画を生成できます。[モデルの詳細と Playground](/ja/models/seedance-2-0-fast)。

## Wan API に接続する [#wan-api-に接続する]

API のベース URL は `https://api.wanapi.app` です。[API キー設定](/ja/settings/apikeys)で **Seedance** モデルファミリーを指定したキーを作り、`Authorization: Bearer YOUR_API_KEY` として送信します。キーはサーバーで保管してください。Playground はウェブサイトのセッションを使い、同じアカウント残高から課金します。ブラウザーにキーを貼り付ける必要はありません。

利用には、有効なアカウントと十分な残高が必要です。`GET /v1/models` で、そのキーから利用できるモデルを確認できます。Seedance モデルには `POST /v1/videos` を使い、JSON 本文でモデルを選びます。

| 設定              | Seedance 2.0 Fast                                                |
| --------------- | ---------------------------------------------------------------- |
| モデル ID          | `bytedance/seedance-2.0-fast`                                    |
| `resolution`    | `480p`、`720p`。既定：`720p`。                                         |
| `duration`      | 出力は 4～15 秒。`-1` は自動。既定：`5`。                                      |
| `aspectRatio`   | `adaptive`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`21:9`。既定：`adaptive`。 |
| `generateAudio` | 既定は `true`。`false` にしてもトークン単価は下がりません。                            |
| 出力              | 1 リクエストにつき 24 fps の動画 1 本。                                       |

[リクエストフィールド](#リクエストフィールド)で、トップレベルの全 13 フィールドを説明します。`aspectRatio`、`generateAudio` を含め、記載どおりのフィールド名を使ってください。

## Seedance 2.0 Fast のタスクを送信する [#seedance-20-fast-のタスクを送信する]

次は、720p・4 秒のテキストから動画を生成するリクエストです。サーバー側で `WAN_API_KEY` に Seedance キーを設定してください。一度だけ送信し、返された `id` を保存します。

```bash
curl https://api.wanapi.app/v1/videos \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedance-2.0-fast",
  "prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.",
  "resolution": "720p",
  "aspectRatio": "16:9",
  "duration": 4,
  "generateAudio": true
}'
```

## Seedance 2.0 Fast のタスクを照会する [#seedance-20-fast-のタスクを照会する]

返された `id` を `TASK_ID` として保存し、同じキーで照会します。送信時にはタスクの受付情報が返り、動画は完了後に取得できます。まず 5 秒間隔で状態を確認してください。[タスクの状態確認とダウンロード](#動画の状態確認とダウンロード)も参照できます。

```bash
curl "https://api.wanapi.app/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $WAN_API_KEY"
```

## Seedance 2.0 Fast の料金 [#seedance-20-fast-の料金]

単価は動画トークン 100 万あたりの USD です。入力と出力の動画トークンで最終費用が決まります。解像度、動画の長さ、参照動画の入力が使用量に影響するため、参照動画の有無に対応する単価を使ってください。音声に別の料金区分はありません。

<SeedanceModelPricing model="findSeedanceModel('seedance-2-0-fast')" />

[Seedance 2.0 Fast の料金と見積もりを見る](/ja/models/seedance-2-0-fast#pricing)。送信前に [Playground](/ja/models/seedance-2-0-fast#playground) の見積もりを確認してください。

## リクエストフィールド [#リクエストフィールド]

JSON オブジェクトを送信します。`model` と、空でないプロンプトまたは少なくとも一つのメディア入力が必要です。その他のフィールドは任意です。不明なフィールドは拒否されます。

| フィールド             | 型                  | 仕様                                                                                                                              |
| ----------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| `model`           | string             | 必須：`bytedance/seedance-2.0-fast`。                                                                                               |
| `prompt`          | string             | テキストの指示。このサービスでは最大 20,000 文字。プロンプトまたはメディア入力が必要です。                                                                               |
| `image`           | URL または URL オブジェクト | 開始フレームの画像 URL、または `type: "url"`、`url`、任意の `mediaType` を持つオブジェクト。`image` と `frameImages` はどちらか一方を使います。                           |
| `frameImages`     | array              | 一つの `first_frame` と、任意の `last_frame`。各要素は `frameType` と `image` を持ちます。後述のフレーム例を参照してください。                                        |
| `inputReferences` | array              | 画像は最大 9 枚、動画は最大 3 本。各要素は `type: "url"`、`url`、`mediaType` を持ちます。`data`/`mediaType` の URL 形式も受け付けます。                              |
| `aspectRatio`     | string             | `adaptive`（既定）、`16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`21:9`。                                                                          |
| `resolution`      | string             | `480p`、`720p`。既定：`720p`。解像度の区分として `854x480`、`1280x720` も受け付けます。形状は `aspectRatio` で選びます。                                         |
| `duration`        | integer            | 出力は 4～15 秒。`-1` は自動。既定：`5`。                                                                                                     |
| `fps`             | integer            | `24` 固定。省略するか `24` を送信します。                                                                                                      |
| `seed`            | integer            | 任意。`-1`～`2147483647`。再現性の保証はありません。`providerOptions.bytedance.seed` と同時に指定しないでください。                                              |
| `generateAudio`   | boolean            | 音声を生成します。既定：`true`。無効にしてもトークン単価は変わりません。                                                                                         |
| `n`               | integer            | `1` 固定。1 リクエストにつき動画 1 本。                                                                                                        |
| `providerOptions` | object             | 任意の `bytedance` オブジェクト：`referenceAudio`（最大 3 件の HTTP(S) URL）、`seed`（トップレベルの `seed` と同じ範囲）。`draft: true` は非対応です。不明なオプションは拒否されます。 |

### 入力の組み合わせとメディアの上限 [#入力の組み合わせとメディアの上限]

* 開始フレームには `image`、開始フレームと任意の終了フレームには `frameImages` を使います。終了フレームのみの指定や、フレーム種類の重複は拒否されます。

* フレームは `inputReferences` や `providerOptions.bytedance.referenceAudio` と併用できません。

* 参照モードの上限は画像 9 枚、動画 3 本、音声 3 本で、合計 15 件までです。

* メディア入力は公開 HTTP(S) URL にする必要があります。バイトデータのアップロードや、認証情報を含む URL は受け付けません。

* 画像：JPEG、PNG、WebP、BMP、TIFF、GIF。30 MB 未満、各辺 300～6000 ピクセル、縦横比 0.4～2.5。

* 動画：MP4 または MOV。1 ファイル 50 MB 以下、各動画 2～15 秒、合計 15 秒以内。各辺 300～6000 ピクセル、縦横比 0.4～2.5、24～60 fps。

* 音声：MP3 または WAV。1 ファイル 15 MB 以下、各音声 2～15 秒、合計 15 秒以内。参照画像または参照動画が少なくとも一つ必要です。

* 外部メディアのサイズ、エンコード、長さは処理中に確認します。URL の検証だけではファイルが使えるとは保証できません。

* このエンドポイントでは、過去のタスクのドラフトから最終出力へのレンダリングや、任意のネイティブタスクオプションは提供していません。

## フレームと参照素材の例 [#フレームと参照素材の例]

次の本文は同じ `POST /v1/videos` エンドポイントに送信します。送信前にすべての `example.com` URL を、自分の直接アクセスできるメディア URL に置き換えてください。入力 URL はタスクが完了するまで利用可能にしておきます。

### 開始・終了フレーム [#開始終了フレーム]

開始フレームだけなら `image: "https://example.com/first-frame.jpg"` を使い、`frameImages` は省略します。動画の両端を指定する場合は次の形式です。

```json
{
  "model": "bytedance/seedance-2.0-fast",
  "prompt": "The camera slowly moves from the opening scene to the closing scene.",
  "frameImages": [
    {
      "frameType": "first_frame",
      "image": "https://example.com/first-frame.jpg"
    },
    {
      "frameType": "last_frame",
      "image": "https://example.com/last-frame.jpg"
    }
  ],
  "aspectRatio": "adaptive",
  "resolution": "720p",
  "duration": 4
}
```

### 画像・動画・音声の参照素材 [#画像動画音声の参照素材]

画像と動画の入力は、MIME タイプを明示して `inputReferences` に入れます。音声 URL は `providerOptions.bytedance.referenceAudio` に入れます。このリクエストにフレーム入力を追加しないでください。

```json
{
  "model": "bytedance/seedance-2.0-fast",
  "prompt": "Use the character from the image and the camera movement from the video.",
  "inputReferences": [
    {
      "type": "url",
      "url": "https://example.com/character.jpg",
      "mediaType": "image/jpeg"
    },
    {
      "type": "url",
      "url": "https://example.com/motion.mp4",
      "mediaType": "video/mp4"
    }
  ],
  "providerOptions": {
    "bytedance": {
      "referenceAudio": [
        "https://example.com/sound.wav"
      ]
    }
  },
  "resolution": "720p",
  "duration": 4
}
```

## 動画の状態確認とダウンロード [#動画の状態確認とダウンロード]

受け付けたタスクは次のようなオブジェクトを返します。ID とタイムスタンプは説明用の例です。

```json
{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1792022400
}
```

API キーを使い、`GET /v1/videos/{task_id}` で状態を確認します。同じ公開タスク ID とモデルが返されます。確認を終えるタイミングは `status` で判断してください。`progress` は残り時間の見積もりではありません。

| 状態            | 意味           | 次の操作                           |
| ------------- | ------------ | ------------------------------ |
| `queued`      | タスクを受け付けました。 | 状態確認を続けます。                     |
| `in_progress` | 生成中です。       | 状態確認を続けます。                     |
| `completed`   | 動画が完成しました。   | `videos[0].url` を読み、ダウンロードします。 |
| `failed`      | 生成に失敗しました。   | 状態確認を終了し、`error` を確認します。       |

完了したタスクの照会結果には、`url` と `mediaType` を持つオブジェクトの配列 `videos` が含まれます。タイムスタンプは Unix 秒です。完了が記録されると `completed_at` が現れます。

```json
{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0-fast",
  "status": "completed",
  "progress": 100,
  "created_at": 1792022400,
  "completed_at": 1792022460,
  "videos": [
    {
      "url": "/v1/tasks/task_EXAMPLE/artifacts/video/content",
      "mediaType": "video/mp4"
    }
  ]
}
```

返された URL が相対パスの場合は、`https://api.wanapi.app` を基準に解決し、API キーで認証します。上の例では次のようになります。

```bash
curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -o video.mp4
```

署名付き HTTPS メディア URL が返された場合は、そのホストに API キーを送らず、URL を直接使います。結果 URL は期限切れになる場合があります。残したい動画は自分のストレージに保存してください。既存の結果の状態確認やダウンロードで、新しい生成が行われることはありません。

失敗したタスクには `code` と `message` を持つ `error` オブジェクトが含まれます。次はその例です。

```json
{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0-fast",
  "status": "failed",
  "error": {
    "code": "generation_failed",
    "message": "Video generation failed"
  }
}
```

## 課金と失敗時の対応 [#課金と失敗時の対応]

最終料金は、実際の動画トークン使用量と現在のモデル単価に基づきます。Playground の見積もりは最大額の見積もりで、確定金額ではありません。動画を長くしたり、出力解像度を上げたりすると、トークン使用量が増える場合があります。失敗したリクエストは課金されません。

* **無効なパラメーター：** 再送信の前にフィールドや入力の組み合わせを修正します。URL の構文だけでなく、メディアの形式と上限も確認してください。
* **認証やモデルへのアクセス：** 指定したモデルを利用できる有効な Seedance キーを使います。
* **残高不足：** 新しい有料リクエストの前にチャージします。キーの上限設定でアカウント残高が増えることはありません。
* **一時的な状態確認の失敗：** 待機時間を延ばし、最大待機時間を設けて GET を再試行します。照会の失敗は生成の失敗を意味しません。
* **送信のタイムアウトやタスク ID の欠落：** 結果が不明な場合があります。別の有料タスクを作る可能性があるため、POST を自動で繰り返さないでください。
* **ダウンロードの失敗：** 新しく生成する前に、既存の結果の取得を再試行します。

タスク ID を保存し、結果不明の送信について調査が必要な場合は[サポート](/ja/contact)にお問い合わせください。

[Seedance 2.0 Fast の OpenAPI スキーマをダウンロード](https://wanapi.app/models/seedance-2-0-fast/openapi.json)。
