@tokenlabai/mcp-server 0.6.9 → 0.6.11

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.
@@ -21,6 +21,10 @@
21
21
  "name": "Chat",
22
22
  "description": "Chat completions API (OpenAI-compatible)"
23
23
  },
24
+ {
25
+ "name": "Responses",
26
+ "description": "OpenAI Responses API-compatible native endpoints"
27
+ },
24
28
  {
25
29
  "name": "Embeddings",
26
30
  "description": "Text embeddings API"
@@ -78,7 +82,7 @@
78
82
  "Chat"
79
83
  ],
80
84
  "summary": "Create chat completion",
81
- "description": "Creates a model response for the given chat conversation. Supports streaming and function calling.",
85
+ "description": "Creates a model response from a Chat Completions request. Chat-native upstreams receive the request shape unchanged apart from routing and authentication fields; unknown fields are forwarded on a best-effort basis. Portable Chat requests may be compiled one-way to another protocol when a compatible physical endpoint is selected.",
82
86
  "operationId": "createChatCompletion",
83
87
  "requestBody": {
84
88
  "required": true,
@@ -977,6 +981,18 @@
977
981
  ]
978
982
  },
979
983
  "description": "Filter by material library class."
984
+ },
985
+ {
986
+ "name": "project_name",
987
+ "in": "query",
988
+ "required": false,
989
+ "schema": {
990
+ "type": "string",
991
+ "minLength": 1,
992
+ "maxLength": 128,
993
+ "default": "default"
994
+ },
995
+ "description": "Project scope for the material resource."
980
996
  }
981
997
  ],
982
998
  "responses": {
@@ -1042,6 +1058,18 @@
1042
1058
  "type": "string"
1043
1059
  },
1044
1060
  "example": "asset-20260720123456-qn7wr"
1061
+ },
1062
+ {
1063
+ "name": "project_name",
1064
+ "in": "query",
1065
+ "required": false,
1066
+ "schema": {
1067
+ "type": "string",
1068
+ "minLength": 1,
1069
+ "maxLength": 128,
1070
+ "default": "default"
1071
+ },
1072
+ "description": "Project scope for the material resource."
1045
1073
  }
1046
1074
  ],
1047
1075
  "responses": {
@@ -1193,6 +1221,18 @@
1193
1221
  "type": "string"
1194
1222
  },
1195
1223
  "example": "asset-20260720123456-qn7wr"
1224
+ },
1225
+ {
1226
+ "name": "project_name",
1227
+ "in": "query",
1228
+ "required": false,
1229
+ "schema": {
1230
+ "type": "string",
1231
+ "minLength": 1,
1232
+ "maxLength": 128,
1233
+ "default": "default"
1234
+ },
1235
+ "description": "Project scope for the material resource."
1196
1236
  }
1197
1237
  ],
1198
1238
  "responses": {
@@ -2012,7 +2052,7 @@
2012
2052
  "Gemini"
2013
2053
  ],
2014
2054
  "summary": "Generate content (Gemini-compatible)",
2015
- "description": "Generates content using Google Gemini API format. Supports text and vision models.\n\n**Authentication:** Use `?key=` query parameter, `x-goog-api-key` header, or `Authorization: Bearer` header.",
2055
+ "description": "Generates content using the native Gemini GenerateContent shape. This route is exposed only when the model details advertise Gemini requests and a same-protocol route is currently available. ProtoJSON lowerCamelCase and original proto snake_case field names are preserved. Unknown fields are forwarded best-effort and support is determined by the selected provider.\n\n**Authentication:** Use `?key=` query parameter, `x-goog-api-key` header, or `Authorization: Bearer` header.",
2016
2056
  "operationId": "geminiGenerateContent",
2017
2057
  "parameters": [
2018
2058
  {
@@ -2090,16 +2130,44 @@
2090
2130
  }
2091
2131
  },
2092
2132
  "400": {
2093
- "$ref": "#/components/responses/BadRequest"
2133
+ "description": "Gemini-native invalid request error",
2134
+ "content": {
2135
+ "application/json": {
2136
+ "schema": {
2137
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2138
+ }
2139
+ }
2140
+ }
2094
2141
  },
2095
2142
  "401": {
2096
- "$ref": "#/components/responses/Unauthorized"
2143
+ "description": "Gemini-native authentication error",
2144
+ "content": {
2145
+ "application/json": {
2146
+ "schema": {
2147
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2148
+ }
2149
+ }
2150
+ }
2097
2151
  },
2098
2152
  "402": {
2099
- "$ref": "#/components/responses/PaymentRequired"
2153
+ "description": "Gemini-native payment error",
2154
+ "content": {
2155
+ "application/json": {
2156
+ "schema": {
2157
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2158
+ }
2159
+ }
2160
+ }
2100
2161
  },
2101
2162
  "500": {
2102
- "$ref": "#/components/responses/ServerError"
2163
+ "description": "Gemini-native server error",
2164
+ "content": {
2165
+ "application/json": {
2166
+ "schema": {
2167
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2168
+ }
2169
+ }
2170
+ }
2103
2171
  }
2104
2172
  }
2105
2173
  }
@@ -2110,7 +2178,7 @@
2110
2178
  "Gemini"
2111
2179
  ],
