curl --request POST \
--url https://api.tokenlab.sh/v1/videos/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_url": "https://example.com/reference.png",
"asset_name": "Front view",
"asset_type": "Image",
"library_type": "aigc_avatar",
"group_id": "group-20260720123456-vrt01"
}
'{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}ビデオと素材
マテリアルアセットの作成
SeedanceマテリアルアセットをTokenLabマテリアルグループにアップロードします。
POST
/
v1
/
videos
/
assets
curl --request POST \
--url https://api.tokenlab.sh/v1/videos/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_url": "https://example.com/reference.png",
"asset_name": "Front view",
"asset_type": "Image",
"library_type": "aigc_avatar",
"group_id": "group-20260720123456-vrt01"
}
'{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}公開されているソースURLからSeedanceマテリアルグループにインポートします。TokenLabは後で使用するためにマテリアルを保存します。生成時にはソースURLではなく、返されたマテリアルアセットの
TokenLab はソース URL、メディア形式、ファイルサイズ、読み取り可能な画像寸法を確認します。インポートの受付は利用準備の完了を意味しません。
id を使用してください。
library_type: "aigc_avatar" の場合、group_id は任意です。TokenLabは組織のデフォルトのバーチャルアバターグループを使用または作成します。library_type: "liveness_face" の場合、group_id は必須であり、ビジュアル確認結果の取得によって返されるTokenLabグループである必要があります。
| タイプ | サポートされている入力 |
|---|---|
| 画像 | jpeg, jpg, png, webp, bmp, tiff, gif, heic, heif; ≤30 MiB; 幅と高さ [300, 6000] px; アスペクト比 [0.4, 2.5]. |
| 動画 | mp4, mov; ≤200 MiB. |
| 音声 | aac, wav, mp3; ≤15 MiB. |
ACTIVE を待ち、処理が失敗した場合は error_message を確認してください。その他のメディアや顔の条件は処理中に検証されます。
作成は非同期で行われます。status が ACTIVE になるまで マテリアルアセットの取得 をポーリングしてください。実在人物グループの場合、1つのグループは1人の認証済み人物に対応します。複数の顔が含まれている場合や、認証済みの人物と一致しない顔がアップロードされた場合は失敗する可能性があります。
project_name は認証済み組織内のリソースを分離します。デフォルトは default です。関連するグループと素材には、大文字と小文字を区別した同じ値を使用してください。POST/PUT では JSON ボディ、GET/DELETE ではクエリに指定します。
リクエスト例
curl https://api.tokenlab.sh/v1/videos/assets \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"library_type":"aigc_avatar","group_id":"group-20260720123456-vrt01","asset_url":"https://example.com/reference.png","asset_type":"Image","asset_name":"Front view","project_name":"default"}'
レスポンス例
{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"project_name": "default",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}
承認
APIキー認証。Dashboard > API > API KeysでAPIキーを作成または管理します。
ボディ
application/json
インポート可能な公開ソースURL。TokenLabは素材を後で使用するために保存しますが、このURLを長期的な素材アドレスとして依存しないでください。
素材アセットに保存されるオプションの表示名。
Required string length:
1 - 128利用可能なオプション:
Image, Video, Audio 素材ライブラリのクラス。aigc_avatarは仮想アバター素材用、liveness_faceは検証済み実在人物素材用です。
利用可能なオプション:
aigc_avatar, liveness_face TokenLab素材グループID。liveness_face素材には必須、aigc_avatarにはオプションです。
素材アセットのプロジェクトスコープ。アセットとグループは、認証された組織内のプロジェクトごとに分離されます。
Required string length:
1 - 128素材アセットに保存されるオプションのクライアントメタデータ。
レスポンス
素材アセットが作成されました
TokenLab素材アセットID。アセットがACTIVEになった後、material_asset_idとして使用してください。
利用可能なオプション:
seedance.material_asset 利用可能なオプション:
aigc_avatar, liveness_face 利用可能なオプション:
Image, Video, Audio 利用可能なオプション:
PROCESSING, ACTIVE, FAILED, DELETED アセットがアクティブで、削除されていない場合にtrueとなります。
この素材アセットを所有するTokenLab素材グループID。
この素材アセットのプロジェクトスコープ。
公開可能な最終処理エラー。永続的なソース検証エラーには、拒否された寸法制約などが含まれます。
素材アセットレコードが作成されたUnixタイムスタンプ。
素材アセットレコードが最後に更新されたUnixタイムスタンプ。