@wevion/cli 1.0.3932 → 1.0.3938

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.
Files changed (2) hide show
  1. package/openapi.json +999 -14
  2. package/package.json +1 -1
package/openapi.json CHANGED
@@ -58005,6 +58005,16 @@
58005
58005
  }
58006
58006
  ]
58007
58007
  },
58008
+ "tiktokMusicId": {
58009
+ "anyOf": [
58010
+ {
58011
+ "type": "string"
58012
+ },
58013
+ {
58014
+ "type": "null"
58015
+ }
58016
+ ]
58017
+ },
58008
58018
  "tiktokOptimizeGoal": {
58009
58019
  "anyOf": [
58010
58020
  {
@@ -62666,6 +62676,16 @@
62666
62676
  }
62667
62677
  ]
62668
62678
  },
62679
+ "tiktokMusicId": {
62680
+ "anyOf": [
62681
+ {
62682
+ "type": "string"
62683
+ },
62684
+ {
62685
+ "type": "null"
62686
+ }
62687
+ ]
62688
+ },
62669
62689
  "tiktokOptimizeGoal": {
62670
62690
  "anyOf": [
62671
62691
  {
@@ -67228,6 +67248,16 @@
67228
67248
  }
67229
67249
  ]
67230
67250
  },
67251
+ "tiktokMusicId": {
67252
+ "anyOf": [
67253
+ {
67254
+ "type": "string"
67255
+ },
67256
+ {
67257
+ "type": "null"
67258
+ }
67259
+ ]
67260
+ },
67231
67261
  "tiktokOptimizeGoal": {
67232
67262
  "anyOf": [
67233
67263
  {
@@ -75783,6 +75813,16 @@
75783
75813
  }
75784
75814
  ]
75785
75815
  },
