@tokenlabai/mcp-server 0.6.7 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -828,7 +828,7 @@
828
828
  "Video"
829
829
  ],
830
830
  "summary": "Create Seedance material asset",
831
- "description": "Uploads one Seedance material asset URL into a TokenLab material group. Real-person assets require the TokenLab group_id returned by the real-person verification bind flow.",
831
+ "description": "Uploads one Seedance material asset URL into a TokenLab material group. Real-person assets require the group_id mapped from Result.GroupId returned by GetVisualValidateResult.",
832
832
  "operationId": "createSeedanceMaterialAsset",
833
833
  "requestBody": {
834
834
  "required": true,
@@ -1025,232 +1025,6 @@
1025
1025
  }
1026
1026
  }
1027
1027
  },
1028
- "/v1/videos/assets/visual-validation-sessions": {
1029
- "post": {
1030
- "tags": [
1031
- "Video"
1032
- ],
1033
- "summary": "Create Seedance real-person verification session",
1034
- "description": "Creates a TokenLab real-person material verification H5 session. The response contains only TokenLab session fields. The session and H5 link are valid for 120 seconds; the binding token is delivered through the TokenLab callback redirect after the H5 flow completes.",
1035
- "operationId": "createSeedanceVisualValidationSession",
1036
- "requestBody": {
1037
- "required": true,
1038
- "content": {
1039
- "application/json": {
1040
- "schema": {
1041
- "$ref": "#/components/schemas/SeedanceVisualValidationSessionCreateRequest"
1042
- },
1043
- "examples": {
1044
- "create_session": {
1045
- "summary": "Create a verification session",
1046
- "value": {
1047
- "callback_url": "https://yourapp.example.com/seedance/callback",
1048
- "language": "en"
1049
- }
1050
- }
1051
- }
1052
- }
1053
- }
1054
- },
1055
- "responses": {
1056
- "201": {
1057
- "description": "Real-person verification session created",
1058
- "content": {
1059
- "application/json": {
1060
- "schema": {
1061
- "$ref": "#/components/schemas/SeedanceVisualValidationSession"
1062
- },
1063
- "examples": {
1064
- "session_created": {
1065
- "summary": "Verification session created",
1066
- "value": {
1067
- "object": "seedance.visual_validation_session",
1068
- "session_id": "svv_abc123",
1069
- "h5_link": "https://verify.example.com/h5?lng=en",
1070
- "callback_url": "https://yourapp.example.com/seedance/callback",
1071
- "expires_in": 120,
1072
- "language": "en"
1073
- }
1074
- }
1075
- }
1076
- }
1077
- }
1078
- },
1079
- "400": {
1080
- "$ref": "#/components/responses/BadRequest"
1081
- },
1082
- "401": {
1083
- "$ref": "#/components/responses/Unauthorized"
1084
- },
1085
- "500": {
1086
- "$ref": "#/components/responses/ServerError"
1087
- },
1088
- "503": {
1089
- "$ref": "#/components/responses/MaterialLibraryUnavailable"
1090
- }
1091
- }
1092
- },
1093
- "get": {
1094
- "tags": [
1095
- "Video"
1096
- ],
1097
- "summary": "List Seedance real-person verification history",
1098
- "description": "Lists TokenLab real-person material verification history for the authenticated organization. The response contains only TokenLab IDs and session status fields.",
1099
- "operationId": "listSeedanceVisualValidationHistory",
1100
- "parameters": [
1101
- {
1102
- "name": "page_size",
1103
- "in": "query",
1104
- "required": false,
1105
- "schema": {
1106
- "type": "integer",
1107
- "minimum": 1,
1108
- "maximum": 100,
1109
- "default": 20
1110
- },
1111
- "description": "Maximum number of history records to return."
1112
- },
1113
- {
1114
- "name": "page_token",
1115
- "in": "query",
1116
- "required": false,
1117
- "schema": {
1118
- "type": "string"
1119
- },
1120
- "description": "Pagination token from a previous response."
1121
- }
1122
- ],
1123
- "responses": {
1124
- "200": {
1125
- "description": "Real-person verification history list",
1126
- "content": {
1127
- "application/json": {
1128
- "schema": {
1129
- "$ref": "#/components/schemas/SeedanceVisualValidationHistoryList"
1130
- },
1131
- "examples": {
1132
- "verification_history": {
1133
- "summary": "Verification session history",
1134
- "value": {
1135
- "sessions": [
1136
- {
1137
- "object": "seedance.visual_validation_session_history",
1138
- "session_id": "svv_abc123",
1139
- "callback_url": "https://yourapp.example.com/seedance/callback",
1140
- "language": "en",
1141
- "status": "bound",
1142
- "verification_status": "succeeded",
1143
- "result_code": "10000",
1144
- "group_id": "group-20260720123456-real1",
1145
- "group_name": "Creator A",
1146
- "error_message": null,
1147
- "created_at": 1782998400000,
1148
- "expires_at": 1782998520000,
1149
- "callback_received_at": 1782998450000,
1150
- "bound_at": 1782998460000
1151
- }
1152
- ],
1153
- "next_page_token": null
1154
- }
1155
- }
1156
- }
1157
- }
1158
- }
1159
- },
1160
- "400": {
1161
- "$ref": "#/components/responses/BadRequest"
1162
- },
1163
- "401": {
1164
- "$ref": "#/components/responses/Unauthorized"
1165
- },
1166
- "500": {
1167
- "$ref": "#/components/responses/ServerError"
1168
- },
1169
- "503": {
1170
- "$ref": "#/components/responses/MaterialLibraryUnavailable"
1171
- }
1172
- }
1173
- }
1174
- },
1175
- "/v1/videos/assets/visual-validation-results": {
1176
- "post": {
1177
- "tags": [
1178
- "Video"
1179
- ],
1180
- "summary": "Bind Seedance real-person verification result",
1181
- "description": "Binds a successful TokenLab real-person verification session to a TokenLab real-person material group. The request must include session_id and verification_token from the TokenLab callback redirect.",
1182
- "operationId": "bindSeedanceVisualValidationResult",
1183
- "requestBody": {
1184
- "required": true,
1185
- "content": {
1186
- "application/json": {
1187
- "schema": {
1188
- "$ref": "#/components/schemas/SeedanceVisualValidationResultBindRequest"
1189
- },
1190
- "examples": {
1191
- "bind_result": {
1192
- "summary": "Bind a successful verification result",
1193
- "value": {
1194
- "session_id": "svv_abc123",
1195
- "verification_token": "svvt_def456",
1196
- "group_name": "Creator A"
1197
- }
1198
- }
1199
- }
1200
- }
1201
- }
1202
- },
1203
- "responses": {
1204
- "200": {
1205
- "description": "Real-person material group bound",
1206
- "content": {
1207
- "application/json": {
1208
- "schema": {
1209
- "$ref": "#/components/schemas/SeedanceVisualValidationResult"
1210
- },
1211
- "examples": {
1212
- "bound_group": {
1213
- "summary": "Real-person material group bound",
1214
- "value": {
1215
- "object": "seedance.visual_validation_result",
1216
- "group_id": "group-20260720123456-real1",
1217
- "material_group": {
1218
- "id": "group-20260720123456-real1",
1219
- "library_type": "liveness_face",
1220
- "status": "ACTIVE",
1221
- "group_name": "Creator A"
1222
- }
1223
- }
1224
- }
1225
- }
1226
- }
1227
- }
1228
- },
1229
- "400": {
1230
- "$ref": "#/components/responses/BadRequest"
1231
- },
1232
- "401": {
1233
- "$ref": "#/components/responses/Unauthorized"
1234
- },
1235
- "409": {
1236
- "description": "Material group mapping conflict",
1237
- "content": {
1238
- "application/json": {
1239
- "schema": {
1240
- "$ref": "#/components/schemas/ApiError"
1241
- }
1242
- }
1243
- }
1244
- },
1245
- "500": {
1246
- "$ref": "#/components/responses/ServerError"
1247
- },
1248
- "503": {
1249
- "$ref": "#/components/responses/MaterialLibraryUnavailable"
1250
- }
1251
- }
1252
- }
1253
- },
1254
1028
  "/v1/videos/assets/{assetId}": {
1255
1029
  "get": {
1256
1030
  "tags": [
@@ -5550,7 +5324,7 @@
5550
5324
  "Video"
5551
5325
  ],
5552
5326
  "summary": "Create Seedance material asset group",
5553
- "description": "Creates a TokenLab Seedance virtual-avatar material group. Real-person material groups are created by the real-person verification bind flow.",
5327
+ "description": "Creates a TokenLab Seedance virtual-avatar material group. Real-person material groups are created by GetVisualValidateResult after the H5 validation succeeds.",
5554
5328
  "operationId": "createSeedanceMaterialAssetGroup",
5555
5329
  "requestBody": {
5556
5330
  "required": true,
@@ -5627,7 +5401,7 @@
5627
5401
  "Video"
5628
5402
  ],
5629
5403
  "summary": "List Seedance material asset groups",
5630
- "description": "Lists Seedance material groups owned by the authenticated organization. Real-person groups are returned after a successful verification bind flow.",
5404
+ "description": "Lists Seedance material groups owned by the authenticated organization. Real-person groups are returned after GetVisualValidateResult succeeds.",
5631
5405
  "operationId": "listSeedanceMaterialAssetGroups",
5632
5406
  "parameters": [
5633
5407
  {
@@ -6327,7 +6101,7 @@
6327
6101
  "Seedance Volc Compatible"
6328
6102
  ],
6329
6103
  "summary": "Seedance Action dispatcher (POST)",
6330
- "description": "Dispatches Volc-style Action requests. The Action and Version fields may be in the query string or JSON body.",
6104
+ "description": "Dispatches Volc-style Action requests with TokenLab Bearer authentication. Real-person validation uses CreateVisualValidateSession and GetVisualValidateResult with Version=2024-01-01; these actions are POST-only.",
6331
6105
  "operationId": "dispatchVolcCompatibleSeedanceActionPost",
6332
6106
  "parameters": [
6333
6107
  {
@@ -6340,7 +6114,9 @@
6340
6114
  "CreateContentsGenerationsTasks",
6341
6115
  "GetContentsGenerationsTask",
6342
6116
  "ListContentsGenerationsTasks",
6343
- "DeleteContentsGenerationsTasks"
6117
+ "DeleteContentsGenerationsTasks",
6118
+ "CreateVisualValidateSession",
6119
+ "GetVisualValidateResult"
6344
6120
  ]
6345
6121
  }
6346
6122
  },
@@ -6359,15 +6135,25 @@
6359
6135
  "content": {
6360
6136
  "application/json": {
6361
6137
  "schema": {
6362
- "type": "object",
6363
- "additionalProperties": true
6138
+ "anyOf": [
6139
+ {
6140
+ "$ref": "#/components/schemas/VolcCreateVisualValidateSessionRequest"
6141
+ },
6142
+ {
6143
+ "$ref": "#/components/schemas/VolcGetVisualValidateResultRequest"
6144
+ },
6145
+ {
6146
+ "type": "object",
6147
+ "additionalProperties": true
6148
+ }
6149
+ ]
6364
6150
  }
6365
6151
  }
6366
6152
  }
6367
6153
  },
6368
6154
  "responses": {
6369
6155
  "200": {
6370
- "description": "Action response. Create/Get/List actions return JSON; DeleteContentsGenerationsTasks returns an empty body.",
6156
+ "description": "Action response. Content-generation actions return task JSON; real-person validation actions return the official ResponseMetadata + Result envelope.",
6371
6157
  "content": {
6372
6158
  "application/json": {
6373
6159
  "schema": {
@@ -6380,6 +6166,12 @@
6380
6166
  },
6381
6167
  {
6382
6168
  "$ref": "#/components/schemas/VolcSeedanceTaskListResponse"
6169
+ },
6170
+ {
6171
+ "$ref": "#/components/schemas/VolcCreateVisualValidateSessionResponse"
6172
+ },
6173
+ {
6174
+ "$ref": "#/components/schemas/VolcGetVisualValidateResultResponse"
6383
6175
  }
6384
6176
  ]
6385
6177
  }
@@ -6391,7 +6183,14 @@
6391
6183
  "content": {
6392
6184
  "application/json": {
6393
6185
  "schema": {
6394
- "$ref": "#/components/schemas/VolcSeedanceError"
6186
+ "oneOf": [
6187
+ {
6188
+ "$ref": "#/components/schemas/VolcSeedanceError"
6189
+ },
6190
+ {
6191
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6192
+ }
6193
+ ]
6395
6194
  }
6396
6195
  }
6397
6196
  }
@@ -6401,71 +6200,187 @@
6401
6200
  "content": {
6402
6201
  "application/json": {
6403
6202
  "schema": {
6404
- "$ref": "#/components/schemas/VolcSeedanceError"
6203
+ "oneOf": [
6204
+ {
6205
+ "$ref": "#/components/schemas/VolcSeedanceError"
6206
+ },
6207
+ {
6208
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6209
+ }
6210
+ ]
6405
6211
  }
6406
6212
  }
6407
6213
  }
6408
6214
  },
6409
- "500": {
6410
- "description": "Internal error",
6215
+ "403": {
6216
+ "description": "Access denied",
6411
6217
  "content": {
6412
6218
  "application/json": {
6413
6219
  "schema": {
6414
- "$ref": "#/components/schemas/VolcSeedanceError"
6220
+ "oneOf": [
6221
+ {
6222
+ "$ref": "#/components/schemas/VolcSeedanceError"
6223
+ },
6224
+ {
6225
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6226
+ }
6227
+ ]
6415
6228
  }
6416
6229
  }
6417
6230
  }
6418
- }
6419
- }
6420
- }
6421
- }
6422
- },
6423
- "components": {
6424
- "securitySchemes": {
6425
- "BearerAuth": {
6426
- "type": "http",
6427
- "scheme": "bearer",
6428
- "bearerFormat": "API Key",
6429
- "description": "API Key authentication. Get your API key from the dashboard."
6430
- },
6431
- "ManagementTokenAuth": {
6432
- "type": "http",
6433
- "scheme": "bearer",
6434
- "bearerFormat": "Management Token",
6435
- "description": "Management token authentication. Get your management token from Dashboard Settings."
6436
- }
6437
- },
6438
- "schemas": {
6439
- "ChatCompletionRequest": {
6440
- "type": "object",
6441
- "required": [
6442
- "model",
6443
- "messages"
6444
- ],
6445
- "properties": {
6446
- "model": {
6447
- "type": "string",
6448
- "description": "ID of the model to use (e.g., gpt-5.4, claude-sonnet-4-6)",
6449
- "example": "gpt-4o"
6450
- },
6451
- "messages": {
6452
- "type": "array",
6453
- "description": "A list of messages comprising the conversation",
6454
- "items": {
6455
- "$ref": "#/components/schemas/ChatMessage"
6456
- },
6457
- "minItems": 1
6458
- },
6459
- "temperature": {
6460
- "type": "number",
6461
- "minimum": 0,
6462
- "maximum": 2,
6463
- "default": 1,
6464
- "description": "Sampling temperature (0-2)"
6465
6231
  },
6466
- "top_p": {
6467
- "type": "number",
6468
- "minimum": 0,
6232
+ "405": {
6233
+ "description": "Action does not support this HTTP method",
6234
+ "content": {
6235
+ "application/json": {
6236
+ "schema": {
6237
+ "oneOf": [
6238
+ {
6239
+ "$ref": "#/components/schemas/VolcSeedanceError"
6240
+ },
6241
+ {
6242
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6243
+ }
6244
+ ]
6245
+ }
6246
+ }
6247
+ }
6248
+ },
6249
+ "409": {
6250
+ "description": "Material group mapping conflict",
6251
+ "content": {
6252
+ "application/json": {
6253
+ "schema": {
6254
+ "oneOf": [
6255
+ {
6256
+ "$ref": "#/components/schemas/VolcSeedanceError"
6257
+ },
6258
+ {
6259
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6260
+ }
6261
+ ]
6262
+ }
6263
+ }
6264
+ }
6265
+ },
6266
+ "422": {
6267
+ "description": "Real-person validation is unavailable for the current account configuration",
6268
+ "content": {
6269
+ "application/json": {
6270
+ "schema": {
6271
+ "oneOf": [
6272
+ {
6273
+ "$ref": "#/components/schemas/VolcSeedanceError"
6274
+ },
6275
+ {
6276
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6277
+ }
6278
+ ]
6279
+ }
6280
+ }
6281
+ }
6282
+ },
6283
+ "429": {
6284
+ "description": "Rate limit exceeded",
6285
+ "content": {
6286
+ "application/json": {
6287
+ "schema": {
6288
+ "oneOf": [
6289
+ {
6290
+ "$ref": "#/components/schemas/VolcSeedanceError"
6291
+ },
6292
+ {
6293
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6294
+ }
6295
+ ]
6296
+ }
6297
+ }
6298
+ }
6299
+ },
6300
+ "500": {
6301
+ "description": "Internal error",
6302
+ "content": {
6303
+ "application/json": {
6304
+ "schema": {
6305
+ "oneOf": [
6306
+ {
6307
+ "$ref": "#/components/schemas/VolcSeedanceError"
6308
+ },
6309
+ {
6310
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6311
+ }
6312
+ ]
6313
+ }
6314
+ }
6315
+ }
6316
+ },
6317
+ "503": {
6318
+ "description": "Real-person validation service unavailable",
6319
+ "content": {
6320
+ "application/json": {
6321
+ "schema": {
6322
+ "oneOf": [
6323
+ {
6324
+ "$ref": "#/components/schemas/VolcSeedanceError"
6325
+ },
6326
+ {
6327
+ "$ref": "#/components/schemas/VolcVisualValidationError"
6328
+ }
6329
+ ]
6330
+ }
6331
+ }
6332
+ }
6333
+ }
6334
+ }
6335
+ }
6336
+ }
6337
+ },
6338
+ "components": {
6339
+ "securitySchemes": {
6340
+ "BearerAuth": {
6341
+ "type": "http",
6342
+ "scheme": "bearer",
6343
+ "bearerFormat": "API Key",
6344
+ "description": "API Key authentication. Get your API key from the dashboard."
6345
+ },
6346
+ "ManagementTokenAuth": {
6347
+ "type": "http",
6348
+ "scheme": "bearer",
6349
+ "bearerFormat": "Management Token",
6350
+ "description": "Management token authentication. Get your management token from Dashboard Settings."
6351
+ }
6352
+ },
6353
+ "schemas": {
6354
+ "ChatCompletionRequest": {
6355
+ "type": "object",
6356
+ "required": [
6357
+ "model",
6358
+ "messages"
6359
+ ],
6360
+ "properties": {
6361
+ "model": {
6362
+ "type": "string",
6363
+ "description": "ID of the model to use (e.g., gpt-5.4, claude-sonnet-4-6)",
6364
+ "example": "gpt-4o"
6365
+ },
6366
+ "messages": {
6367
+ "type": "array",
6368
+ "description": "A list of messages comprising the conversation",
6369
+ "items": {
6370
+ "$ref": "#/components/schemas/ChatMessage"
6371
+ },
6372
+ "minItems": 1
6373
+ },
6374
+ "temperature": {
6375
+ "type": "number",
6376
+ "minimum": 0,
6377
+ "maximum": 2,
6378
+ "default": 1,
6379
+ "description": "Sampling temperature (0-2)"
6380
+ },
6381
+ "top_p": {
6382
+ "type": "number",
6383
+ "minimum": 0,
6469
6384
  "maximum": 1,
6470
6385
  "default": 1,
6471
6386
  "description": "Nucleus sampling probability"
@@ -7861,7 +7776,7 @@
7861
7776
  },
7862
7777
  "material_asset_id": {
7863
7778
  "type": "string",
7864
- "description": "TokenLab Seedance material asset ID returned by /v1/videos/assets, by automatic image preparation, or by a real-person verification bind flow. Use it after the asset is ACTIVE with Seedance models that can use the TokenLab material library. The asset must belong to the current account. This field is a generic reference input; to assign first-frame, last-frame, or reference-image semantics explicitly, put asset://<material_asset_id> in start_image, end_image, or reference_images."
7779
+ "description": "TokenLab Seedance material asset ID returned by /v1/videos/assets, by automatic image preparation, or from a real-person group returned by GetVisualValidateResult. Use it after the asset is ACTIVE with Seedance models that can use the TokenLab material library. The asset must belong to the current account. This field is a generic reference input; to assign first-frame, last-frame, or reference-image semantics explicitly, put asset://<material_asset_id> in start_image, end_image, or reference_images."
7865
7780
  },
7866
7781
  "material_asset_ids": {
7867
7782
  "type": "array",
@@ -11618,7 +11533,7 @@
11618
11533
  "liveness_face"
11619
11534
  ],
11620
11535
  "default": "aigc_avatar",
11621
- "description": "Material library class. Direct creation supports aigc_avatar. Create liveness_face groups through real-person material verification."
11536
+ "description": "Material library class. Direct creation supports aigc_avatar. Create liveness_face groups through CreateVisualValidateSession followed by GetVisualValidateResult."
11622
11537
  },
11623
11538
  "metadata": {
11624
11539
  "type": "object",
@@ -12098,252 +12013,6 @@
12098
12013
  }
12099
12014
  ]
12100
12015
  },
12101
- "SeedanceVisualValidationSessionCreateRequest": {
12102
- "type": "object",
12103
- "required": [
12104
- "callback_url"
12105
- ],
12106
- "additionalProperties": false,
12107
- "properties": {
12108
- "callback_url": {
12109
- "type": "string",
12110
- "format": "uri",
12111
- "description": "Public HTTPS URL that TokenLab redirects to after the H5 verification flow. TokenLab appends session_id, verification_token, verification_status, and result_code."
12112
- },
12113
- "language": {
12114
- "type": "string",
12115
- "enum": [
12116
- "zh",
12117
- "en",
12118
- "zh-Hant"
12119
- ],
12120
- "default": "zh",
12121
- "description": "Language parameter appended to the returned H5 link."
12122
- }
12123
- }
12124
- },
12125
- "SeedanceVisualValidationSession": {
12126
- "type": "object",
12127
- "required": [
12128
- "object",
12129
- "session_id",
12130
- "h5_link",
12131
- "callback_url",
12132
- "expires_in",
12133
- "language"
12134
- ],
12135
- "properties": {
12136
- "object": {
12137
- "type": "string",
12138
- "enum": [
12139
- "seedance.visual_validation_session"
12140
- ]
12141
- },
12142
- "session_id": {
12143
- "type": "string",
12144
- "description": "TokenLab real-person verification session ID."
12145
- },
12146
- "h5_link": {
12147
- "type": "string",
12148
- "format": "uri",
12149
- "description": "Short-lived H5 verification link for the end user. Valid for 120 seconds."
12150
- },
12151
- "callback_url": {
12152
- "type": "string",
12153
- "format": "uri",
12154
- "description": "Customer callback URL originally supplied in the request."
12155
- },
12156
- "language": {
12157
- "type": "string",
12158
- "enum": [
12159
- "zh",
12160
- "en",
12161
- "zh-Hant"
12162
- ]
12163
- },
12164
- "expires_in": {
12165
- "type": "integer",
12166
- "description": "Validity window in seconds for the session and H5 link."
12167
- }
12168
- }
12169
- },
12170
- "SeedanceVisualValidationResultBindRequest": {
12171
- "type": "object",
12172
- "required": [
12173
- "session_id",
12174
- "verification_token"
12175
- ],
12176
- "additionalProperties": false,
12177
- "properties": {
12178
- "session_id": {
12179
- "type": "string",
12180
- "description": "TokenLab real-person verification session ID."
12181
- },
12182
- "verification_token": {
12183
- "type": "string",
12184
- "description": "TokenLab opaque token from the TokenLab callback redirect."
12185
- },
12186
- "group_name": {
12187
- "type": "string",
12188
- "minLength": 1,
12189
- "maxLength": 128,
12190
- "description": "Optional TokenLab display name for the bound real-person material group."
12191
- },
12192
- "description": {
12193
- "type": "string",
12194
- "nullable": true,
12195
- "maxLength": 500
12196
- },
12197
- "metadata": {
12198
- "type": "object",
12199
- "nullable": true,
12200
- "additionalProperties": true
12201
- }
12202
- }
12203
- },
12204
- "SeedanceVisualValidationResult": {
12205
- "type": "object",
12206
- "required": [
12207
- "object",
12208
- "group_id",
12209
- "material_group"
12210
- ],
12211
- "properties": {
12212
- "object": {
12213
- "type": "string",
12214
- "enum": [
12215
- "seedance.visual_validation_result"
12216
- ]
12217
- },
12218
- "group_id": {
12219
- "type": "string",
12220
- "description": "TokenLab material group ID to pass as group_id when creating real-person material assets."
12221
- },
12222
- "material_group": {
12223
- "$ref": "#/components/schemas/SeedanceMaterialAssetGroup"
12224
- }
12225
- }
12226
- },
12227
- "SeedanceVisualValidationSessionHistory": {
12228
- "type": "object",
12229
- "required": [
12230
- "object",
12231
- "session_id",
12232
- "callback_url",
12233
- "language",
12234
- "status",
12235
- "created_at",
12236
- "expires_at"
12237
- ],
12238
- "properties": {
12239
- "object": {
12240
- "type": "string",
12241
- "enum": [
12242
- "seedance.visual_validation_session_history"
12243
- ]
12244
- },
12245
- "session_id": {
12246
- "type": "string",
12247
- "description": "TokenLab real-person verification session ID."
12248
- },
12249
- "callback_url": {
12250
- "type": "string",
12251
- "format": "uri",
12252
- "description": "Customer callback URL originally supplied when the session was created."
12253
- },
12254
- "language": {
12255
- "type": "string",
12256
- "enum": [
12257
- "zh",
12258
- "en",
12259
- "zh-Hant"
12260
- ]
12261
- },
12262
- "status": {
12263
- "type": "string",
12264
- "enum": [
12265
- "created",
12266
- "callback_succeeded",
12267
- "callback_failed",
12268
- "bound",
12269
- "expired"
12270
- ],
12271
- "description": "TokenLab history status. A created or callback_succeeded session is reported as expired after the 120-second session window if it was not bound."
12272
- },
12273
- "result_code": {
12274
- "type": "string",
12275
- "nullable": true,
12276
- "description": "Neutral result code forwarded by TokenLab callback, when available."
12277
- },
12278
- "verification_status": {
12279
- "type": "string",
12280
- "nullable": true,
12281
- "enum": [
12282
- "succeeded",
12283
- "failed",
12284
- null
12285
- ],
12286
- "description": "Neutral callback status, when TokenLab has received the H5 callback."
12287
- },
12288
- "group_id": {
12289
- "type": "string",
12290
- "nullable": true,
12291
- "description": "TokenLab material group ID after the verification result has been bound."
12292
- },
12293
- "group_name": {
12294
- "type": "string",
12295
- "nullable": true,
12296
- "description": "TokenLab material group display name after binding, when available."
12297
- },
12298
- "error_message": {
12299
- "type": "string",
12300
- "nullable": true,
12301
- "description": "Neutral failure description, when available."
12302
- },
12303
- "created_at": {
12304
- "type": "integer",
12305
- "format": "int64",
12306
- "description": "Unix timestamp in milliseconds."
12307
- },
12308
- "expires_at": {
12309
- "type": "integer",
12310
- "format": "int64",
12311
- "description": "Unix timestamp in milliseconds for the 120-second binding window."
12312
- },
12313
- "callback_received_at": {
12314
- "type": "integer",
12315
- "format": "int64",
12316
- "nullable": true,
12317
- "description": "Unix timestamp in milliseconds when TokenLab received the callback."
12318
- },
12319
- "bound_at": {
12320
- "type": "integer",
12321
- "format": "int64",
12322
- "nullable": true,
12323
- "description": "Unix timestamp in milliseconds when TokenLab bound the material group."
12324
- }
12325
- },
12326
- "additionalProperties": false
12327
- },
12328
- "SeedanceVisualValidationHistoryList": {
12329
- "type": "object",
12330
- "required": [
12331
- "sessions"
12332
- ],
12333
- "properties": {
12334
- "sessions": {
12335
- "type": "array",
12336
- "items": {
12337
- "$ref": "#/components/schemas/SeedanceVisualValidationSessionHistory"
12338
- }
12339
- },
12340
- "next_page_token": {
12341
- "type": "string",
12342
- "nullable": true
12343
- }
12344
- },
12345
- "additionalProperties": false
12346
- },
12347
12016
  "FileDeletedObject": {
12348
12017
  "type": "object",
12349
12018
  "required": [
@@ -12832,6 +12501,220 @@
12832
12501
  }
12833
12502
  },
12834
12503
  "additionalProperties": false
12504
+ },
12505
+ "VolcVisualValidationResponseMetadata": {
12506
+ "type": "object",
12507
+ "required": [
12508
+ "RequestId",
12509
+ "Action",
12510
+ "Version",
12511
+ "Service",
12512
+ "Region"
12513
+ ],
12514
+ "properties": {
12515
+ "RequestId": {
12516
+ "type": "string",
12517
+ "description": "TokenLab request identifier."
12518
+ },
12519
+ "Action": {
12520
+ "type": "string",
12521
+ "enum": [
12522
+ "CreateVisualValidateSession",
12523
+ "GetVisualValidateResult"
12524
+ ]
12525
+ },
12526
+ "Version": {
12527
+ "type": "string",
12528
+ "enum": [
12529
+ "2024-01-01"
12530
+ ]
12531
+ },
12532
+ "Service": {
12533
+ "type": "string",
12534
+ "enum": [
12535
+ "ark"
12536
+ ]
12537
+ },
12538
+ "Region": {
12539
+ "type": "string",
12540
+ "enum": [
12541
+ "cn-beijing"
12542
+ ]
12543
+ }
12544
+ },
12545
+ "additionalProperties": false
12546
+ },
12547
+ "VolcCreateVisualValidateSessionRequest": {
12548
+ "type": "object",
12549
+ "required": [
12550
+ "CallbackURL"
12551
+ ],
12552
+ "properties": {
12553
+ "CallbackURL": {
12554
+ "type": "string",
12555
+ "format": "uri",
12556
+ "description": "Public HTTPS URL opened by the H5 flow after validation. Official callback query names are preserved."
12557
+ },
12558
+ "ProjectName": {
12559
+ "type": "string",
12560
+ "default": "default",
12561
+ "description": "Case-sensitive project name. Omit to use default."
12562
+ }
12563
+ },
12564
+ "additionalProperties": false
12565
+ },
12566
+ "VolcGetVisualValidateResultRequest": {
12567
+ "type": "object",
12568
+ "required": [
12569
+ "BytedToken"
12570
+ ],
12571
+ "properties": {
12572
+ "BytedToken": {
12573
+ "type": "string",
12574
+ "description": "Opaque token returned by CreateVisualValidateSession. It is valid for 30 minutes and scoped to the authenticated organization, actor, and ProjectName."
12575
+ },
12576
+ "ProjectName": {
12577
+ "type": "string",
12578
+ "default": "default",
12579
+ "description": "Must match the ProjectName used to create the token."
12580
+ }
12581
+ },
12582
+ "additionalProperties": false
12583
+ },
12584
+ "VolcCreateVisualValidateSessionResponse": {
12585
+ "type": "object",
12586
+ "required": [
12587
+ "ResponseMetadata",
12588
+ "Result"
12589
+ ],
12590
+ "properties": {
12591
+ "ResponseMetadata": {
12592
+ "$ref": "#/components/schemas/VolcVisualValidationResponseMetadata"
12593
+ },
12594
+ "Result": {
12595
+ "type": "object",
12596
+ "required": [
12597
+ "BytedToken",
12598
+ "H5Link",
12599
+ "CallbackURL"
12600
+ ],
12601
+ "properties": {
12602
+ "BytedToken": {
12603
+ "type": "string"
12604
+ },
12605
+ "H5Link": {
12606
+ "type": "string",
12607
+ "format": "uri"
12608
+ },
12609
+ "CallbackURL": {
12610
+ "type": "string",
12611
+ "format": "uri"
12612
+ }
12613
+ },
12614
+ "additionalProperties": false
12615
+ }
12616
+ },
12617
+ "additionalProperties": false
12618
+ },
12619
+ "VolcGetVisualValidateResultResponse": {
12620
+ "type": "object",
12621
+ "required": [
12622
+ "ResponseMetadata",
12623
+ "Result"
12624
+ ],
12625
+ "properties": {
12626
+ "ResponseMetadata": {
12627
+ "$ref": "#/components/schemas/VolcVisualValidationResponseMetadata"
12628
+ },
12629
+ "Result": {
12630
+ "type": "object",
12631
+ "required": [
12632
+ "GroupId"
12633
+ ],
12634
+ "properties": {
12635
+ "GroupId": {
12636
+ "type": "string",
12637
+ "pattern": "^group-[0-9]{14}-[a-z0-9]{5}$",
12638
+ "description": "TokenLab-mapped real-person Asset Group ID returned after successful validation."
12639
+ }
12640
+ },
12641
+ "additionalProperties": false
12642
+ }
12643
+ },
12644
+ "additionalProperties": false
12645
+ },
12646
+ "VolcVisualValidationError": {
12647
+ "type": "object",
12648
+ "required": [
12649
+ "ResponseMetadata"
12650
+ ],
12651
+ "properties": {
12652
+ "ResponseMetadata": {
12653
+ "type": "object",
12654
+ "required": [
12655
+ "RequestId",
12656
+ "Action",
12657
+ "Version",
12658
+ "Service",
12659
+ "Region",
12660
+ "Error"
12661
+ ],
12662
+ "properties": {
12663
+ "RequestId": {
12664
+ "type": "string"
12665
+ },
12666
+ "Action": {
12667
+ "type": "string"
12668
+ },
12669
+ "Version": {
12670
+ "type": "string"
12671
+ },
12672
+ "Service": {
12673
+ "type": "string",
12674
+ "enum": [
12675
+ "ark"
12676
+ ]
12677
+ },
12678
+ "Region": {
12679
+ "type": "string",
12680
+ "enum": [
12681
+ "cn-beijing"
12682
+ ]
12683
+ },
12684
+ "Error": {
12685
+ "type": "object",
12686
+ "required": [
12687
+ "Code",
12688
+ "Message"
12689
+ ],
12690
+ "properties": {
12691
+ "CodeN": {
12692
+ "type": "integer"
12693
+ },
12694
+ "Code": {
12695
+ "type": "string"
12696
+ },
12697
+ "Message": {
12698
+ "type": "string"
12699
+ }
12700
+ },
12701
+ "additionalProperties": false
12702
+ }
12703
+ },
12704
+ "additionalProperties": false
12705
+ }
12706
+ },
12707
+ "additionalProperties": false
12708
+ },
12709
+ "VolcSeedanceActionError": {
12710
+ "oneOf": [
12711
+ {
12712
+ "$ref": "#/components/schemas/VolcSeedanceError"
12713
+ },
12714
+ {
12715
+ "$ref": "#/components/schemas/VolcVisualValidationError"
12716
+ }
12717
+ ]
12835
12718
  }
12836
12719
  },
12837
12720
  "responses": {