メインコンテンツへスキップ
POST
/
v1
/
seedance2
/
private-avatar
curl --request POST \
  --url https://api.apimart.ai/v1/seedance2/private-avatar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "group": {
      "name": "virtual-avatar-group",
      "description": "demo group"
    },
    "project_name": "default",
    "asset_type": "Image",
    "assets": [
      {
        "url": "https://example.com/avatar-a.png",
        "name": "avatar-a"
      },
      {
        "url": "https://example.com/avatar-b.png",
        "name": "avatar-b"
      }
    ]
  }'
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "object": "seedance.avatar.asset.task",
    "status": "processing",
    "progress": 10,
    "model": "doubao-seedance-2.0"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/seedance2/private-avatar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "group": {
      "name": "virtual-avatar-group",
      "description": "demo group"
    },
    "project_name": "default",
    "asset_type": "Image",
    "assets": [
      {
        "url": "https://example.com/avatar-a.png",
        "name": "avatar-a"
      },
      {
        "url": "https://example.com/avatar-b.png",
        "name": "avatar-b"
      }
    ]
  }'
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "object": "seedance.avatar.asset.task",
    "status": "processing",
    "progress": 10,
    "model": "doubao-seedance-2.0"
  }
}

認証

Authorization
string
必須
すべてのリクエストに Bearer Token 認証が必要ですAPI Key の取得:API Key 管理ページ にアクセスして API Key を取得してください各リクエストに以下のヘッダーを追加してください:
Authorization: Bearer YOUR_API_KEY

リクエストパラメータ

group
object
アセットグループ情報group_id を指定しない場合、サーバーはこのフィールドをもとに AIGC タイプのアセットグループを自動作成します例:
{
  "group": {
    "name": "virtual-avatar-group",
    "description": "demo group"
  }
}
group_id と同時に指定することはできません。どちらか一方を使用してください
group_id
string
既存アセットグループ ID指定した場合はグループ作成をスキップし、そのグループに直接アセットを送信します
group と同時に指定することはできません。どちらか一方を使用してください
project_name
string
デフォルト:"default"
プロジェクト名デフォルト:default
asset_type
string
デフォルト:"Image"
アセットタイプ選択肢:
  • Image - 画像アセット(デフォルト)
  • Video - 動画アセット
  • Audio - 音声アセット
デフォルト:Image
assets
array
アセットリスト、1 回のリクエストで複数のアセットを送信できます
1 回の送信で最大 20 件まで
例:
{
  "assets": [
    {
      "url": "https://example.com/avatar-a.png",
      "name": "avatar-a"
    },
    {
      "url": "https://example.com/avatar-b.png",
      "name": "avatar-b"
    }
  ]
}
url
string
単一アセット互換記法:アセット URL
assets 配列とどちらか一方のみ使用可能。単一アセットの送信に適しています
name
string
単一アセット互換記法:アセット名
assets 配列とどちらか一方のみ使用可能。単一アセットの送信に適しています

レスポンス

code
integer
レスポンスステータスコード。成功時は 200
data
object
タスク情報

使用例

例 1:バッチ送信(グループ自動作成)

group_id を指定しない場合、サーバーが AIGC タイプのアセットグループを自動作成してから送信します。
{
  "group": {
    "name": "virtual-avatar-group",
    "description": "demo group"
  },
  "project_name": "default",
  "asset_type": "Image",
  "assets": [
    {
      "url": "https://example.com/avatar-a.png",
      "name": "avatar-a"
    },
    {
      "url": "https://example.com/avatar-b.png",
      "name": "avatar-b"
    }
  ]
}

例 2:既存グループへのアセット追加

group_id を指定することでグループ作成をスキップして直接送信します。
{
  "group_id": "group_xxx",
  "project_name": "default",
  "asset_type": "Image",
  "assets": [
    {
      "url": "https://example.com/avatar-a.png",
      "name": "avatar-a"
    }
  ]
}

例 3:単一アセット互換記法

アセットが 1 件のみの場合、トップレベルの urlname フィールドを直接使用できます。
{
  "group_id": "group_xxx",
  "url": "https://example.com/avatar.png",
  "asset_type": "Image",
  "name": "avatar-1"
}

審査結果の確認

アセット送信後は非同期審査タスクになります。タスク状態の取得 エンドポイントで進捗を確認してください:
GET /v1/tasks/{id}

全件承認

{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed",
    "progress": 100,
    "result": {
      "assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Active"
        }
      ],
      "usable_assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Active"
        }
      ],
      "failed_assets": []
    }
  }
}

一部失敗

バッチ送信で 1 件でも審査に失敗した場合、タスク状態は failed になります。承認済みアセットは引き続き使用可能で、result.usable_assets に表示されます。
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "failed",
    "progress": 100,
    "result": {
      "assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Failed"
        }
      ],
      "usable_assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        }
      ],
      "failed_assets": [
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Failed"
        }
      ]
    },
    "error": {
      "code": "task_failed",
      "message": "一部のアセットの審査に失敗しました"
    }
  }
}
  • result.usable_assets[].asset_url は Seedance 2.0 の動画生成で直接使用できます
  • result.failed_assets 内のアセットはソースファイルを差し替えるか再送信が必要です
  • 単一アセットのタスクでも互換として result.asset_url が返されます

審査済みアセットの使用

asset://... URL を Seedance 2.0 動画生成 エンドポイントに直接渡してください:
{
  "model": "doubao-seedance-2.0",
  "prompt": "キャラクターが都市の街路を自然に歩く",
  "image_urls": ["asset://asset_a"],
  "duration": 5,
  "resolution": "720p"
}
サーバーが asset:// プレフィックスを検出すると、アセット審査を再度トリガーせず、直接生成タスクを送信します。