75816
+ "tiktokMusicId": {
75817
+ "anyOf": [
75818
+ {
75819
+ "type": "string"
75820
+ },
75821
+ {
75822
+ "type": "null"
75823
+ }
75824
+ ]
75825
+ },
75786
75826
  "tiktokOptimizeGoal": {
75787
75827
  "anyOf": [
75788
75828
  {
@@ -119503,6 +119543,10 @@
119503
119543
  "name"
119504
119544
  ],
119505
119545
  "properties": {
119546
+ "character": {
119547
+ "maxLength": 4000,
119548
+ "type": "string"
119549
+ },
119506
119550
  "mode": {
119507
119551
  "anyOf": [
119508
119552
  {
@@ -120361,24 +120405,39 @@
120361
120405
  }
120362
120406
  },
120363
120407
  "429": {
120364
- "description": "Too many requests - rate limit exceeded",
120408
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
120365
120409
  "content": {
120366
120410
  "application/json": {
120367
120411
  "schema": {
120368
120412
  "additionalProperties": false,
120413
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
120369
120414
  "type": "object",
120370
120415
  "required": [
120371
- "error"
120416
+ "statusCode",
120417
+ "error",
120418
+ "message"
120372
120419
  ],
120373
120420
  "properties": {
120374
- "code": {
120375
- "type": "string"
120421
+ "statusCode": {
120422
+ "type": "integer"
120376
120423
  },
120377
120424
  "error": {
120378
120425
  "type": "string"
120379
120426
  },
120380
120427
  "message": {
120381
120428
  "type": "string"
120429
+ },
120430
+ "code": {
120431
+ "description": "`API_KEY_RATE_LIMITED` when the exhausted quota is the API key own limit.",
120432
+ "type": "string"
120433
+ },
120434
+ "retry_after_seconds": {
120435
+ "description": "Seconds to wait before retrying, mirroring the `retry-after` header.",
120436
+ "type": "integer"
120437
+ },
120438
+ "request_id": {
120439
+ "description": "Request identifier, for support.",
120440
+ "type": "string"
120382
120441
  }
120383
120442
  }
120384
120443
  }
@@ -121113,14 +121172,545 @@
121113
121172
  }
121114
121173
  }
121115
121174
  },
121116
- "/api/v1/creative-hub/avatars/{id}/confirm": {
121175
+ "/api/v1/creative-hub/avatars/refine-prompt": {
121117
121176
  "post": {
121118
- "operationId": "postApiV1CreativeHubAvatarsByIdConfirm",
121119
- "summary": "Confirm a generated Creative Hub avatar",
121177
+ "operationId": "refineCreativeHubAvatarPrompt",
121178
+ "summary": "Rewrite a free-text avatar prompt into the structured character description",
121120
121179
  "tags": [
121121
121180
  "creative-hub"
121122
121181
  ],
121123
- "description": "Promotes a generated preview to a saved avatar. Only a preview owned by the authenticated user can be confirmed.",
121182
+ "description": "Turns an informal description into the character description the avatar image prompt expects, covering age, complexion, hair, eyes, build, clothing and register. Generates nothing and charges no credits: the caller shows the result to the user, who edits it and decides whether to generate. Rate-limited per user because it reaches a paid model without charging.",
121183
+ "requestBody": {
121184
+ "required": true,
121185
+ "content": {
121186
+ "application/json": {
121187
+ "schema": {
121188
+ "additionalProperties": false,
121189
+ "type": "object",
121190
+ "required": [
121191
+ "prompt"
121192
+ ],
121193
+ "properties": {
121194
+ "prompt": {
121195
+ "minLength": 1,
121196
+ "maxLength": 2000,
121197
+ "type": "string"
121198
+ }
121199
+ }
121200
+ }
121201
+ }
121202
+ }
121203
+ },
121204
+ "security": [
121205
+ {
121206
+ "bearerAuth": []
121207
+ },
121208
+ {
121209
+ "apiKeyAuth": []
121210
+ }
121211
+ ],
121212
+ "responses": {
121213
+ "200": {
121214
+ "description": "Successful response",
121215
+ "content": {
121216
+ "application/json": {
121217
+ "schema": {
121218
+ "additionalProperties": false,
121219
+ "type": "object",
121220
+ "required": [
121221
+ "refined_prompt"
121222
+ ],
121223
+ "properties": {
121224
+ "refined_prompt": {
121225
+ "type": "string"
121226
+ }
121227
+ }
121228
+ }
121229
+ }
121230
+ }
121231
+ },
121232
+ "401": {
121233
+ "description": "Unauthorized - missing or invalid bearer token",
121234
+ "content": {
121235
+ "application/json": {
121236
+ "schema": {
121237
+ "additionalProperties": false,
121238
+ "type": "object",
121239
+ "required": [
121240
+ "error"
121241
+ ],
121242
+ "properties": {
121243
+ "code": {
121244
+ "type": "string"
121245
+ },
121246
+ "error": {
121247
+ "type": "string"
121248
+ },
121249
+ "message": {
121250
+ "type": "string"
121251
+ },
121252
+ "request_id": {
121253
+ "type": "string",
121254
+ "description": "Fastify request id, propagated for support correlation."
121255
+ }
121256
+ }
121257
+ }
121258
+ }
121259
+ }
121260
+ },
121261
+ "403": {
121262
+ "description": "Forbidden - caller lacks the required role/permission",
121263
+ "content": {
121264
+ "application/json": {
121265
+ "schema": {
121266
+ "additionalProperties": false,
121267
+ "type": "object",
121268
+ "required": [
121269
+ "error"
121270
+ ],
121271
+ "properties": {
121272
+ "code": {
121273
+ "type": "string"
121274
+ },
121275
+ "error": {
121276
+ "type": "string"
121277
+ },
121278
+ "message": {
121279
+ "type": "string"
121280
+ }
121281
+ }
121282
+ }
121283
+ }
121284
+ }
121285
+ },
121286
+ "429": {
121287
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
121288
+ "content": {
121289
+ "application/json": {
121290
+ "schema": {
121291
+ "additionalProperties": false,
121292
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
121293
+ "type": "object",
121294
+ "required": [
121295
+ "statusCode",
121296
+ "error",
121297
+ "message"
121298
+ ],
121299
+ "properties": {
121300
+ "statusCode": {
121301
+ "type": "integer"
121302
+ },
121303
+ "error": {
121304
+ "type": "string"
121305
+ },
121306
+ "message": {
121307
+ "type": "string"
121308
+ },
121309
+ "code": {
121310
+ "description": "`API_KEY_RATE_LIMITED` when the exhausted quota is the API key own limit.",
121311
+ "type": "string"
121312
+ },
121313
+ "retry_after_seconds": {
121314
+ "description": "Seconds to wait before retrying, mirroring the `retry-after` header.",
121315
+ "type": "integer"
121316
+ },
121317
+ "request_id": {
121318
+ "description": "Request identifier, for support.",
121319
+ "type": "string"
121320
+ }
121321
+ }
121322
+ }
121323
+ }
121324
+ }
121325
+ },
121326
+ "503": {
121327
+ "description": "Service unavailable",
121328
+ "content": {
121329
+ "application/json": {
121330
+ "schema": {
121331
+ "additionalProperties": false,
121332
+ "type": "object",
121333
+ "required": [
121334
+ "error"
121335
+ ],
121336
+ "properties": {
121337
+ "code": {
121338
+ "type": "string"
121339
+ },
121340
+ "error": {
121341
+ "type": "string"
121342
+ },
121343
+ "message": {
121344
+ "type": "string"
121345
+ }
121346
+ }
121347
+ }
121348
+ }
121349
+ }
121350
+ }
121351
+ }
121352
+ }
121353
+ },
121354
+ "/api/v1/creative-hub/avatars/{id}/cancel-edit": {
121355
+ "post": {
121356
+ "operationId": "postApiV1CreativeHubAvatarsByIdCancelEdit",
121357
+ "summary": "Cancel an in-progress edit of a saved Creative Hub avatar",
121358
+ "tags": [
121359
+ "creative-hub"
121360
+ ],
121361
+ "description": "Restores a saved avatar to the shots it had before the edit was started, and puts it back in the library. Only an avatar with a pending restore point can be cancelled; a freshly generated preview has nothing to go back to and is discarded with DELETE instead.",
121362
+ "parameters": [
121363
+ {
121364
+ "schema": {
121365
+ "format": "uuid",
121366
+ "type": "string"
121367
+ },
121368
+ "in": "path",
121369
+ "name": "id",
121370
+ "required": true
121371
+ }
121372
+ ],
121373
+ "security": [
121374
+ {
121375
+ "bearerAuth": []
121376
+ },
121377
+ {
121378
+ "apiKeyAuth": []
121379
+ }
121380
+ ],
121381
+ "responses": {
121382
+ "200": {
121383
+ "description": "Successful response",
121384
+ "content": {
121385
+ "application/json": {
121386
+ "schema": {
121387
+ "additionalProperties": false,
121388
+ "type": "object",
121389
+ "required": [
121390
+ "id",
121391
+ "team_id",
121392
+ "created_by",
121393
+ "name",
121394
+ "gender",
121395
+ "age_bracket",
121396
+ "scenario",
121397
+ "image_url",
121398
+ "thumbnail_url",
121399
+ "preview_video_url",
121400
+ "prompt",
121401
+ "voice_id",
121402
+ "provider",
121403
+ "provider_avatar_ref",
121404
+ "is_library",
121405
+ "status",
121406
+ "tags",
121407
+ "metadata",
121408
+ "created_at",
121409
+ "updated_at",
121410
+ "deleted_at"
121411
+ ],
121412
+ "properties": {
121413
+ "id": {
121414
+ "format": "uuid",
121415
+ "type": "string"
121416
+ },
121417
+ "team_id": {
121418
+ "anyOf": [
121419
+ {
121420
+ "format": "uuid",
121421
+ "type": "string"
121422
+ },
121423
+ {
121424
+ "type": "null"
121425
+ }
121426
+ ]
121427
+ },
121428
+ "created_by": {
121429
+ "anyOf": [
121430
+ {
121431
+ "format": "uuid",
121432
+ "type": "string"
121433
+ },
121434
+ {
121435
+ "type": "null"
121436
+ }
121437
+ ]
121438
+ },
121439
+ "name": {
121440
+ "type": "string"
121441
+ },
121442
+ "gender": {
121443
+ "anyOf": [
121444
+ {
121445
+ "type": "string"
121446
+ },
121447
+ {
121448
+ "type": "null"
121449
+ }
121450
+ ]
121451
+ },
121452
+ "age_bracket": {
121453
+ "anyOf": [
121454
+ {
121455
+ "type": "string"
121456
+ },
121457
+ {
121458
+ "type": "null"
121459
+ }
121460
+ ]
121461
+ },
121462
+ "scenario": {
121463
+ "anyOf": [
121464
+ {
121465
+ "type": "string"
121466
+ },
121467
+ {
121468
+ "type": "null"
121469
+ }
121470
+ ]
121471
+ },
121472
+ "image_url": {
121473
+ "type": "string"
121474
+ },
121475
+ "thumbnail_url": {
121476
+ "anyOf": [
121477
+ {
121478
+ "type": "string"
121479
+ },
121480
+ {
121481
+ "type": "null"
121482
+ }
121483
+ ]
121484
+ },
121485
+ "preview_video_url": {
121486
+ "anyOf": [
121487
+ {
121488
+ "type": "string"
121489
+ },
121490
+ {
121491
+ "type": "null"
121492
+ }
121493
+ ]
121494
+ },
121495
+ "prompt": {
121496
+ "anyOf": [
121497
+ {
121498
+ "type": "string"
121499
+ },
121500
+ {
121501
+ "type": "null"
121502
+ }
121503
+ ]
121504
+ },
121505
+ "voice_id": {
121506
+ "anyOf": [
121507
+ {
121508
+ "format": "uuid",
121509
+ "type": "string"
121510
+ },
121511
+ {
121512
+ "type": "null"
121513
+ }
121514
+ ]
121515
+ },
121516
+ "provider": {
121517
+ "type": "string"
121518
+ },
121519
+ "provider_avatar_ref": {
121520
+ "anyOf": [
121521
+ {
121522
+ "type": "string"
121523
+ },
121524
+ {
121525
+ "type": "null"
121526
+ }
121527
+ ]
121528
+ },
121529
+ "is_library": {
121530
+ "type": "boolean"
121531
+ },
121532
+ "status": {
121533
+ "type": "string"
121534
+ },
121535
+ "tags": {
121536
+ "type": "array",
121537
+ "items": {
121538
+ "type": "string"
121539
+ }
121540
+ },
121541
+ "metadata": {
121542
+ "type": "object",
121543
+ "additionalProperties": {
121544
+ "$comment": "json-value"
121545
+ }
121546
+ },
121547
+ "created_at": {
121548
+ "format": "date-time",
121549
+ "type": "string"
121550
+ },
121551
+ "updated_at": {
121552
+ "format": "date-time",
121553
+ "type": "string"
121554
+ },
121555
+ "deleted_at": {
121556
+ "anyOf": [
121557
+ {
121558
+ "format": "date-time",
121559
+ "type": "string"
121560
+ },
121561
+ {
121562
+ "type": "null"
121563
+ }
121564
+ ]
121565
+ }
121566
+ }
121567
+ }
121568
+ }
121569
+ }
121570
+ },
121571
+ "401": {
121572
+ "description": "Unauthorized - missing or invalid bearer token",
121573
+ "content": {
121574
+ "application/json": {
121575
+ "schema": {
121576
+ "additionalProperties": false,
121577
+ "type": "object",
121578
+ "required": [
121579
+ "error"
121580
+ ],
121581
+ "properties": {
121582
+ "code": {
121583
+ "type": "string"
121584
+ },
121585
+ "error": {
121586
+ "type": "string"
121587
+ },
121588
+ "message": {
121589
+ "type": "string"
121590
+ },
121591
+ "request_id": {
121592
+ "type": "string",
121593
+ "description": "Fastify request id, propagated for support correlation."
121594
+ }
121595
+ }
121596
+ }
121597
+ }
121598
+ }
121599
+ },
121600
+ "403": {
121601
+ "description": "Forbidden - caller lacks the required role/permission",
121602
+ "content": {
121603
+ "application/json": {
121604
+ "schema": {
121605
+ "additionalProperties": false,
121606
+ "type": "object",
121607
+ "required": [
121608
+ "error"
121609
+ ],
121610
+ "properties": {
121611
+ "code": {
121612
+ "type": "string"
121613
+ },
121614
+ "error": {
121615
+ "type": "string"
121616
+ },
121617
+ "message": {
121618
+ "type": "string"
121619
+ }
121620
+ }
121621
+ }
121622
+ }
121623
+ }
121624
+ },
121625
+ "404": {
121626
+ "description": "Resource not found",
121627
+ "content": {
121628
+ "application/json": {
121629
+ "schema": {
121630
+ "additionalProperties": false,
121631
+ "type": "object",
121632
+ "required": [
121633
+ "error"
121634
+ ],
121635
+ "properties": {
121636
+ "code": {
121637
+ "type": "string"
121638
+ },
121639
+ "error": {
121640
+ "type": "string"
121641
+ },
121642
+ "message": {
121643
+ "type": "string"
121644
+ }
121645
+ }
121646
+ }
121647
+ }
121648
+ }
121649
+ },
121650
+ "409": {
121651
+ "description": "Conflict - resource state prevents the operation",
121652
+ "content": {
121653
+ "application/json": {
121654
+ "schema": {
121655
+ "additionalProperties": false,
121656
+ "type": "object",
121657
+ "required": [
121658
+ "error"
121659
+ ],
121660
+ "properties": {
121661
+ "code": {
121662
+ "type": "string"
121663
+ },
121664
+ "error": {
121665
+ "type": "string"
121666
+ },
121667
+ "message": {
121668
+ "type": "string"
121669
+ }
121670
+ }
121671
+ }
121672
+ }
121673
+ }
121674
+ },
121675
+ "429": {
121676
+ "description": "Too many requests - rate limit exceeded. Reachable on every API-key operation: the per-key cap sold with the plan answers `code: API_KEY_RATE_LIMITED` with `retry_after_seconds` and the `Retry-After` header. The global per-IP limiter can answer here too, with the same status and only `statusCode`, `error` and `message`.",
121677
+ "content": {
121678
+ "application/json": {
121679
+ "schema": {
121680
+ "$ref": "#/components/schemas/RateLimitedResponse"
121681
+ }
121682
+ }
121683
+ }
121684
+ },
121685
+ "503": {
121686
+ "description": "Session revocation check unavailable (Redis): retry after the Retry-After header.",
121687
+ "headers": {
121688
+ "Retry-After": {
121689
+ "description": "Seconds to wait before retrying the identical request.",
121690
+ "schema": {
121691
+ "type": "integer"
121692
+ }
121693
+ }
121694
+ },
121695
+ "content": {
121696
+ "application/json": {
121697
+ "schema": {
121698
+ "$ref": "#/components/schemas/ErrorResponse"
121699
+ }
121700
+ }
121701
+ }
121702
+ }
121703
+ }
121704
+ }
121705
+ },
121706
+ "/api/v1/creative-hub/avatars/{id}/confirm": {
121707
+ "post": {
121708
+ "operationId": "postApiV1CreativeHubAvatarsByIdConfirm",
121709
+ "summary": "Confirm a generated Creative Hub avatar",
121710
+ "tags": [
121711
+ "creative-hub"
121712
+ ],
121713
+ "description": "Promotes a generated preview to a saved avatar. Only a preview owned by the authenticated user can be confirmed.",
121124
121714
  "parameters": [
121125
121715
  {
121126
121716
  "schema": {
@@ -121447,7 +122037,7 @@
121447
122037
  "tags": [
121448
122038
  "creative-hub"
121449
122039
  ],
121450
- "description": "Runs the generation again on the traits already stored for the preview. An optional feedback note is appended to the previous free text instead of replacing it. Charges the generation again.",
122040
+ "description": "Runs the generation again on the traits already stored for the avatar. Accepts both a not-yet-saved preview and an avatar already in the library: on a saved one this is the post-hoc edit, and the previous shots are kept as a restore point until the result is confirmed or cancelled. An optional feedback note is appended to the previous free text instead of replacing it. Charges the generation again.",
121451
122041
  "requestBody": {
121452
122042
  "required": true,
121453
122043
  "content": {
@@ -121629,24 +122219,39 @@
121629
122219
  }
121630
122220
  },
121631
122221
  "429": {
121632
- "description": "Too many requests - rate limit exceeded",
122222
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
121633
122223
  "content": {
121634
122224
  "application/json": {
121635
122225
  "schema": {
121636
122226
  "additionalProperties": false,
122227
+ "description": "Rate limit exceeded for this route: retry after the seconds in the `retry-after` response header.",
121637
122228
  "type": "object",
121638
122229
  "required": [
121639
- "error"
122230
+ "statusCode",
122231
+ "error",
122232
+ "message"
121640
122233
  ],
121641
122234
  "properties": {
121642
- "code": {
121643
- "type": "string"
122235
+ "statusCode": {
122236
+ "type": "integer"
121644
122237
  },
121645
122238
  "error": {
121646
122239
  "type": "string"
121647
122240
  },
121648
122241
  "message": {
121649
122242
  "type": "string"
122243
+ },
122244
+ "code": {
122245
+ "description": "`API_KEY_RATE_LIMITED` when the exhausted quota is the API key own limit.",
122246
+ "type": "string"
122247
+ },
122248
+ "retry_after_seconds": {
122249
+ "description": "Seconds to wait before retrying, mirroring the `retry-after` header.",
122250
+ "type": "integer"
122251
+ },
122252
+ "request_id": {
122253
+ "description": "Request identifier, for support.",
122254
+ "type": "string"
121650
122255
  }
121651
122256
  }
121652
122257
  }
@@ -131732,7 +132337,7 @@
131732
132337
  "creative-hub",
131733
132338
  "creative-library"
131734
132339
  ],
131735
- "description": "Lists Creative Hub assets for the active team with optional kind, folder and search filters. Results are cursor-paginated.",
132340
+ "description": "Lists Creative Hub assets for the active team with optional kind, folder, search and producer filters. Results are cursor-paginated.",
131736
132341
  "parameters": [
131737
132342
  {
131738
132343
  "schema": {
@@ -131759,6 +132364,18 @@
131759
132364
  "name": "search",
131760
132365
  "required": false
131761
132366
  },
132367
+ {
132368
+ "schema": {
132369
+ "type": "string",
132370
+ "enum": [
132371
+ "subtitles"
132372
+ ]
132373
+ },
132374
+ "in": "query",
132375
+ "name": "produced_by",
132376
+ "required": false,
132377
+ "description": "Only assets produced by this Creative Hub pipeline."
132378
+ },
131762
132379
  {
131763
132380
  "schema": {
131764
132381
  "type": "string"
@@ -132604,6 +133221,235 @@
132604
133221
  }
132605
133222
  },
132606
133223
  "/api/v1/creative-hub/library/assets/{id}": {
133224
+ "get": {
133225
+ "operationId": "creativeHubGetAsset",
133226
+ "summary": "Get one Creative Hub library asset",
133227
+ "tags": [
133228
+ "creative-hub",
133229
+ "creative-library"
133230
+ ],
133231
+ "description": "Returns one Creative Hub library asset in the active team. Answers 404 when the asset does not exist or is outside the caller scope, so a guessed id cannot tell the two apart.",
133232
+ "parameters": [
133233
+ {
133234
+ "schema": {
133235
+ "type": "string"
133236
+ },
133237
+ "in": "path",
133238
+ "name": "id",
133239
+ "required": true
133240
+ }
133241
+ ],
133242
+ "security": [
133243
+ {
133244
+ "bearerAuth": []
133245
+ },
133246
+ {
133247
+ "apiKeyAuth": []
133248
+ }
133249
+ ],
133250
+ "responses": {
133251
+ "200": {
133252
+ "description": "Successful response",
133253
+ "content": {
133254
+ "application/json": {
133255
+ "schema": {
133256
+ "additionalProperties": false,
133257
+ "type": "object",
133258
+ "required": [
133259
+ "id",
133260
+ "name",
133261
+ "kind",
133262
+ "url",
133263
+ "thumbnail_url",
133264
+ "format",
133265
+ "width",
133266
+ "height",
133267
+ "duration",
133268
+ "size_bytes",
133269
+ "folder_id",
133270
+ "source",
133271
+ "provider",
133272
+ "metadata",
133273
+ "created_at"
133274
+ ],
133275
+ "properties": {
133276
+ "id": {
133277
+ "type": "string"
133278
+ },
133279
+ "name": {
133280
+ "anyOf": [
133281
+ {
133282
+ "type": "string"
133283
+ },
133284
+ {
133285
+ "type": "null"
133286
+ }
133287
+ ]
133288
+ },
133289
+ "kind": {
133290
+ "type": "string"
133291
+ },
133292
+ "url": {
133293
+ "type": "string"
133294
+ },
133295
+ "thumbnail_url": {
133296
+ "anyOf": [
133297
+ {
133298
+ "type": "string"
133299
+ },
133300
+ {
133301
+ "type": "null"
133302
+ }
133303
+ ]
133304
+ },
133305
+ "format": {
133306
+ "anyOf": [
133307
+ {
133308
+ "type": "string"
133309
+ },
133310
+ {
133311
+ "type": "null"
133312
+ }
133313
+ ]
133314
+ },
133315
+ "width": {
133316
+ "anyOf": [
133317
+ {
133318
+ "type": "integer"
133319
+ },
133320
+ {
133321
+ "type": "null"
133322
+ }
133323
+ ]
133324
+ },
133325
+ "height": {
133326
+ "anyOf": [
133327
+ {
133328
+ "type": "integer"
133329
+ },
133330
+ {
133331
+ "type": "null"
133332
+ }
133333
+ ]
133334
+ },
133335
+ "duration": {
133336
+ "anyOf": [
133337
+ {
133338
+ "type": "number"
133339
+ },
133340
+ {
133341
+ "type": "null"
133342
+ }
133343
+ ]
133344
+ },
133345
+ "size_bytes": {
133346
+ "anyOf": [
133347
+ {
133348
+ "type": "integer"
133349
+ },
133350
+ {
133351
+ "type": "null"
133352
+ }
133353
+ ]
133354
+ },
133355
+ "folder_id": {
133356
+ "anyOf": [
133357
+ {
133358
+ "type": "string"
133359
+ },
133360
+ {
133361
+ "type": "null"
133362
+ }
133363
+ ]
133364
+ },
133365
+ "source": {
133366
+ "type": "string"
133367
+ },
133368
+ "provider": {
133369
+ "anyOf": [
133370
+ {
133371
+ "type": "string"
133372
+ },
133373
+ {
133374
+ "type": "null"
133375
+ }
133376
+ ]
133377
+ },
133378
+ "metadata": {
133379
+ "description": "JSON object with nested arrays and objects.",
133380
+ "type": "object",
133381
+ "additionalProperties": {
133382
+ "$comment": "json-value",
133383
+ "description": "Arbitrary JSON value with nested arrays and objects."
133384
+ }
133385
+ },
133386
+ "created_at": {
133387
+ "format": "date-time",
133388
+ "type": "string"
133389
+ }
133390
+ }
133391
+ }
133392
+ }
133393
+ }
133394
+ },
133395
+ "401": {
133396
+ "description": "Unauthorized - missing or invalid bearer token",
133397
+ "content": {
133398
+ "application/json": {
133399
+ "schema": {
133400
+ "$ref": "#/components/schemas/ErrorResponse"
133401
+ }
133402
+ }
133403
+ }
133404
+ },
133405
+ "404": {
133406
+ "description": "Resource not found",
133407
+ "content": {
133408
+ "application/json": {
133409
+ "schema": {
133410
+ "type": "object",
133411
+ "required": [
133412
+ "error"
133413
+ ],
133414
+ "properties": {
133415
+ "error": {
133416
+ "type": "string"
133417
+ }
133418
+ }
133419
+ }
133420
+ }
133421
+ }
133422
+ },
133423
+ "429": {
133424
+ "description": "Too many requests - rate limit exceeded. Reachable on every API-key operation: the per-key cap sold with the plan answers `code: API_KEY_RATE_LIMITED` with `retry_after_seconds` and the `Retry-After` header. The global per-IP limiter can answer here too, with the same status and only `statusCode`, `error` and `message`.",
133425
+ "content": {
133426
+ "application/json": {
133427
+ "schema": {
133428
+ "$ref": "#/components/schemas/RateLimitedResponse"
133429
+ }
133430
+ }
133431
+ }
133432
+ },
133433
+ "503": {
133434
+ "description": "Session revocation check unavailable (Redis): retry after the Retry-After header.",
133435
+ "headers": {
133436
+ "Retry-After": {
133437
+ "description": "Seconds to wait before retrying the identical request.",
133438
+ "schema": {
133439
+ "type": "integer"
133440
+ }
133441
+ }
133442
+ },
133443
+ "content": {
133444
+ "application/json": {
133445
+ "schema": {
133446
+ "$ref": "#/components/schemas/ErrorResponse"
133447
+ }
133448
+ }
133449
+ }
133450
+ }
133451
+ }
133452
+ },
132607
133453
  "patch": {
132608
133454
  "operationId": "creativeHubRenameAsset",
132609
133455
  "summary": "Rename a Creative Hub library asset",
@@ -367323,6 +368169,145 @@
367323
368169
  }
367324
368170
  }
367325
368171
  },
368172
+ "/api/v1/tiktok/music": {
368173
+ "get": {
368174
+ "operationId": "listTikTokMusic",
368175
+ "summary": "List TikTok music tracks usable in carousel ads",
368176
+ "tags": [
368177
+ "tiktok"
368178
+ ],
368179
+ "description": "Returns tracks valid for Carousel Ads (`music_scene: CAROUSEL_ADS`). With `q`, searches the Commercial Music Library by keyword; without it, returns the tracks uploaded to the advertiser account. `meta` exposes `author` and `cover_url`.",
368180
+ "parameters": [
368181
+ {
368182
+ "schema": {
368183
+ "minLength": 1,
368184
+ "type": "string"
368185
+ },
368186
+ "in": "query",
368187
+ "name": "advertiser_id",
368188
+ "required": true
368189
+ },
368190
+ {
368191
+ "schema": {
368192
+ "type": "string"
368193
+ },
368194
+ "in": "query",
368195
+ "name": "q",
368196
+ "required": false
368197
+ }
368198
+ ],
368199
+ "security": [
368200
+ {
368201
+ "bearerAuth": []
368202
+ },
368203
+ {
368204
+ "apiKeyAuth": []
368205
+ }
368206
+ ],
368207
+ "responses": {
368208
+ "200": {
368209
+ "description": "Successful response",
368210
+ "content": {
368211
+ "application/json": {
368212
+ "schema": {
368213
+ "additionalProperties": false,
368214
+ "type": "object",
368215
+ "required": [
368216
+ "items"
368217
+ ],
368218
+ "properties": {
368219
+ "items": {
368220
+ "type": "array",
368221
+ "items": {
368222
+ "additionalProperties": false,
368223
+ "type": "object",
368224
+ "required": [
368225
+ "id",
368226
+ "name"
368227
+ ],
368228
+ "properties": {
368229
+ "id": {
368230
+ "type": "string"
368231
+ },
368232
+ "name": {
368233
+ "type": "string"
368234
+ },
368235
+ "meta": {
368236
+ "description": "Free-form per-resource metadata (varies by endpoint, see description).",
368237
+ "type": "object",
368238
+ "additionalProperties": {
368239
+ "$comment": "json-value",
368240
+ "description": "Arbitrary JSON value with nested arrays and objects."
368241
+ }
368242
+ }
368243
+ }
368244
+ }
368245
+ }
368246
+ }
368247
+ }
368248
+ }
368249
+ }
368250
+ },
368251
+ "400": {
368252
+ "description": "Invalid request - schema validation failed",
368253
+ "content": {
368254
+ "application/json": {
368255
+ "schema": {
368256
+ "additionalProperties": false,
368257
+ "type": "object",
368258
+ "required": [
368259
+ "error"
368260
+ ],
368261
+ "properties": {
368262
+ "error": {
368263
+ "type": "string"
368264
+ }
368265
+ }
368266
+ }
368267
+ }
368268
+ }
368269
+ },
368270
+ "401": {
368271
+ "description": "Unauthorized - missing or invalid bearer token",
368272
+ "content": {
368273
+ "application/json": {
368274
+ "schema": {
368275
+ "$ref": "#/components/schemas/ErrorResponse"
368276
+ }
368277
+ }
368278
+ }
368279
+ },
368280
+ "429": {
368281
+ "description": "Too many requests - rate limit exceeded. Reachable on every API-key operation: the per-key cap sold with the plan answers `code: API_KEY_RATE_LIMITED` with `retry_after_seconds` and the `Retry-After` header. The global per-IP limiter can answer here too, with the same status and only `statusCode`, `error` and `message`.",
368282
+ "content": {
368283
+ "application/json": {
368284
+ "schema": {
368285
+ "$ref": "#/components/schemas/RateLimitedResponse"
368286
+ }
368287
+ }
368288
+ }
368289
+ },
368290
+ "503": {
368291
+ "description": "Session revocation check unavailable (Redis): retry after the Retry-After header.",
368292
+ "headers": {
368293
+ "Retry-After": {
368294
+ "description": "Seconds to wait before retrying the identical request.",
368295
+ "schema": {
368296
+ "type": "integer"
368297
+ }
368298
+ }
368299
+ },
368300
+ "content": {
368301
+ "application/json": {
368302
+ "schema": {
368303
+ "$ref": "#/components/schemas/ErrorResponse"
368304
+ }
368305
+ }
368306
+ }
368307
+ }
368308
+ }
368309
+ }
368310
+ },
367326
368311
  "/api/v1/tiktok/apps": {
367327
368312
  "get": {
367328
368313
  "operationId": "listTikTokApps",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wevion/cli",
3
- "version": "1.0.3932",
3
+ "version": "1.0.3938",
4
4
  "description": "Wevion API command-line interface — generated from the public OpenAPI spec",
5
5
  "type": "module",
6
6
  "bin": {