2112
2180
  "summary": "Stream generate content (Gemini-compatible)",
2113
- "description": "Streams content generation using Google Gemini API format. Returns Server-Sent Events.\n\n**Authentication:** Use `?key=` query parameter, `x-goog-api-key` header, or `Authorization: Bearer` header.",
2181
+ "description": "Streams native Gemini GenerateContent Server-Sent Events without adding Chat Completions terminators. Metadata-only chunks, intermediate chunks without finishReason, and natural EOF are valid.\n\n**Authentication:** Use `?key=` query parameter, `x-goog-api-key` header, or `Authorization: Bearer` header.",
2114
2182
  "operationId": "geminiStreamGenerateContent",
2115
2183
  "parameters": [
2116
2184
  {
@@ -2155,16 +2223,283 @@
2155
2223
  }
2156
2224
  },
2157
2225
  "400": {
2158
- "$ref": "#/components/responses/BadRequest"
2226
+ "description": "Gemini-native invalid request error",
2227
+ "content": {
2228
+ "application/json": {
2229
+ "schema": {
2230
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2231
+ }
2232
+ }
2233
+ }
2159
2234
  },
2160
2235
  "401": {
2161
- "$ref": "#/components/responses/Unauthorized"
2236
+ "description": "Gemini-native authentication error",
2237
+ "content": {
2238
+ "application/json": {
2239
+ "schema": {
2240
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2241
+ }
2242
+ }
2243
+ }
2162
2244
  },
2163
2245
  "402": {
2164
- "$ref": "#/components/responses/PaymentRequired"
2246
+ "description": "Gemini-native payment error",
2247
+ "content": {
2248
+ "application/json": {
2249
+ "schema": {
2250
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2251
+ }
2252
+ }
2253
+ }
2165
2254
  },
