---
title: "画像から動画を生成するタスクの作成"
description: "PixAI の Tsubaki 動画モデルで画像を動画にします。動画は firstFrameMediaId から始まり、lastFrameMediaId を指定した場合はその画像で終わります。出力は最初のフレームのアスペクト比を維持します。"
canonical: "https://platform.pixai.art/ja/docs/api-v2/video/createFrameVideo"
last-updated: "2026-11-02"
---

# 画像から動画を生成するタスクの作成

PixAI の Tsubaki 動画モデルで画像を動画にします。動画は `firstFrameMediaId` から始まり、`lastFrameMediaId` を指定した場合はその画像で終わります。出力は最初のフレームのアスペクト比を維持します。



フレームには画像のメディア ID を指定します。`POST /v2/media/image/upload-url` で自分の画像をアップロードするか、生成済みの画像を再利用してください。他のユーザーが所有するメディアは拒否されます。

画像から動画への生成には PixAI メンバーシップが必要です。クレジットはタスク作成時に消費されます。結果は `GET /v2/task/{id}` をポーリングして取得します。完了したタスクの動画は `outputs.videoMediaId` です。

## POST https://api.pixai.art/v2/frame-video/create

Authentication: send your API key as `Authorization: Bearer <API key>`.

Machine-readable OpenAPI spec: https://platform.pixai.art/openapi-spec.v2.ja.yaml

### Request body (`application/json`)

- `model` (string, required)
  動画モデルです。`tbkv1.0.1` が最新の Tsubaki 動画モデルです。
  Allowed values: `tbkv1.0.1`, `tbkv1.0`.
- `firstFrameMediaId` (string, required)
  最初のフレームの画像メディア ID です。
- `lastFrameMediaId` (string, optional)
  最後のフレームの画像メディア ID です。最初のフレームと同じ画像を指定するとループ動画になります。
- `prompt` (string | null, optional)
  動画の中で起こる内容です。
  Default: `null`.
- `duration` (integer, optional)
  長さ（秒、整数）です。
  Default: `5`.
  Range: 5 to 15.
- `mode` (string, optional)
  `professional` は `tbkv1.0.1` で 1080p へのアップスケールを追加し、料金が高くなります。`tbkv1.0` では効果がありません。
  Allowed values: `basic`, `professional`.
  Default: `"basic"`.
- `generateAudio` (boolean, optional)
  サウンドトラックを生成するかどうか。
  Default: `true`.
- `audioLanguage` (string | null, optional)
  サウンドトラック内の音声の言語です。音声なしは `none` です。
  Allowed values: `none`, `chinese`, `english`, `japanese`, `korean`, `null`.
  Default: `null`.

Example:

```json
{
  "model": "tbkv1.0.1",
  "firstFrameMediaId": "1943547603237249965",
  "prompt": "she turns around and smiles, hair blowing in the wind",
  "duration": 5
}
```

### Example (cURL)

```bash
curl -X POST https://api.pixai.art/v2/frame-video/create \
  -H "Authorization: Bearer $PIXAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tbkv1.0.1",
    "firstFrameMediaId": "1943547603237249965",
    "prompt": "she turns around and smiles, hair blowing in the wind",
    "duration": 5
  }'
```

### Responses

- `201`
  タスクを作成しました。その `id` で `GET /v2/task/{id}` をポーリングしてください。
  Body fields:
  - `id` (string, required)
    タスクの一意の識別子。
  - `status` (string, required)
    タスクの現在のステータス。
    Allowed values: `waiting`, `running`, `completed`, `cancelled`, `failed`.
  - `createdAt` (string, required)
    タスクの作成時刻。
  - `updatedAt` (string, required)
    タスクの最終更新時刻。
  - `startedAt` (string, optional)
    タスクの開始時刻。
  - `endAt` (string, optional)
    タスクの終了時刻。
  - `taskKind` (string, optional)
    タスクが生成するもの。画像は `t2i` または `i2i`、`POST /v2/gen-task/inpaint` は `inpaint`、`POST /v2/frame-video/create` は `i2v-inhouse`、`POST /v2/reference-video/create` は `reference-video` です。
  - `paidQuota` (integer, optional)
    タスクに課金されたクレジット。
  - `taskStatusMsgI18n` (object, optional)
    `failed` になったタスクの失敗理由。
  - `taskStatusMsgI18n.key` (string, optional)
    変わらないメッセージキー。
  - `taskStatusMsgI18n.defaultMessage` (string, optional)
    英語のメッセージ。
  - `outputs` (object, optional)
    タスクで生成された出力。
  - `outputs.videoMediaId` (string, optional)
    動画タスクの場合、動画のメディア ID です。`GET /v2/media/batch?ids=<videoMediaId>` で解決し、`fileUrl` をダウンロードしてください。このとき `mediaIds` にはポスター画像だけが入ります。
  - `outputs.seed` (string, optional)
    使われたシード値（10 進数の文字列）。
  - `outputs.mediaIds` (string[], optional)
    生成された画像のメディア ID です。これらの ID を使用して各生成画像の詳細情報を取得できます。

    生成された画像は通常、恒久的には保持されません。できるだけ早く取得してください。
  - `outputs.mediaUrls` ((string | null)[], optional)
    生成された画像の公開 URL です。

    生成された画像は通常、恒久的には保持されません。できるだけ早く取得してください。画像が利用できない場合、その項目は `null` になることがあります。
- `400`
  - `INVALID_REFERENCE_MEDIA`: フレームが存在しない、画像ではない、または他のユーザーのものです。`data.code` は `invalid_input` または `media_not_owned` で、`data.mediaId` に該当するフレームが示されます。
  - `BAD_REQUEST`（`data.issues` あり）: ボディの検証に失敗しました。
- `401`
  `UNAUTHORIZED`: API キーが送られていません。無効、失効済み、期限切れのキーの場合は、数値の `code` を持つ `{"message": "invalid token", "code": 40100001}` が返ります。
- `403`
  現在このアカウントではこのタスクを実行できません。理由は `code` で示されます:

  - `INSUFFICIENT_BALANCE`: タスクに必要なクレジットが不足しています。
  - `WAITING_NUM_EXCEEDED`: `waiting` 状態のタスクが多すぎます（`data.currentWaitingTasks`）。いくつか実行が始まるまで待ってから送信してください。
  - `REQUIRE_MEMBERSHIP`: この機能には PixAI メンバーシップが必要です（画像から動画への生成）。
  - `NSFW_PROMPTS_DETECTED`: アカウントがセーフモードのため、プロンプトが拒否されました。
- `500`
  `CREATION_FAILED`: タスクを作成できませんでした。指数バックオフで再試行してください。