2166
2255
  "500": {
2167
- "$ref": "#/components/responses/ServerError"
2256
+ "description": "Gemini-native server error",
2257
+ "content": {
2258
+ "application/json": {
2259
+ "schema": {
2260
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2261
+ }
2262
+ }
2263
+ }
2264
+ }
2265
+ }
2266
+ }
2267
+ },
2268
+ "/v1beta/models/{model}:countTokens": {
2269
+ "post": {
2270
+ "tags": [
2271
+ "Gemini"
2272
+ ],
2273
+ "summary": "Count tokens (Gemini-compatible)",
2274
+ "description": "Counts tokens using the native Gemini CountTokens contract. Unknown fields and either official ProtoJSON field-name spelling are forwarded best-effort.",
2275
+ "operationId": "geminiCountTokens",
2276
+ "parameters": [
2277
+ {
2278
+ "name": "model",
2279
+ "in": "path",
2280
+ "required": true,
2281
+ "schema": {
2282
+ "type": "string"
2283
+ }
2284
+ },
2285
+ {
2286
+ "name": "key",
2287
+ "in": "query",
2288
+ "required": false,
2289
+ "schema": {
2290
+ "type": "string"
2291
+ }
2292
+ }
2293
+ ],
2294
+ "requestBody": {
2295
+ "required": true,
2296
+ "content": {
2297
+ "application/json": {
2298
+ "schema": {
2299
+ "type": "object",
2300
+ "properties": {
2301
+ "contents": {
2302
+ "type": "array",
2303
+ "items": {
2304
+ "type": "object",
2305
+ "additionalProperties": true
2306
+ }
2307
+ },
2308
+ "generateContentRequest": {
2309
+ "type": "object",
2310
+ "additionalProperties": true
2311
+ },
2312
+ "generate_content_request": {
2313
+ "type": "object",
2314
+ "additionalProperties": true
2315
+ }
2316
+ },
2317
+ "additionalProperties": true
2318
+ }
2319
+ }
2320
+ }
2321
+ },
2322
+ "responses": {
2323
+ "200": {
2324
+ "description": "Gemini-native token count response",
2325
+ "content": {
2326
+ "application/json": {
2327
+ "schema": {
2328
+ "type": "object",
2329
+ "additionalProperties": true
2330
+ }
2331
+ }
2332
+ }
2333
+ },
2334
+ "400": {
2335
+ "description": "Gemini-native error response",
2336
+ "content": {
2337
+ "application/json": {
2338
+ "schema": {
2339
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2340
+ }
2341
+ }
2342
+ }
2343
+ }
2344
+ }
2345
+ }
2346
+ },
2347
+ "/v1beta/models/{model}:embedContent": {
2348
+ "post": {
2349
+ "tags": [
2350
+ "Gemini"
2351
+ ],
2352
+ "summary": "Embed content (Gemini-compatible)",
2353
+ "description": "Creates an embedding using the native Gemini EmbedContent contract.",
2354
+ "operationId": "geminiEmbedContent",
2355
+ "parameters": [
2356
+ {
2357
+ "name": "model",
2358
+ "in": "path",
2359
+ "required": true,
2360
+ "schema": {
2361
+ "type": "string"
2362
+ }
2363
+ },
2364
+ {
2365
+ "name": "key",
2366
+ "in": "query",
2367
+ "required": false,
2368
+ "schema": {
2369
+ "type": "string"
2370
+ }
2371
+ }
2372
+ ],
2373
+ "requestBody": {
2374
+ "required": true,
2375
+ "content": {
2376
+ "application/json": {
2377
+ "schema": {
2378
+ "type": "object",
2379
+ "required": [
2380
+ "content"
2381
+ ],
2382
+ "properties": {
2383
+ "content": {
2384
+ "type": "object",
2385
+ "additionalProperties": true
2386
+ },
2387
+ "taskType": {
2388
+ "type": "string"
2389
+ },
2390
+ "task_type": {
2391
+ "type": "string"
2392
+ },
2393
+ "title": {
2394
+ "type": "string"
2395
+ },
2396
+ "outputDimensionality": {
2397
+ "type": "integer"
2398
+ },
2399
+ "output_dimensionality": {
2400
+ "type": "integer"
2401
+ }
2402
+ },
2403
+ "additionalProperties": true
2404
+ }
2405
+ }
2406
+ }
2407
+ },
2408
+ "responses": {
2409
+ "200": {
2410
+ "description": "Gemini-native embedding response",
2411
+ "content": {
2412
+ "application/json": {
2413
+ "schema": {
2414
+ "type": "object",
2415
+ "additionalProperties": true
2416
+ }
2417
+ }
2418
+ }
2419
+ },
2420
+ "400": {
2421
+ "description": "Gemini-native error response",
2422
+ "content": {
2423
+ "application/json": {
2424
+ "schema": {
2425
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2426
+ }
2427
+ }
2428
+ }
2429
+ }
2430
+ }
2431
+ }
2432
+ },
2433
+ "/v1beta/models/{model}:batchEmbedContents": {
2434
+ "post": {
2435
+ "tags": [
2436
+ "Gemini"
2437
+ ],
2438
+ "summary": "Batch embed contents (Gemini-compatible)",
2439
+ "description": "Creates multiple embeddings using the native Gemini BatchEmbedContents contract.",
2440
+ "operationId": "geminiBatchEmbedContents",
2441
+ "parameters": [
2442
+ {
2443
+ "name": "model",
2444
+ "in": "path",
2445
+ "required": true,
2446
+ "schema": {
2447
+ "type": "string"
2448
+ }
2449
+ },
2450
+ {
2451
+ "name": "key",
2452
+ "in": "query",
2453
+ "required": false,
2454
+ "schema": {
2455
+ "type": "string"
2456
+ }
2457
+ }
2458
+ ],
2459
+ "requestBody": {
2460
+ "required": true,
2461
+ "content": {
2462
+ "application/json": {
2463
+ "schema": {
2464
+ "type": "object",
2465
+ "required": [
2466
+ "requests"
2467
+ ],
2468
+ "properties": {
2469
+ "requests": {
2470
+ "type": "array",
2471
+ "items": {
2472
+ "type": "object",
2473
+ "additionalProperties": true
2474
+ }
2475
+ }
2476
+ },
2477
+ "additionalProperties": true
2478
+ }
2479
+ }
2480
+ }
2481
+ },
2482
+ "responses": {
2483
+ "200": {
2484
+ "description": "Gemini-native batch embedding response",
2485
+ "content": {
2486
+ "application/json": {
2487
+ "schema": {
2488
+ "type": "object",
2489
+ "additionalProperties": true
2490
+ }
2491
+ }
2492
+ }
2493
+ },
2494
+ "400": {
2495
+ "description": "Gemini-native error response",
2496
+ "content": {
2497
+ "application/json": {
2498
+ "schema": {
2499
+ "$ref": "#/components/schemas/GeminiErrorResponse"
2500
+ }
2501
+ }
2502
+ }
2168
2503
  }
2169
2504
  }
2170
2505
  }
@@ -2172,10 +2507,10 @@
2172
2507
  "/v1/responses": {
2173
2508
  "post": {
2174
2509
  "tags": [
2175
- "Chat"
2510
+ "Responses"
2176
2511
  ],
2177
2512
  "summary": "Create response (OpenAI Responses API)",
2178
- "description": "Creates a response using the OpenAI Responses API format. Supports stateful conversation management.",
2513
+ "description": "Creates a response using the native OpenAI Responses API shape. The model details must advertise the Responses request format and a same-protocol route must be currently available; model names and providers do not imply availability. Unknown request fields are forwarded on a best-effort basis and remain subject to the selected provider's support.",
2179
2514
  "operationId": "createResponse",
2180
2515
  "requestBody": {
2181
2516
  "required": true,
@@ -2184,8 +2519,7 @@
2184
2519
  "schema": {
2185
2520
  "type": "object",
2186
2521
  "required": [
2187
- "model",
2188
- "input"
2522
+ "model"
2189
2523
  ],
2190
2524
  "properties": {
2191
2525
  "model": {
@@ -2225,7 +2559,7 @@
2225
2559
  "type": "object",
2226
2560
  "additionalProperties": true
2227
2561
  },
2228
- "description": "Tools available to the model. For hosted image_generation tools that use the default image tool model or explicitly set model: gpt-image-2, TokenLab removes unsupported input_fidelity before forwarding because GPT Image 2 already treats image inputs as high fidelity. Do not send background: transparent for that tool; TokenLab does not silently remove it because that changes output semantics."
2562
+ "description": "Tools available to the model. Tool types and combinations are validated by the selected service."
2229
2563
  },
2230
2564
  "tool_choice": {
2231
2565
  "oneOf": [
@@ -2247,13 +2581,9 @@
2247
2581
  "description": "When true, request obfuscated tokens in Responses stream events from compatible upstreams."
2248
2582
  }
2249
2583
  },
2250
- "additionalProperties": false,
2584
+ "additionalProperties": true,
2251
2585
  "description": "Responses streaming options."
2252
2586
  },
2253
- "reasoning_effort": {
2254
- "type": "string",
2255
- "description": "Reasoning effort hint for compatible models."
2256
- },
2257
2587
  "include": {
2258
2588
  "type": "array",
2259
2589
  "items": {
@@ -2268,17 +2598,35 @@
2268
2598
  ],
2269
2599
  "description": "Service tier hint for compatible providers."
2270
2600
  },
2271
- "truncation_strategy": {
2601
+ "truncation": {
2272
2602
  "type": "string",
2273
- "description": "Truncation strategy for long conversations when supported."
2603
+ "description": "Truncation strategy for long conversations."
2274
2604
  },
2275
- "seed": {
2276
- "type": "integer",
2277
- "description": "Seed for deterministic-compatible providers."
2605
+ "background": {
2606
+ "type": "boolean",
2607
+ "description": "Whether to run the response asynchronously."
2278
2608
  },
2279
- "user": {
2609
+ "previous_response_id": {
2280
2610
  "type": "string",
2281
- "description": "End-user identifier."
2611
+ "description": "ID of a previous response to continue."
2612
+ },
2613
+ "prompt": {
2614
+ "type": "object",
2615
+ "additionalProperties": true,
2616
+ "description": "Reference to a reusable prompt template and variables."
2617
+ },
2618
+ "store": {
2619
+ "type": "boolean",
2620
+ "description": "Whether the response is stored for later retrieval."
2621
+ },
2622
+ "reasoning": {
2623
+ "type": "object",
2624
+ "additionalProperties": true,
2625
+ "description": "Reasoning configuration."
2626
+ },
2627
+ "top_p": {
2628
+ "type": "number",
2629
+ "description": "Nucleus sampling probability."
2282
2630
  },
2283
2631
  "parallel_tool_calls": {
2284
2632
  "type": "boolean",
@@ -2294,7 +2642,8 @@
2294
2642
  "additionalProperties": true,
2295
2643
  "description": "Text formatting options."
2296
2644
  }
2297
- }
2645
+ },
2646
+ "additionalProperties": true
2298
2647
  }
2299
2648
  }
2300
2649
  }
@@ -2315,7 +2664,7 @@
2315
2664
  "/v1/responses/{id}": {
2316
2665
  "get": {
2317
2666
  "tags": [
2318
- "Chat"
2667
+ "Responses"
2319
2668
  ],
2320
2669
  "summary": "Retrieve response",
2321
2670
  "description": "Retrieves a stored Responses API response by TokenLab response id. Ownership checks return 404 when the response is missing or unavailable to the current API key.",
@@ -2329,6 +2678,41 @@
2329
2678
  "type": "string"
2330
2679
  },
2331
2680
  "description": "Response id returned by POST /v1/responses."
2681
+ },
2682
+ {
2683
+ "name": "include",
2684
+ "in": "query",
2685
+ "schema": {
2686
+ "type": "array",
2687
+ "items": {
2688
+ "type": "string"
2689
+ }
2690
+ },
2691
+ "description": "Additional response fields to include."
2692
+ },
2693
+ {
2694
+ "name": "include_obfuscation",
2695
+ "in": "query",
2696
+ "schema": {
2697
+ "type": "boolean"
2698
+ },
2699
+ "description": "Whether streamed events include obfuscation fields."
2700
+ },
2701
+ {
2702
+ "name": "stream",
2703
+ "in": "query",
2704
+ "schema": {
2705
+ "type": "boolean"
2706
+ },
2707
+ "description": "Whether to retrieve the response as an event stream."
2708
+ },
2709
+ {
2710
+ "name": "starting_after",
2711
+ "in": "query",
2712
+ "schema": {
2713
+ "type": "integer"
2714
+ },
2715
+ "description": "Sequence number after which streaming events are returned."
2332
2716
  }
2333
2717
  ],
2334
2718
  "responses": {
@@ -2348,10 +2732,10 @@
2348
2732
  },
2349
2733
  "delete": {
2350
2734
  "tags": [
2351
- "Chat"
2735
+ "Responses"
2352
2736
  ],
2353
2737
  "summary": "Delete response",
2354
- "description": "Deletes a stored Responses API response by TokenLab response id. When applicable, TokenLab clears the provider-side record before clearing local state.",
2738
+ "description": "Deletes a stored Responses API response. This operation is deletion, not cancellation of an in-progress response.",
2355
2739
  "operationId": "deleteResponse",
2356
2740
  "parameters": [
2357
2741
  {
@@ -2383,10 +2767,10 @@
2383
2767
  "/v1/responses/compact": {
2384
2768
  "post": {
2385
2769
  "tags": [
2386
- "Chat"
2770
+ "Responses"
2387
2771
  ],
2388
2772
  "summary": "Compact response context (OpenAI Responses API)",
2389
- "description": "Compacts a Responses conversation for Codex CLI remote compaction. This endpoint uses `POST /v1/responses/compact`; do not use `/v1/compact`. The request `model` is the current Codex session model and must be available on the Responses path.",
2773
+ "description": "Compacts Responses input and returns the native `response.compaction` contract. The request model must be available on a same-protocol Responses path.",
2390
2774
  "operationId": "compactResponse",
2391
2775
  "requestBody": {
2392
2776
  "required": true,
@@ -5538,6 +5922,18 @@
5538
5922
  ]
5539
5923
  },
5540
5924
  "description": "Filter by TokenLab material library class."
5925
+ },
5926
+ {
5927
+ "name": "project_name",
5928
+ "in": "query",
5929
+ "required": false,
5930
+ "schema": {
5931
+ "type": "string",
5932
+ "minLength": 1,
5933
+ "maxLength": 128,
5934
+ "default": "default"
5935
+ },
5936
+ "description": "Project scope for the material resource."
5541
5937
  }
5542
5938
  ],
5543
5939
  "responses": {
@@ -5607,9 +6003,21 @@
5607
6003
  "in": "path",
5608
6004
  "required": true,
5609
6005
  "schema": {
5610
- "type": "string"
6006
+ "type": "string"
6007
+ },
6008
+ "example": "group-20260720123456-vrt01"
6009
+ },
6010
+ {
6011
+ "name": "project_name",
6012
+ "in": "query",
6013
+ "required": false,
6014
+ "schema": {
6015
+ "type": "string",
6016
+ "minLength": 1,
6017
+ "maxLength": 128,
6018
+ "default": "default"
5611
6019
  },
5612
- "example": "group-20260720123456-vrt01"
6020
+ "description": "Project scope for the material resource."
5613
6021
  }
5614
6022
  ],
5615
6023
  "responses": {
@@ -5748,6 +6156,18 @@
5748
6156
  "type": "string"
5749
6157
  },
5750
6158
  "example": "group-20260720123456-vrt01"
6159
+ },
6160
+ {
6161
+ "name": "project_name",
6162
+ "in": "query",
6163
+ "required": false,
6164
+ "schema": {
6165
+ "type": "string",
6166
+ "minLength": 1,
6167
+ "maxLength": 128,
6168
+ "default": "default"
6169
+ },
6170
+ "description": "Project scope for the material resource."
5751
6171
  }
5752
6172
  ],
5753
6173
  "responses": {
@@ -6192,7 +6612,7 @@
6192
6612
  "Seedance Volc Compatible"
6193
6613
  ],
6194
6614
  "summary": "Seedance Action dispatcher (POST)",
6195
- "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.",
6615
+ "description": "Dispatches Volc-style Action requests with TokenLab Bearer authentication. Real-person validation and material asset Actions use Version=2024-01-01 and are POST-only. The same POST contract is also available at the API root for endpoint-only migration from Volcengine.",
6196
6616
  "operationId": "dispatchVolcCompatibleSeedanceActionPost",
6197
6617
  "parameters": [
6198
6618
  {
@@ -6207,7 +6627,17 @@
6207
6627
  "ListContentsGenerationsTasks",
6208
6628
  "DeleteContentsGenerationsTasks",
6209
6629
  "CreateVisualValidateSession",
6210
- "GetVisualValidateResult"
6630
+ "GetVisualValidateResult",
6631
+ "CreateAssetGroup",
6632
+ "ListAssetGroups",
6633
+ "GetAssetGroup",
6634
+ "UpdateAssetGroup",
6635
+ "DeleteAssetGroup",
6636
+ "CreateAsset",
6637
+ "ListAssets",
6638
+ "GetAsset",
6639
+ "UpdateAsset",
6640
+ "DeleteAsset"
6211
6641
  ]
6212
6642
  }
6213
6643
  },
@@ -6233,6 +6663,9 @@
6233
6663
  {
6234
6664
  "$ref": "#/components/schemas/VolcGetVisualValidateResultRequest"
6235
6665
  },
6666
+ {
6667
+ "$ref": "#/components/schemas/VolcMaterialActionRequest"
6668
+ },
6236
6669
  {
6237
6670
  "type": "object",
6238
6671
  "additionalProperties": true
@@ -6244,7 +6677,7 @@
6244
6677
  },
6245
6678
  "responses": {
6246
6679
  "200": {
6247
- "description": "Action response. Content-generation actions return task JSON; real-person validation actions return the official ResponseMetadata + Result envelope.",
6680
+ "description": "Action response. Content-generation actions return task JSON; real-person validation and material asset actions return the official ResponseMetadata + Result envelope.",
6248
6681
  "content": {
6249
6682
  "application/json": {
6250
6683
  "schema": {
@@ -6263,6 +6696,9 @@
6263
6696
  },
6264
6697
  {
6265
6698
  "$ref": "#/components/schemas/VolcGetVisualValidateResultResponse"
6699
+ },
6700
+ {
6701
+ "$ref": "#/components/schemas/VolcMaterialActionResponse"
6266
6702
  }
6267
6703
  ]
6268
6704
  }
@@ -6534,6 +6970,26 @@
6534
6970
  "$ref": "#/components/schemas/Tool"
6535
6971
  }
6536
6972
  },
6973
+ "functions": {
6974
+ "type": "array",
6975
+ "description": "Deprecated function definitions retained by the official Chat Completions contract.",
6976
+ "items": {
6977
+ "type": "object",
6978
+ "additionalProperties": true
6979
+ }
6980
+ },
6981
+ "function_call": {
6982
+ "oneOf": [
6983
+ {
6984
+ "type": "string"
6985
+ },
6986
+ {
6987
+ "type": "object",
6988
+ "additionalProperties": true
6989
+ }
6990
+ ],
6991
+ "description": "Deprecated function-call selection retained by the official Chat Completions contract."
6992
+ },
6537
6993
  "tool_choice": {
6538
6994
  "oneOf": [
6539
6995
  {
@@ -6617,11 +7073,6 @@
6617
7073
  "maximum": 20,
6618
7074
  "description": "Number of most likely tokens to return at each position when logprobs is enabled."
6619
7075
  },
6620
- "top_k": {
6621
- "type": "integer",
6622
- "minimum": 0,
6623
- "description": "Top-k sampling cutoff for compatible providers."
6624
- },
6625
7076
  "logit_bias": {
6626
7077
  "type": "object",
6627
7078
  "additionalProperties": {
@@ -6658,18 +7109,6 @@
6658
7109
  },
6659
7110
  "description": "Language settings for models that translate audio or video through Chat Completions."
6660
7111
  },
6661
- "speech_rate": {
6662
- "type": "number",
6663
- "minimum": 0.5,
6664
- "maximum": 2,
6665
- "description": "Speech rate for compatible translated audio output."
6666
- },
6667
- "repetition_penalty": {
6668
- "type": "number",
6669
- "minimum": 0,
6670
- "exclusiveMinimum": true,
6671
- "description": "Repetition penalty for compatible models."
6672
- },
6673
7112
  "prediction": {
6674
7113
  "type": "object",
6675
7114
  "additionalProperties": true,
@@ -6682,7 +7121,8 @@
6682
7121
  ],
6683
7122
  "description": "Service tier hint for compatible providers."
6684
7123
  }
6685
- }
7124
+ },
7125
+ "additionalProperties": true
6686
7126
  },
6687
7127
  "ChatMessage": {
6688
7128
  "type": "object",
@@ -8281,6 +8721,13 @@
8281
8721
  "type": "string",
8282
8722
  "description": "TokenLab material group ID. Required for liveness_face materials; optional for aigc_avatar."
8283
8723
  },
8724
+ "project_name": {
8725
+ "type": "string",
8726
+ "minLength": 1,
8727
+ "maxLength": 128,
8728
+ "default": "default",
8729
+ "description": "Project scope for the material asset. Assets and groups are isolated by project inside the authenticated organization."
8730
+ },
8284
8731
  "metadata": {
8285
8732
  "type": "object",
8286
8733
  "nullable": true,
@@ -8316,6 +8763,10 @@
8316
8763
  "nullable": true,
8317
8764
  "description": "TokenLab material group ID that owns this material asset."
8318
8765
  },
8766
+ "project_name": {
8767
+ "type": "string",
8768
+ "description": "Project scope for this material asset."
8769
+ },
8319
8770
  "library_type": {
8320
8771
  "type": "string",
8321
8772
  "enum": [
@@ -8360,6 +8811,10 @@
8360
8811
  "created_at": {
8361
8812
  "type": "integer",
8362
8813
  "description": "Unix timestamp when the material asset record was created."
8814
+ },
8815
+ "updated_at": {
8816
+ "type": "integer",
8817
+ "description": "Unix timestamp when the material asset record was last updated."
8363
8818
  }
8364
8819
  }
8365
8820
  },
@@ -9066,6 +9521,7 @@
9066
9521
  },
9067
9522
  "GeminiRequest": {
9068
9523
  "type": "object",
9524
+ "description": "Native Gemini GenerateContent request. ProtoJSON lowerCamelCase and original proto snake_case names are both accepted and preserved, including mixed requests. If both spellings of one field are present, TokenLab does not merge them or choose a local precedence. Unknown fields are forwarded on a best-effort basis.",
9069
9525
  "required": [
9070
9526
  "contents"
9071
9527
  ],
@@ -9314,7 +9770,7 @@
9314
9770
  "candidateCount": {
9315
9771
  "type": "integer",
9316
9772
  "minimum": 1,
9317
- "description": "Number of response candidates for non-streaming generation. Streaming requests must omit this field or keep it at 1."
9773
+ "description": "Requested number of response candidates. Support is determined by the selected service."
9318
9774
  },
9319
9775
  "responseModalities": {
9320
9776
  "type": "array",
@@ -9370,7 +9826,7 @@
9370
9826
  },
9371
9827
  "tools": {
9372
9828
  "type": "array",
9373
- "description": "Gemini tools. Supported tool combinations depend on the selected model and route; unsupported native image-output tool combinations are rejected before upstream retries.",
9829
+ "description": "Gemini tools. Tool types and combinations are interpreted by the selected service.",
9374
9830
  "items": {
9375
9831
  "type": "object",
9376
9832
  "properties": {
@@ -9472,8 +9928,36 @@
9472
9928
  "cachedContent": {
9473
9929
  "type": "string",
9474
9930
  "description": "Gemini cached content resource name for compatible models."
9931
+ },
9932
+ "system_instruction": {
9933
+ "type": "object",
9934
+ "additionalProperties": true,
9935
+ "description": "Original proto field-name spelling of systemInstruction."
9936
+ },
9937
+ "generation_config": {
9938
+ "type": "object",
9939
+ "additionalProperties": true,
9940
+ "description": "Original proto field-name spelling of generationConfig."
9941
+ },
9942
+ "safety_settings": {
9943
+ "type": "array",
9944
+ "items": {
9945
+ "type": "object",
9946
+ "additionalProperties": true
9947
+ },
9948
+ "description": "Original proto field-name spelling of safetySettings."
9949
+ },
9950
+ "tool_config": {
9951
+ "type": "object",
9952
+ "additionalProperties": true,
9953
+ "description": "Original proto field-name spelling of toolConfig."
9954
+ },
9955
+ "cached_content": {
9956
+ "type": "string",
9957
+ "description": "Original proto field-name spelling of cachedContent."
9475
9958
  }
9476
- }
9959
+ },
9960
+ "additionalProperties": true
9477
9961
  },
9478
9962
  "GeminiResponse": {
9479
9963
  "type": "object",
@@ -10749,6 +11233,52 @@
10749
11233
  },
10750
11234
  "GeminiModelInfo": {
10751
11235
  "type": "object",
11236
+ "required": [
11237
+ "name",
11238
+ "baseModelId",
11239
+ "version"
11240
+ ],
11241
+ "properties": {
11242
+ "name": {
11243
+ "type": "string"
11244
+ },
11245
+ "baseModelId": {
11246
+ "type": "string"
11247
+ },
11248
+ "version": {
11249
+ "type": "string"
11250
+ },
11251
+ "displayName": {
11252
+ "type": "string"
11253
+ },
11254
+ "description": {
11255
+ "type": "string"
11256
+ },
11257
+ "inputTokenLimit": {
11258
+ "type": "integer"
11259
+ },
11260
+ "outputTokenLimit": {
11261
+ "type": "integer"
11262
+ },
11263
+ "supportedGenerationMethods": {
11264
+ "type": "array",
11265
+ "items": {
11266
+ "type": "string"
11267
+ }
11268
+ },
11269
+ "temperature": {
11270
+ "type": "number"
11271
+ },
11272
+ "maxTemperature": {
11273
+ "type": "number"
11274
+ },
11275
+ "topP": {
11276
+ "type": "number"
11277
+ },
11278
+ "topK": {
11279
+ "type": "number"
11280
+ }
11281
+ },
10752
11282
  "additionalProperties": true
10753
11283
  },
10754
11284
  "GeminiModelListResponse": {
@@ -11783,6 +12313,13 @@
11783
12313
  "default": "aigc_avatar",
11784
12314
  "description": "Material library class. Direct creation supports aigc_avatar. Create liveness_face groups through CreateVisualValidateSession followed by GetVisualValidateResult."
11785
12315
  },
12316
+ "project_name": {
12317
+ "type": "string",
12318
+ "minLength": 1,
12319
+ "maxLength": 128,
12320
+ "default": "default",
12321
+ "description": "Project scope for the material group."
12322
+ },
11786
12323
  "metadata": {
11787
12324
  "type": "object",
11788
12325
  "nullable": true,
@@ -11803,6 +12340,12 @@
11803
12340
  "nullable": true,
11804
12341
  "maxLength": 500
11805
12342
  },
12343
+ "project_name": {
12344
+ "type": "string",
12345
+ "minLength": 1,
12346
+ "maxLength": 128,
12347
+ "default": "default"
12348
+ },
11806
12349
  "metadata": {
11807
12350
  "type": "object",
11808
12351
  "nullable": true,
@@ -11836,6 +12379,10 @@
11836
12379
  "liveness_face"
11837
12380
  ]
11838
12381
  },
12382
+ "project_name": {
12383
+ "type": "string",
12384
+ "description": "Project scope for this material group."
12385
+ },
11839
12386
  "group_name": {
11840
12387
  "type": "string",
11841
12388
  "nullable": true
@@ -11855,6 +12402,10 @@
11855
12402
  "created_at": {
11856
12403
  "type": "integer",
11857
12404
  "format": "int64"
12405
+ },
12406
+ "updated_at": {
12407
+ "type": "integer",
12408
+ "format": "int64"
11858
12409
  }
11859
12410
  }
11860
12411
  },
@@ -11899,6 +12450,12 @@
11899
12450
  "Audio"
11900
12451
  ]
11901
12452
  },
12453
+ "project_name": {
12454
+ "type": "string",
12455
+ "minLength": 1,
12456
+ "maxLength": 128,
12457
+ "default": "default"
12458
+ },
11902
12459
  "metadata": {
11903
12460
  "type": "object",
11904
12461
  "nullable": true,
@@ -12891,6 +13448,186 @@
12891
13448
  },
12892
13449
  "additionalProperties": false
12893
13450
  },
13451
+ "VolcMaterialActionRequest": {
13452
+ "type": "object",
13453
+ "description": "PascalCase request body for the material Action selected by the Action query parameter. Required fields depend on the selected Action.",
13454
+ "properties": {
13455
+ "Id": {
13456
+ "type": "string",
13457
+ "description": "Asset or Asset Group identifier for get, update, and delete Actions."
13458
+ },
13459
+ "Name": {
13460
+ "type": "string",
13461
+ "minLength": 1,
13462
+ "maxLength": 64
13463
+ },
13464
+ "Description": {
13465
+ "type": "string",
13466
+ "maxLength": 300
13467
+ },
13468
+ "GroupType": {
13469
+ "type": "string",
13470
+ "enum": [
13471
+ "AIGC",
13472
+ "LivenessFace"
13473
+ ]
13474
+ },
13475
+ "GroupId": {
13476
+ "type": "string"
13477
+ },
13478
+ "URL": {
13479
+ "type": "string",
13480
+ "format": "uri"
13481
+ },
13482
+ "AssetType": {
13483
+ "type": "string",
13484
+ "enum": [
13485
+ "Image",
13486
+ "Video",
13487
+ "Audio"
13488
+ ]
13489
+ },
13490
+ "Filter": {
13491
+ "type": "object",
13492
+ "properties": {
13493
+ "GroupIds": {
13494
+ "type": "array",
13495
+ "maxItems": 100,
13496
+ "items": {
13497
+ "type": "string"
13498
+ }
13499
+ },
13500
+ "GroupType": {
13501
+ "type": "string",
13502
+ "enum": [
13503
+ "AIGC",
13504
+ "LivenessFace"
13505
+ ]
13506
+ },
13507
+ "Statuses": {
13508
+ "type": "array",
13509
+ "items": {
13510
+ "type": "string",
13511
+ "enum": [
13512
+ "Active",
13513
+ "Processing",
13514
+ "Failed"
13515
+ ]
13516
+ }
13517
+ },
13518
+ "Name": {
13519
+ "type": "string",
13520
+ "minLength": 1,
13521
+ "maxLength": 64
13522
+ }
13523
+ },
13524
+ "additionalProperties": false
13525
+ },
13526
+ "PageNumber": {
13527
+ "type": "integer",
13528
+ "minimum": 1,
13529
+ "default": 1
13530
+ },
13531
+ "PageSize": {
13532
+ "type": "integer",
13533
+ "minimum": 1,
13534
+ "maximum": 100,
13535
+ "default": 10
13536
+ },
13537
+ "SortBy": {
13538
+ "type": "string",
13539
+ "enum": [
13540
+ "CreateTime",
13541
+ "UpdateTime",
13542
+ "GroupId"
13543
+ ],
13544
+ "default": "CreateTime"
13545
+ },
13546
+ "SortOrder": {
13547
+ "type": "string",
13548
+ "enum": [
13549
+ "Desc",
13550
+ "Asc"
13551
+ ],
13552
+ "default": "Desc"
13553
+ },
13554
+ "ProjectName": {
13555
+ "type": "string",
13556
+ "minLength": 1,
13557
+ "maxLength": 128,
13558
+ "default": "default",
13559
+ "description": "Project isolation scope within the authenticated organization."
13560
+ }
13561
+ },
13562
+ "additionalProperties": false
13563
+ },
13564
+ "VolcMaterialResponseMetadata": {
13565
+ "type": "object",
13566
+ "required": [
13567
+ "RequestId",
13568
+ "Action",
13569
+ "Version",
13570
+ "Service",
13571
+ "Region"
13572
+ ],
13573
+ "properties": {
13574
+ "RequestId": {
13575
+ "type": "string"
13576
+ },
13577
+ "Action": {
13578
+ "type": "string",
13579
+ "enum": [
13580
+ "CreateAssetGroup",
13581
+ "ListAssetGroups",
13582
+ "GetAssetGroup",
13583
+ "UpdateAssetGroup",
13584
+ "DeleteAssetGroup",
13585
+ "CreateAsset",
13586
+ "ListAssets",
13587
+ "GetAsset",
13588
+ "UpdateAsset",
13589
+ "DeleteAsset"
13590
+ ]
13591
+ },
13592
+ "Version": {
13593
+ "type": "string",
13594
+ "enum": [
13595
+ "2024-01-01"
13596
+ ]
13597
+ },
13598
+ "Service": {
13599
+ "type": "string",
13600
+ "enum": [
13601
+ "ark"
13602
+ ]
13603
+ },
13604
+ "Region": {
13605
+ "type": "string",
13606
+ "enum": [
13607
+ "cn-beijing"
13608
+ ]
13609
+ }
13610
+ },
13611
+ "additionalProperties": false
13612
+ },
13613
+ "VolcMaterialActionResponse": {
13614
+ "type": "object",
13615
+ "required": [
13616
+ "ResponseMetadata",
13617
+ "Result"
13618
+ ],
13619
+ "properties": {
13620
+ "ResponseMetadata": {
13621
+ "$ref": "#/components/schemas/VolcMaterialResponseMetadata"
13622
+ },
13623
+ "Result": {
13624
+ "type": "object",
13625
+ "description": "Action-dependent result. List Actions return Items, TotalCount, PageNumber, and PageSize; create and update Actions return Id; delete Actions return an empty object.",
13626
+ "additionalProperties": true
13627
+ }
13628
+ },
13629
+ "additionalProperties": false
13630
+ },
12894
13631
  "VolcVisualValidationError": {
12895
13632
  "type": "object",
12896
13633
  "required": [