codai-sdk 0.68.0 → 0.70.0
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.
- package/dist/index.d.ts +1629 -314
- package/dist/index.js +362 -191
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/generated/gateway.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* This file was auto-generated by openapi-typescript.
|
|
4
3
|
* Do not make direct changes to the file.
|
|
@@ -4611,7 +4610,7 @@ type paths$1 = {
|
|
|
4611
4610
|
readonly get?: never;
|
|
4612
4611
|
readonly put?: never;
|
|
4613
4612
|
/**
|
|
4614
|
-
* Build a deck, doc or
|
|
4613
|
+
* Build a deck, doc, sheet, carousel or print creative into a file
|
|
4615
4614
|
* @description Converts the deck, doc or sheet creative at `seq` (default: the head) back into a documents spec and builds the
|
|
4616
4615
|
* PPTX, DOCX or XLSX exactly like `POST /v1/studio/documents` (same validation, limits, themes and builders). Each
|
|
4617
4616
|
* build is a new version of the same document: `based_on` is the newest document built from this creative, so
|
|
@@ -4622,6 +4621,19 @@ type paths$1 = {
|
|
|
4622
4621
|
* The file is free (`cost_micro_usd: "0"` on `document`). `preview: true` also queues a LibreOffice preview, billed
|
|
4623
4622
|
* like `POST /v1/studio/documents/{id}/previews` ($0.002 per page, min $0.01). Video and image creatives answer 400
|
|
4624
4623
|
* `not_supported_for_kind`.
|
|
4624
|
+
*
|
|
4625
|
+
* **Carousel and print creatives** (body `CreativePagedBuildRequest`) answer **202** with an export job in `export`
|
|
4626
|
+
* (poll `GET /v1/studio/exports/{id}` until `succeeded`, then download `url`):
|
|
4627
|
+
* - carousel `format: png` (default): a zip of one PNG per slide (`slide-01.png` …) at the format size;
|
|
4628
|
+
* `format: pdf`: one PDF page per slide (LinkedIn document post), no bleed, no crop marks.
|
|
4629
|
+
* - print `format: pdf`: one sheet per page at the bleed box plus a crop-mark margin, crop marks outside the bleed,
|
|
4630
|
+
* TrimBox and BleedBox set on every page. The prepress check (bleed safety, minimum text size, image resolution,
|
|
4631
|
+
* colours outside a coated-CMYK gamut) runs first and its issues are returned in `lint`; they never block the build.
|
|
4632
|
+
* The PDF is RGB: PDF/X-4 conversion with the output intent is not done by the render worker, which `warnings` states.
|
|
4633
|
+
*
|
|
4634
|
+
* Price: $0.002 per page (min $0.01), held in the wallet before dispatch (402 when short) and billed once when the
|
|
4635
|
+
* job finishes. Files carry machine-readable AI marks (PDF Info `Keywords`, PNG XMP) and the `x-codai-ai-generated`
|
|
4636
|
+
* header. Supports `Idempotency-Key` (24 h).
|
|
4625
4637
|
*/
|
|
4626
4638
|
readonly post: operations$1['buildCreative'];
|
|
4627
4639
|
readonly delete?: never;
|
|
@@ -5090,6 +5102,32 @@ type paths$1 = {
|
|
|
5090
5102
|
readonly patch?: never;
|
|
5091
5103
|
readonly trace?: never;
|
|
5092
5104
|
};
|
|
5105
|
+
readonly '/v1/studio/creatives/{id}/nodes/{nodeId}/regenerate': {
|
|
5106
|
+
readonly parameters: {
|
|
5107
|
+
readonly query?: never;
|
|
5108
|
+
readonly header?: never;
|
|
5109
|
+
readonly path?: never;
|
|
5110
|
+
readonly cookie?: never;
|
|
5111
|
+
};
|
|
5112
|
+
readonly get?: never;
|
|
5113
|
+
readonly put?: never;
|
|
5114
|
+
/**
|
|
5115
|
+
* Regenerate the picture of an image node
|
|
5116
|
+
* @description Generates a new image for an `image` node with `codai-image` (billed like `POST /v1/images/generations`: wallet
|
|
5117
|
+
* hold of the quote first, one usage row, the stored asset is AI-marked) and swaps it in through the edit path. When
|
|
5118
|
+
* the node has a `castId`, that cast entry's `refAssetIds` are sent as reference images automatically and its
|
|
5119
|
+
* `description` is appended to the prompt, so the character or product stays the same across shots. The aspect
|
|
5120
|
+
* ratio defaults to the closest supported ratio of the node box. Video nodes: generate a clip with
|
|
5121
|
+
* `POST /v1/videos` and `reference_asset_ids`, then `replaceAsset`.
|
|
5122
|
+
* Supports `Idempotency-Key` (24 h): a retry with the same key and body replays the first response; a different body is 422 `idempotency_key_mismatch`; the first request still running is 409 `idempotency_in_progress`.
|
|
5123
|
+
*/
|
|
5124
|
+
readonly post: operations$1['regenerateCreativeNode'];
|
|
5125
|
+
readonly delete?: never;
|
|
5126
|
+
readonly options?: never;
|
|
5127
|
+
readonly head?: never;
|
|
5128
|
+
readonly patch?: never;
|
|
5129
|
+
readonly trace?: never;
|
|
5130
|
+
};
|
|
5093
5131
|
readonly '/v1/studio/creatives/{id}/ops': {
|
|
5094
5132
|
readonly parameters: {
|
|
5095
5133
|
readonly query?: never;
|
|
@@ -5142,6 +5180,34 @@ type paths$1 = {
|
|
|
5142
5180
|
readonly patch?: never;
|
|
5143
5181
|
readonly trace?: never;
|
|
5144
5182
|
};
|
|
5183
|
+
readonly '/v1/studio/creatives/{id}/post-copy': {
|
|
5184
|
+
readonly parameters: {
|
|
5185
|
+
readonly query?: never;
|
|
5186
|
+
readonly header?: never;
|
|
5187
|
+
readonly path?: never;
|
|
5188
|
+
readonly cookie?: never;
|
|
5189
|
+
};
|
|
5190
|
+
readonly get?: never;
|
|
5191
|
+
readonly put?: never;
|
|
5192
|
+
/**
|
|
5193
|
+
* Write social post copy for a creative
|
|
5194
|
+
* @description Writes a caption and hashtags per platform (Instagram, LinkedIn, TikTok, X, Facebook) and one alt text per slide
|
|
5195
|
+
* for a carousel, image or video creative, in Romanian or English: one bounded `codai` turn with a forced tool over
|
|
5196
|
+
* the creative's outline, then every answer is repaired to the platform's hard limits (caption characters including
|
|
5197
|
+
* hashtags, hashtag count, alt text length): hashtags normalised, deduplicated and capped, captions trimmed on a word
|
|
5198
|
+
* end. What was changed is listed in `fixes`. Nothing is written to the creative.
|
|
5199
|
+
*
|
|
5200
|
+
* Billing: token-metered (usage model `codai::post-copy`, prompt caching on) under a small wallet hold
|
|
5201
|
+
* (15 000 µUSD, settled with the real cost; 402 `insufficient_funds` when short). Copy and outlines are never
|
|
5202
|
+
* logged. Supports `Idempotency-Key` (24 h).
|
|
5203
|
+
*/
|
|
5204
|
+
readonly post: operations$1['writeCreativePostCopy'];
|
|
5205
|
+
readonly delete?: never;
|
|
5206
|
+
readonly options?: never;
|
|
5207
|
+
readonly head?: never;
|
|
5208
|
+
readonly patch?: never;
|
|
5209
|
+
readonly trace?: never;
|
|
5210
|
+
};
|
|
5145
5211
|
readonly '/v1/studio/creatives/{id}/render': {
|
|
5146
5212
|
readonly parameters: {
|
|
5147
5213
|
readonly query?: never;
|
|
@@ -5471,6 +5537,31 @@ type paths$1 = {
|
|
|
5471
5537
|
readonly patch?: never;
|
|
5472
5538
|
readonly trace?: never;
|
|
5473
5539
|
};
|
|
5540
|
+
readonly '/v1/studio/creatives/{id}/transcript-cut': {
|
|
5541
|
+
readonly parameters: {
|
|
5542
|
+
readonly query?: never;
|
|
5543
|
+
readonly header?: never;
|
|
5544
|
+
readonly path?: never;
|
|
5545
|
+
readonly cookie?: never;
|
|
5546
|
+
};
|
|
5547
|
+
readonly get?: never;
|
|
5548
|
+
readonly put?: never;
|
|
5549
|
+
/**
|
|
5550
|
+
* Edit a video clip by its transcript
|
|
5551
|
+
* @description Deletes word ranges from a video node: the words are the clip asset's cached transcript (written by
|
|
5552
|
+
* `POST /v1/studio/creatives/{id}/captions`, word timings in source time). The removed spans are cut out with
|
|
5553
|
+
* `splitVideo` / `trimVideo` / `setTiming` ops and the pieces are placed back to back from the clip's start, as one
|
|
5554
|
+
* new version through the same edit path as `POST /v1/studio/creatives/{id}/ops` (rebase on a slightly stale
|
|
5555
|
+
* `base_seq`, locks honoured). Free: no transcription, no usage row. No cached transcript -> 409
|
|
5556
|
+
* `captions_required` (run captions on that clip first). Video creatives only.
|
|
5557
|
+
*/
|
|
5558
|
+
readonly post: operations$1['transcriptCutCreative'];
|
|
5559
|
+
readonly delete?: never;
|
|
5560
|
+
readonly options?: never;
|
|
5561
|
+
readonly head?: never;
|
|
5562
|
+
readonly patch?: never;
|
|
5563
|
+
readonly trace?: never;
|
|
5564
|
+
};
|
|
5474
5565
|
readonly '/v1/studio/creatives/{id}/variants': {
|
|
5475
5566
|
readonly parameters: {
|
|
5476
5567
|
readonly query?: never;
|
|
@@ -5857,6 +5948,124 @@ type paths$1 = {
|
|
|
5857
5948
|
readonly patch?: never;
|
|
5858
5949
|
readonly trace?: never;
|
|
5859
5950
|
};
|
|
5951
|
+
readonly '/v1/studio/music-room': {
|
|
5952
|
+
readonly parameters: {
|
|
5953
|
+
readonly query?: never;
|
|
5954
|
+
readonly header?: never;
|
|
5955
|
+
readonly path?: never;
|
|
5956
|
+
readonly cookie?: never;
|
|
5957
|
+
};
|
|
5958
|
+
/**
|
|
5959
|
+
* List Music Room songs
|
|
5960
|
+
* @description Your Music Room songs, newest first. Page with `before` (the `created_at` of the last item) while `has_more` is true.
|
|
5961
|
+
*/
|
|
5962
|
+
readonly get: operations$1['listStudioMusicRooms'];
|
|
5963
|
+
readonly put?: never;
|
|
5964
|
+
/**
|
|
5965
|
+
* Start a Music Room song
|
|
5966
|
+
* @description A team of role agents (producer, composer, lyricist, arranger, session players, vocal producer, mix and mastering
|
|
5967
|
+
* engineers, critic, rights) writes, plays, sings and mixes one song that should sound played by people. Agents
|
|
5968
|
+
* write symbolic parts on a beat grid, deterministic code humanises them, real sampled instruments render the
|
|
5969
|
+
* stems, ACE-Step adds vocals, and a critic asks for at most two rounds of targeted fixes. The song lives in an
|
|
5970
|
+
* editable `audio` creative. The workflow stops at three gates (`plan`, `demo`, `final`) with `status: waiting`
|
|
5971
|
+
* until you answer with `POST /v1/studio/music-room/{id}/choose`; `auto: true` skips the gates. Poll
|
|
5972
|
+
* `GET /v1/studio/music-room/{id}`. Within the monthly plan quota the song is free (see
|
|
5973
|
+
* `GET /v1/studio/music-room/quota`); beyond it every step is quoted and held on your wallet. `budget_micro_usd`
|
|
5974
|
+
* (default 4,000,000 = $4, max $20) caps one song. At most 2 songs run at once per user (429
|
|
5975
|
+
* `too_many_music_rooms`). Supports `Idempotency-Key`.
|
|
5976
|
+
*/
|
|
5977
|
+
readonly post: operations$1['createStudioMusicRoom'];
|
|
5978
|
+
readonly delete?: never;
|
|
5979
|
+
readonly options?: never;
|
|
5980
|
+
readonly head?: never;
|
|
5981
|
+
readonly patch?: never;
|
|
5982
|
+
readonly trace?: never;
|
|
5983
|
+
};
|
|
5984
|
+
readonly '/v1/studio/music-room/{id}': {
|
|
5985
|
+
readonly parameters: {
|
|
5986
|
+
readonly query?: never;
|
|
5987
|
+
readonly header?: never;
|
|
5988
|
+
readonly path?: never;
|
|
5989
|
+
readonly cookie?: never;
|
|
5990
|
+
};
|
|
5991
|
+
/**
|
|
5992
|
+
* Retrieve a Music Room song
|
|
5993
|
+
* @description The song state; reading it advances the workflow like a poll (a gate waits for your answer). Unknown or foreign ids are 404.
|
|
5994
|
+
*/
|
|
5995
|
+
readonly get: operations$1['getStudioMusicRoom'];
|
|
5996
|
+
readonly put?: never;
|
|
5997
|
+
readonly post?: never;
|
|
5998
|
+
readonly delete?: never;
|
|
5999
|
+
readonly options?: never;
|
|
6000
|
+
readonly head?: never;
|
|
6001
|
+
readonly patch?: never;
|
|
6002
|
+
readonly trace?: never;
|
|
6003
|
+
};
|
|
6004
|
+
readonly '/v1/studio/music-room/{id}/choose': {
|
|
6005
|
+
readonly parameters: {
|
|
6006
|
+
readonly query?: never;
|
|
6007
|
+
readonly header?: never;
|
|
6008
|
+
readonly path?: never;
|
|
6009
|
+
readonly cookie?: never;
|
|
6010
|
+
};
|
|
6011
|
+
readonly get?: never;
|
|
6012
|
+
readonly put?: never;
|
|
6013
|
+
/**
|
|
6014
|
+
* Answer a Music Room gate
|
|
6015
|
+
* @description Answer the gate the song waits at: pick one of the plan variants (`{gate: 'plan', variant}`), approve the
|
|
6016
|
+
* arranged demo (`{gate: 'demo', approve: true}`) or approve the final mix (`{gate: 'final', approve: true}`). The
|
|
6017
|
+
* workflow then continues. Answering a gate the song is not at is 409 `not_at_gate`.
|
|
6018
|
+
*/
|
|
6019
|
+
readonly post: operations$1['chooseStudioMusicRoom'];
|
|
6020
|
+
readonly delete?: never;
|
|
6021
|
+
readonly options?: never;
|
|
6022
|
+
readonly head?: never;
|
|
6023
|
+
readonly patch?: never;
|
|
6024
|
+
readonly trace?: never;
|
|
6025
|
+
};
|
|
6026
|
+
readonly '/v1/studio/music-room/{id}/direct': {
|
|
6027
|
+
readonly parameters: {
|
|
6028
|
+
readonly query?: never;
|
|
6029
|
+
readonly header?: never;
|
|
6030
|
+
readonly path?: never;
|
|
6031
|
+
readonly cookie?: never;
|
|
6032
|
+
};
|
|
6033
|
+
readonly get?: never;
|
|
6034
|
+
readonly put?: never;
|
|
6035
|
+
/**
|
|
6036
|
+
* Direct one Music Room player
|
|
6037
|
+
* @description Talk to one player of the team (`role`, optionally one `section_id`): the player re-plays that part following
|
|
6038
|
+
* your `direction` (up to 500 characters) and the demo is re-rendered. Only while the song waits at the demo or
|
|
6039
|
+
* final gate (409 `not_at_gate` otherwise). The extra turn and render count against `budget_micro_usd`. Supports
|
|
6040
|
+
* `Idempotency-Key`.
|
|
6041
|
+
*/
|
|
6042
|
+
readonly post: operations$1['directStudioMusicRoom'];
|
|
6043
|
+
readonly delete?: never;
|
|
6044
|
+
readonly options?: never;
|
|
6045
|
+
readonly head?: never;
|
|
6046
|
+
readonly patch?: never;
|
|
6047
|
+
readonly trace?: never;
|
|
6048
|
+
};
|
|
6049
|
+
readonly '/v1/studio/music-room/quota': {
|
|
6050
|
+
readonly parameters: {
|
|
6051
|
+
readonly query?: never;
|
|
6052
|
+
readonly header?: never;
|
|
6053
|
+
readonly path?: never;
|
|
6054
|
+
readonly cookie?: never;
|
|
6055
|
+
};
|
|
6056
|
+
/**
|
|
6057
|
+
* Music Room quota
|
|
6058
|
+
* @description Songs included in your plan this calendar month (UTC), how many you used and when the period ends. Songs beyond the quota are billed to your wallet. Free.
|
|
6059
|
+
*/
|
|
6060
|
+
readonly get: operations$1['getStudioMusicRoomQuota'];
|
|
6061
|
+
readonly put?: never;
|
|
6062
|
+
readonly post?: never;
|
|
6063
|
+
readonly delete?: never;
|
|
6064
|
+
readonly options?: never;
|
|
6065
|
+
readonly head?: never;
|
|
6066
|
+
readonly patch?: never;
|
|
6067
|
+
readonly trace?: never;
|
|
6068
|
+
};
|
|
5860
6069
|
readonly '/v1/studio/previews/{id}': {
|
|
5861
6070
|
readonly parameters: {
|
|
5862
6071
|
readonly query?: never;
|
|
@@ -6238,6 +6447,41 @@ type paths$1 = {
|
|
|
6238
6447
|
readonly patch?: never;
|
|
6239
6448
|
readonly trace?: never;
|
|
6240
6449
|
};
|
|
6450
|
+
readonly '/v1/studio/voices/{id}/singing-consent': {
|
|
6451
|
+
readonly parameters: {
|
|
6452
|
+
readonly query?: never;
|
|
6453
|
+
readonly header?: never;
|
|
6454
|
+
readonly path: {
|
|
6455
|
+
readonly id: string;
|
|
6456
|
+
};
|
|
6457
|
+
readonly cookie?: never;
|
|
6458
|
+
};
|
|
6459
|
+
readonly get?: never;
|
|
6460
|
+
readonly put?: never;
|
|
6461
|
+
/**
|
|
6462
|
+
* Add the singing consent to a custom voice (beta)
|
|
6463
|
+
* @description Voice passport (beta): lets your OWN custom voice sing in your Music Room songs. A separate, explicit and
|
|
6464
|
+
* revocable consent on top of the voice-creation consent. Flow: `POST /v1/studio/voices/sessions` with
|
|
6465
|
+
* `purpose: "singing"`, `voice_id` and the singing consent text version → record the returned singing
|
|
6466
|
+
* statement (`kind: consent`, checked against the statement like at voice creation) and a 3-10 s sung sample
|
|
6467
|
+
* (`kind: reference`) in the app → this call with the session id. The consent proof (statement, versions,
|
|
6468
|
+
* KMS-sealed recording) is stored separately from the voice-creation consent; the sung sample is stored KMS-sealed
|
|
6469
|
+
* and used only as the timbre reference of your songs. The result approximates your timbre; it is not a faithful
|
|
6470
|
+
* clone. Available only where voice cloning is enabled for your account. Free.
|
|
6471
|
+
*/
|
|
6472
|
+
readonly post: operations$1['addStudioVoiceSingingConsent'];
|
|
6473
|
+
/**
|
|
6474
|
+
* Revoke the singing consent of a custom voice
|
|
6475
|
+
* @description Revokes ONLY the singing purpose: the sung sample is deleted at once, songs stop using the voice
|
|
6476
|
+
* (also a song already in progress, from its next sung section), the voice keeps working for narration. The
|
|
6477
|
+
* consent proof is kept for 3 years for the audit trail. Deleting the voice revokes everything. Idempotent. Free.
|
|
6478
|
+
*/
|
|
6479
|
+
readonly delete: operations$1['revokeStudioVoiceSingingConsent'];
|
|
6480
|
+
readonly options?: never;
|
|
6481
|
+
readonly head?: never;
|
|
6482
|
+
readonly patch?: never;
|
|
6483
|
+
readonly trace?: never;
|
|
6484
|
+
};
|
|
6241
6485
|
readonly '/v1/systemone': {
|
|
6242
6486
|
readonly parameters: {
|
|
6243
6487
|
readonly query?: never;
|
|
@@ -9610,6 +9854,8 @@ type components$1 = {
|
|
|
9610
9854
|
* @example flat minimalist logo of a paper plane, two colours, white background
|
|
9611
9855
|
*/
|
|
9612
9856
|
readonly prompt: string;
|
|
9857
|
+
/** @description Your ready studio image assets used as references (e.g. a creative's cast), sent after `reference_images`; together they count against the per-model limit. A missing or foreign asset is 404. */
|
|
9858
|
+
readonly reference_asset_ids?: readonly string[];
|
|
9613
9859
|
/** @description Images the model must stay consistent with (logo, palette, product, character), sent before the prompt. Per-model limit — `codai-image-fast` accepts 4, the others 14. */
|
|
9614
9860
|
readonly reference_images?: readonly components$1['schemas']['CoreImageInput'][];
|
|
9615
9861
|
readonly response_format?: components$1['schemas']['MediaResponseFormat'];
|
|
@@ -10260,6 +10506,18 @@ type components$1 = {
|
|
|
10260
10506
|
/** @description Number of caption words. */
|
|
10261
10507
|
readonly words: number;
|
|
10262
10508
|
};
|
|
10509
|
+
/** Cast entry */
|
|
10510
|
+
readonly CreativeCast: {
|
|
10511
|
+
/** @description Appended to the prompt when the node is regenerated. */
|
|
10512
|
+
readonly description?: string;
|
|
10513
|
+
/** @description Shares the document id namespace with scenes and nodes. */
|
|
10514
|
+
readonly id: string;
|
|
10515
|
+
/** @enum {string} */
|
|
10516
|
+
readonly kind: 'character' | 'product';
|
|
10517
|
+
readonly name: string;
|
|
10518
|
+
/** @description Image assets of the subject. */
|
|
10519
|
+
readonly refAssetIds: readonly string[];
|
|
10520
|
+
};
|
|
10263
10521
|
/**
|
|
10264
10522
|
* Frame comment
|
|
10265
10523
|
* @example {
|
|
@@ -10431,6 +10689,8 @@ type components$1 = {
|
|
|
10431
10689
|
readonly brand: {
|
|
10432
10690
|
readonly [key: string]: unknown;
|
|
10433
10691
|
};
|
|
10692
|
+
/** @description Recurring characters / products (CX-05). An `image` / `video` node binds one with `props.castId`; regenerating that node sends the entry's `refAssetIds` as reference images so the subject looks the same in every shot. */
|
|
10693
|
+
readonly cast?: readonly components$1['schemas']['CreativeCast'][];
|
|
10434
10694
|
/** @description One of `formats[].id`. */
|
|
10435
10695
|
readonly defaultFormat: string;
|
|
10436
10696
|
/** @description Output formats (`{ id, width, height }`); nodes may override their layout per format. */
|
|
@@ -10925,6 +11185,11 @@ type components$1 = {
|
|
|
10925
11185
|
* (`control: null` clears it), `setMeta { title?, locale?, formats?, defaultFormat?, fps? }`,
|
|
10926
11186
|
* `setLocaleText { locale, texts, by? }` (`texts`: unit key → translation, `null` removes it),
|
|
10927
11187
|
* `setLocale { locale, tone?, audio?, captions?, remove? }`, `setLocalization { source?, glossary?, forkOf?, reset? }`.
|
|
11188
|
+
* Video clips (CX-06, video nodes; source in / out points in media ms, `rate` 0.25–4, J / L cuts via the node's
|
|
11189
|
+
* `audioLeadMs` / `audioTailMs` props): `trimVideo { target, inMs?, outMs?, fitTiming? }` (`null` clears a point),
|
|
11190
|
+
* `splitVideo { target, atMs, newId }` (cut at `atMs` after the node start into two nodes),
|
|
11191
|
+
* `setVideoRate { target, rate, fitTiming? }` (`rate: null` = 1x). Cast (CX-05): `addCast { cast }`,
|
|
11192
|
+
* `updateCast { target, patch }`, `removeCast { target }` (drops the `castId` of nodes that used it).
|
|
10928
11193
|
* Audio ops (any creative's `doc.audio`; songs and podcasts): `addSection { section }`, `updateSection { target, patch }`,
|
|
10929
11194
|
* `removeSection { target }`, `moveSection { target, startMs }`, `addTrack { track, index? }`,
|
|
10930
11195
|
* `updateTrack { target, patch }`, `removeTrack { target }`, `splitClip { clipId, atMs, newId }`,
|
|
@@ -10943,7 +11208,7 @@ type components$1 = {
|
|
|
10943
11208
|
*/
|
|
10944
11209
|
readonly CreativeOp: {
|
|
10945
11210
|
/** @enum {string} */
|
|
10946
|
-
readonly op: 'setProps' | 'setLayout' | 'setTiming' | 'setAnim' | 'insertNode' | 'removeNode' | 'moveNode' | 'addScene' | 'removeScene' | 'updateScene' | 'moveScene' | 'setVar' | 'removeVar' | 'setAsset' | 'replaceAsset' | 'setAudioClip' | 'removeAudioClip' | 'setBrand' | 'restyle' | 'adaptFormat' | 'setControl' | 'setMeta' | 'setLocaleText' | 'setLocale' | 'setLocalization' | 'addSection' | 'updateSection' | 'removeSection' | 'moveSection' | 'addTrack' | 'updateTrack' | 'removeTrack' | 'splitClip' | 'trimClip' | 'moveClip' | 'setFades' | 'addMidiClip' | 'removeMidiClip' | 'updateMidiNotes' | 'setMaster' | 'setLyrics';
|
|
11211
|
+
readonly op: 'setProps' | 'setLayout' | 'setTiming' | 'setAnim' | 'insertNode' | 'removeNode' | 'moveNode' | 'addScene' | 'removeScene' | 'updateScene' | 'moveScene' | 'setVar' | 'removeVar' | 'setAsset' | 'replaceAsset' | 'setAudioClip' | 'removeAudioClip' | 'setBrand' | 'restyle' | 'adaptFormat' | 'setControl' | 'setMeta' | 'setLocaleText' | 'setLocale' | 'setLocalization' | 'trimVideo' | 'splitVideo' | 'setVideoRate' | 'addCast' | 'updateCast' | 'removeCast' | 'addSection' | 'updateSection' | 'removeSection' | 'moveSection' | 'addTrack' | 'updateTrack' | 'removeTrack' | 'splitClip' | 'trimClip' | 'moveClip' | 'setFades' | 'addMidiClip' | 'removeMidiClip' | 'updateMidiNotes' | 'setMaster' | 'setLyrics';
|
|
10947
11212
|
} & {
|
|
10948
11213
|
readonly [key: string]: unknown;
|
|
10949
11214
|
};
|
|
@@ -11003,6 +11268,79 @@ type components$1 = {
|
|
|
11003
11268
|
readonly [key: string]: unknown;
|
|
11004
11269
|
};
|
|
11005
11270
|
};
|
|
11271
|
+
/**
|
|
11272
|
+
* Carousel / print build request
|
|
11273
|
+
* @example {
|
|
11274
|
+
* "format": "pdf",
|
|
11275
|
+
* "format_id": "1x1"
|
|
11276
|
+
* }
|
|
11277
|
+
*/
|
|
11278
|
+
readonly CreativePagedBuildRequest: {
|
|
11279
|
+
/**
|
|
11280
|
+
* @description Print only — crop marks outside the bleed.
|
|
11281
|
+
* @default true
|
|
11282
|
+
*/
|
|
11283
|
+
readonly crop_marks?: boolean;
|
|
11284
|
+
/** @description File name without extension (default `<slug of the title>-<format_id>`). */
|
|
11285
|
+
readonly filename?: string;
|
|
11286
|
+
/**
|
|
11287
|
+
* @description Output: carousel `png` (zip of slides, default) or `pdf`; print creatives build `pdf` only.
|
|
11288
|
+
* @enum {string}
|
|
11289
|
+
*/
|
|
11290
|
+
readonly format?: 'png' | 'pdf';
|
|
11291
|
+
/** @description Layout format of the creative (default its `defaultFormat`), e.g. `4x5`, `1x1`, `a4`, `card`. */
|
|
11292
|
+
readonly format_id?: string;
|
|
11293
|
+
/** @description Accepted for parity with deck builds; ignored. */
|
|
11294
|
+
readonly preview?: boolean;
|
|
11295
|
+
/** @description Creative version to build (default the head). */
|
|
11296
|
+
readonly seq?: number;
|
|
11297
|
+
};
|
|
11298
|
+
/** Prepress issue */
|
|
11299
|
+
readonly CreativePrintLintIssue: {
|
|
11300
|
+
/** @description `print_in_bleed`, `print_outside_safe`, `print_bleed_short`, `print_low_res`, `print_rgb_color`, `print_text_too_small`, `missing_alt`, `svg_empty`. */
|
|
11301
|
+
readonly code: string;
|
|
11302
|
+
readonly fixable?: boolean;
|
|
11303
|
+
readonly format?: string;
|
|
11304
|
+
readonly message: string;
|
|
11305
|
+
/** @enum {string} */
|
|
11306
|
+
readonly severity: 'error' | 'warning';
|
|
11307
|
+
/** @description Node or scene id. */
|
|
11308
|
+
readonly target: string;
|
|
11309
|
+
/** @description Measured value (pt, dpi, mm) where meaningful. */
|
|
11310
|
+
readonly value?: number;
|
|
11311
|
+
};
|
|
11312
|
+
/** Regenerate node request */
|
|
11313
|
+
readonly CreativeRegenerateNodeRequest: {
|
|
11314
|
+
/**
|
|
11315
|
+
* @description Default the closest ratio to the node box.
|
|
11316
|
+
* @enum {string}
|
|
11317
|
+
*/
|
|
11318
|
+
readonly aspect_ratio?: '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9' | '9:21';
|
|
11319
|
+
readonly base_seq?: number;
|
|
11320
|
+
/** @default false */
|
|
11321
|
+
readonly force?: boolean;
|
|
11322
|
+
/** @example codai-image */
|
|
11323
|
+
readonly model?: string;
|
|
11324
|
+
readonly prompt: string;
|
|
11325
|
+
};
|
|
11326
|
+
/** Regenerate node result */
|
|
11327
|
+
readonly CreativeRegenerateNodeResult: {
|
|
11328
|
+
/**
|
|
11329
|
+
* Format: uuid
|
|
11330
|
+
* @description The new image asset.
|
|
11331
|
+
*/
|
|
11332
|
+
readonly asset_id: string;
|
|
11333
|
+
readonly cast_id: string | null;
|
|
11334
|
+
readonly changed: readonly string[];
|
|
11335
|
+
readonly cost_micro_usd: string;
|
|
11336
|
+
readonly doc_hash: string;
|
|
11337
|
+
readonly node_id: string;
|
|
11338
|
+
readonly rebased: boolean;
|
|
11339
|
+
/** @description The cast references that were sent. */
|
|
11340
|
+
readonly reference_asset_ids: readonly string[];
|
|
11341
|
+
readonly seq: number;
|
|
11342
|
+
readonly warnings: readonly string[];
|
|
11343
|
+
};
|
|
11006
11344
|
/** Queued creative render */
|
|
11007
11345
|
readonly CreativeRenderAccepted: {
|
|
11008
11346
|
readonly ai_label?: components$1['schemas']['StudioRenderAiLabel'];
|
|
@@ -11265,6 +11603,55 @@ type components$1 = {
|
|
|
11265
11603
|
*/
|
|
11266
11604
|
readonly type: 'text' | 'image';
|
|
11267
11605
|
};
|
|
11606
|
+
/**
|
|
11607
|
+
* Transcript cut request
|
|
11608
|
+
* @example {
|
|
11609
|
+
* "node_id": "clip",
|
|
11610
|
+
* "remove": [
|
|
11611
|
+
* {
|
|
11612
|
+
* "from_word": 3,
|
|
11613
|
+
* "to_word": 4
|
|
11614
|
+
* }
|
|
11615
|
+
* ]
|
|
11616
|
+
* }
|
|
11617
|
+
*/
|
|
11618
|
+
readonly CreativeTranscriptCutRequest: {
|
|
11619
|
+
/** @description The version to edit (default the head). */
|
|
11620
|
+
readonly base_seq?: number;
|
|
11621
|
+
/**
|
|
11622
|
+
* @description Edit locked nodes too.
|
|
11623
|
+
* @default false
|
|
11624
|
+
*/
|
|
11625
|
+
readonly force?: boolean;
|
|
11626
|
+
/** @description The video node to edit. */
|
|
11627
|
+
readonly node_id: string;
|
|
11628
|
+
/** @description Word index ranges (inclusive) of the clip transcript to delete; overlapping ranges are merged. */
|
|
11629
|
+
readonly remove: readonly {
|
|
11630
|
+
readonly from_word: number;
|
|
11631
|
+
readonly to_word: number;
|
|
11632
|
+
}[];
|
|
11633
|
+
};
|
|
11634
|
+
/** Transcript cut result */
|
|
11635
|
+
readonly CreativeTranscriptCutResult: {
|
|
11636
|
+
readonly changed: readonly string[];
|
|
11637
|
+
readonly doc_hash: string;
|
|
11638
|
+
readonly node_id: string;
|
|
11639
|
+
/** @description Ids of the clip pieces in playback order (the first is the original node; empty when everything was cut and the node removed). */
|
|
11640
|
+
readonly pieces: readonly string[];
|
|
11641
|
+
readonly rebased: boolean;
|
|
11642
|
+
/** @description Source spans removed (media ms). */
|
|
11643
|
+
readonly removed: readonly {
|
|
11644
|
+
readonly in_ms: number;
|
|
11645
|
+
readonly out_ms: number;
|
|
11646
|
+
}[];
|
|
11647
|
+
/** @description Playback time removed from the clip (ms at its rate). */
|
|
11648
|
+
readonly removed_ms: number;
|
|
11649
|
+
/** @description The new head version. */
|
|
11650
|
+
readonly seq: number;
|
|
11651
|
+
readonly warnings: readonly string[];
|
|
11652
|
+
/** @description Words in the cached transcript. */
|
|
11653
|
+
readonly words: number;
|
|
11654
|
+
};
|
|
11268
11655
|
/** Variant */
|
|
11269
11656
|
readonly CreativeVariant: {
|
|
11270
11657
|
/** @description Ops applied on top of the original. */
|
|
@@ -13081,6 +13468,8 @@ type components$1 = {
|
|
|
13081
13468
|
* @default []
|
|
13082
13469
|
*/
|
|
13083
13470
|
readonly asset_ids?: readonly string[];
|
|
13471
|
+
/** @description image.inpaint / image.erase only: a mask painted in an editor, base64 PNG (white = edit, black = keep, at most 8 MB). Send ONE asset id (the image); the gateway stores the mask as a free private asset and passes it as the second input. A quote validates it without storing anything. */
|
|
13472
|
+
readonly mask_png_b64?: string;
|
|
13084
13473
|
/**
|
|
13085
13474
|
* @description Per-op parameters (table above).
|
|
13086
13475
|
* @default {}
|
|
@@ -13352,6 +13741,209 @@ type components$1 = {
|
|
|
13352
13741
|
readonly input_tokens: number;
|
|
13353
13742
|
readonly output_tokens: number;
|
|
13354
13743
|
};
|
|
13744
|
+
/**
|
|
13745
|
+
* Music Room role
|
|
13746
|
+
* @description A member of the Music Room team.
|
|
13747
|
+
* @enum {string}
|
|
13748
|
+
*/
|
|
13749
|
+
readonly MusicRole: 'producer' | 'composer' | 'lyricist' | 'arranger' | 'drums' | 'bass' | 'guitar' | 'keys' | 'strings' | 'brass' | 'winds' | 'balkan_lead' | 'balkan_rhythm' | 'percussion' | 'synth' | 'vocal_producer' | 'sound_designer' | 'mix_engineer' | 'mastering_engineer' | 'critic' | 'rights';
|
|
13750
|
+
/** Music Room song */
|
|
13751
|
+
readonly MusicRoom: {
|
|
13752
|
+
readonly brief: string;
|
|
13753
|
+
readonly budget_micro_usd: string;
|
|
13754
|
+
/** @description Melody similarity against the reference corpus. */
|
|
13755
|
+
readonly copy_risk: {
|
|
13756
|
+
readonly matches: readonly {
|
|
13757
|
+
readonly id?: string;
|
|
13758
|
+
readonly score?: number;
|
|
13759
|
+
readonly title?: string;
|
|
13760
|
+
}[];
|
|
13761
|
+
readonly max_score: number;
|
|
13762
|
+
} | null;
|
|
13763
|
+
/** Format: date-time */
|
|
13764
|
+
readonly created_at: string;
|
|
13765
|
+
/** @description The editable audio creative holding the song. */
|
|
13766
|
+
readonly creative_id: string | null;
|
|
13767
|
+
/** @description Credit lines to publish with the song (CC-BY sample libraries, `Built with Llama`…). */
|
|
13768
|
+
readonly credits: readonly string[];
|
|
13769
|
+
/** @description The critic's last review. */
|
|
13770
|
+
readonly critique: {
|
|
13771
|
+
readonly issues: readonly {
|
|
13772
|
+
readonly fix: string;
|
|
13773
|
+
readonly problem: string;
|
|
13774
|
+
readonly role: components$1['schemas']['MusicRole'];
|
|
13775
|
+
readonly section_id?: string | null;
|
|
13776
|
+
}[];
|
|
13777
|
+
readonly round: number;
|
|
13778
|
+
/** @description Scores from 0 to 10 per aspect (`groove`, `harmony`, `melody`, `arrangement`, `mix`, `humanness`, `genre_fit`). */
|
|
13779
|
+
readonly scores: {
|
|
13780
|
+
readonly [key: string]: number;
|
|
13781
|
+
};
|
|
13782
|
+
/** @enum {string} */
|
|
13783
|
+
readonly verdict: 'ship' | 'revise';
|
|
13784
|
+
} | null;
|
|
13785
|
+
readonly demo_asset_id: string | null;
|
|
13786
|
+
readonly error: string | null;
|
|
13787
|
+
readonly final_asset_id: string | null;
|
|
13788
|
+
/** @description The gate the song waits at (`null` when it is not waiting). */
|
|
13789
|
+
readonly gate: {
|
|
13790
|
+
/** @enum {string} */
|
|
13791
|
+
readonly kind: 'plan' | 'demo' | 'final';
|
|
13792
|
+
/** Format: date-time */
|
|
13793
|
+
readonly since: string;
|
|
13794
|
+
/** @description Plan gate only: up to 3 plan variants to choose from. */
|
|
13795
|
+
readonly variants?: readonly components$1['schemas']['MusicRoomPlanVariant'][];
|
|
13796
|
+
} | null;
|
|
13797
|
+
readonly genre_id: string | null;
|
|
13798
|
+
/** Format: uuid */
|
|
13799
|
+
readonly id: string;
|
|
13800
|
+
/** @enum {string} */
|
|
13801
|
+
readonly language: 'ro' | 'en';
|
|
13802
|
+
/** @enum {string} */
|
|
13803
|
+
readonly object: 'studio.music_room';
|
|
13804
|
+
/**
|
|
13805
|
+
* @description plan → gate_plan → compose → lyrics → arrange → parts → render_demo → gate_demo → vocals → mix → master → critique → gate_final → ready | failed.
|
|
13806
|
+
* @enum {string}
|
|
13807
|
+
*/
|
|
13808
|
+
readonly phase: 'plan' | 'gate_plan' | 'compose' | 'lyrics' | 'arrange' | 'parts' | 'render_demo' | 'gate_demo' | 'vocals' | 'mix' | 'master' | 'critique' | 'gate_final' | 'ready' | 'failed';
|
|
13809
|
+
readonly quota: {
|
|
13810
|
+
readonly included: number;
|
|
13811
|
+
readonly used: number;
|
|
13812
|
+
/** @description The song is covered by the monthly plan quota (free). */
|
|
13813
|
+
readonly within: boolean;
|
|
13814
|
+
};
|
|
13815
|
+
/** @description Symbolic AI-tell metric: 0 sounds human, 1 sounds robotic. */
|
|
13816
|
+
readonly robot_score: number | null;
|
|
13817
|
+
readonly spent_micro_usd: string;
|
|
13818
|
+
/**
|
|
13819
|
+
* @description `running` while the team works, `waiting` at a gate, then `succeeded` or `failed`.
|
|
13820
|
+
* @enum {string}
|
|
13821
|
+
*/
|
|
13822
|
+
readonly status: 'running' | 'waiting' | 'succeeded' | 'failed';
|
|
13823
|
+
readonly stems_asset_ids: readonly string[];
|
|
13824
|
+
readonly team: readonly {
|
|
13825
|
+
readonly instrument_id?: string | null;
|
|
13826
|
+
readonly name: string;
|
|
13827
|
+
readonly rationale?: string | null;
|
|
13828
|
+
readonly role: components$1['schemas']['MusicRole'];
|
|
13829
|
+
/** @enum {string} */
|
|
13830
|
+
readonly status: 'done' | 'playing' | 'waiting';
|
|
13831
|
+
readonly track_id?: string | null;
|
|
13832
|
+
}[];
|
|
13833
|
+
readonly title: string | null;
|
|
13834
|
+
/** @description Non-fatal notes. Voice passport values: `voice_passport_beta` (sung with your voice, beta: approximates your timbre), `voice_passport_needs_singing_consent` (the voice has no active singing consent, or it was revoked during the song), `voice_passport_not_found` (not one of your active voices), `voice_passport_unavailable` (voice cloning is not enabled for your account, or the voice is paused), `voice_passport_lyrics_refused` (the lyrics failed the voice-safety text check, so the passport was not used). Others: `artist_reference_removed: N`, `vocal_asr_check_unavailable`, `critic_text_only`, `<step>_skipped: <reason>`. */
|
|
13835
|
+
readonly warnings: readonly string[];
|
|
13836
|
+
};
|
|
13837
|
+
/**
|
|
13838
|
+
* Music Room gate answer
|
|
13839
|
+
* @description The answer to the gate the song waits at.
|
|
13840
|
+
*/
|
|
13841
|
+
readonly MusicRoomChoose: {
|
|
13842
|
+
/** @enum {string} */
|
|
13843
|
+
readonly gate: 'plan';
|
|
13844
|
+
/** @description Index of the chosen plan variant. */
|
|
13845
|
+
readonly variant: number;
|
|
13846
|
+
} | {
|
|
13847
|
+
/** @enum {boolean} */
|
|
13848
|
+
readonly approve: true;
|
|
13849
|
+
/** @enum {string} */
|
|
13850
|
+
readonly gate: 'demo';
|
|
13851
|
+
} | {
|
|
13852
|
+
/** @enum {boolean} */
|
|
13853
|
+
readonly approve: true;
|
|
13854
|
+
/** @enum {string} */
|
|
13855
|
+
readonly gate: 'final';
|
|
13856
|
+
};
|
|
13857
|
+
/** Music Room request */
|
|
13858
|
+
readonly MusicRoomCreate: {
|
|
13859
|
+
/**
|
|
13860
|
+
* @description Skip the three gates (plan variant 0, demo and final approved).
|
|
13861
|
+
* @default false
|
|
13862
|
+
*/
|
|
13863
|
+
readonly auto?: boolean;
|
|
13864
|
+
/** @description What the song is for and how it should feel: occasion, mood, story, audience (10–2,000 characters; no artist names). */
|
|
13865
|
+
readonly brief: string;
|
|
13866
|
+
/**
|
|
13867
|
+
* @description Spending cap for one song beyond the plan quota, in micro-USD (default 4,000,000 = $4, max 20,000,000).
|
|
13868
|
+
* @default 4000000
|
|
13869
|
+
*/
|
|
13870
|
+
readonly budget_micro_usd?: number;
|
|
13871
|
+
/** @description Target length in seconds (max 4 minutes). */
|
|
13872
|
+
readonly duration_seconds?: number;
|
|
13873
|
+
/** @description Genre pack id (`pop`, `jingle`, `rock`, `hiphop`, `cinematic`, `lofi`, `hora`, `sarba`, `doina`, `manele`, `pop_folk_ro`, `fanfara`, `cocek`…); default: the producer picks. */
|
|
13874
|
+
readonly genre?: string;
|
|
13875
|
+
/** @description Instrument ids the band must use (`drums.kit_rock`, `balkan.accordion`…). */
|
|
13876
|
+
readonly instruments?: readonly string[];
|
|
13877
|
+
/**
|
|
13878
|
+
* @description Language of the lyrics.
|
|
13879
|
+
* @default ro
|
|
13880
|
+
* @enum {string}
|
|
13881
|
+
*/
|
|
13882
|
+
readonly language?: 'ro' | 'en';
|
|
13883
|
+
/** @description Vocal timbre id; default: chosen for the genre. */
|
|
13884
|
+
readonly timbre?: string;
|
|
13885
|
+
/** @description Song / creative title. */
|
|
13886
|
+
readonly title?: string;
|
|
13887
|
+
/**
|
|
13888
|
+
* @description Sung vocals; `false` for an instrumental.
|
|
13889
|
+
* @default true
|
|
13890
|
+
*/
|
|
13891
|
+
readonly vocals?: boolean;
|
|
13892
|
+
/**
|
|
13893
|
+
* Format: uuid
|
|
13894
|
+
* @description Sing with your own voice (beta): the id of one of your custom voices that has an active singing consent (`POST /v1/studio/voices/{id}/singing-consent`). ACE-Step uses your consented sung sample as a timbre reference, so the vocal approximates your timbre; it is not a faithful clone. Without singing consent, for an unknown voice or while voice cloning is not enabled for you, the song is still made with `timbre` and `warnings` says why.
|
|
13895
|
+
*/
|
|
13896
|
+
readonly voice_passport_id?: string;
|
|
13897
|
+
};
|
|
13898
|
+
/** Music Room direction */
|
|
13899
|
+
readonly MusicRoomDirect: {
|
|
13900
|
+
/** @description What to change, e.g. "lay back on the chorus, fewer fills". */
|
|
13901
|
+
readonly direction: string;
|
|
13902
|
+
readonly role: components$1['schemas']['MusicRole'];
|
|
13903
|
+
/** @description Only this section (an id from the plan); default: the whole song. */
|
|
13904
|
+
readonly section_id?: string;
|
|
13905
|
+
};
|
|
13906
|
+
/** Music Room song list */
|
|
13907
|
+
readonly MusicRoomList: {
|
|
13908
|
+
readonly data: readonly components$1['schemas']['MusicRoom'][];
|
|
13909
|
+
readonly has_more?: boolean;
|
|
13910
|
+
/** @enum {string} */
|
|
13911
|
+
readonly object: 'list';
|
|
13912
|
+
};
|
|
13913
|
+
/** Music Room plan variant */
|
|
13914
|
+
readonly MusicRoomPlanVariant: {
|
|
13915
|
+
readonly bpm: number;
|
|
13916
|
+
readonly genre_id: string;
|
|
13917
|
+
readonly instrumentation: readonly {
|
|
13918
|
+
readonly instrument_id: string;
|
|
13919
|
+
readonly role: components$1['schemas']['MusicRole'];
|
|
13920
|
+
}[];
|
|
13921
|
+
/** @description Time signature, e.g. `4/4` or `7/8`. */
|
|
13922
|
+
readonly meter: string;
|
|
13923
|
+
/** @description Scale / mode id, e.g. `major`, `minor`, `hijaz`. */
|
|
13924
|
+
readonly mode_id: string;
|
|
13925
|
+
readonly rationale: string;
|
|
13926
|
+
readonly sections: readonly {
|
|
13927
|
+
readonly bars: number;
|
|
13928
|
+
readonly id: string;
|
|
13929
|
+
readonly kind: string;
|
|
13930
|
+
}[];
|
|
13931
|
+
readonly title: string;
|
|
13932
|
+
};
|
|
13933
|
+
/** Music Room quota */
|
|
13934
|
+
readonly MusicRoomQuota: {
|
|
13935
|
+
/** @description Songs included this month. */
|
|
13936
|
+
readonly included: number;
|
|
13937
|
+
/**
|
|
13938
|
+
* Format: date-time
|
|
13939
|
+
* @description End of the current calendar month (UTC).
|
|
13940
|
+
*/
|
|
13941
|
+
readonly period_end: string;
|
|
13942
|
+
/** @description Your plan (`free`, `pro`, `power`, `max`, `team`…). */
|
|
13943
|
+
readonly plan: string;
|
|
13944
|
+
readonly remaining: number;
|
|
13945
|
+
readonly used: number;
|
|
13946
|
+
};
|
|
13355
13947
|
/**
|
|
13356
13948
|
* Music track metadata
|
|
13357
13949
|
* @description Extra fields on each `/v1/audio/music` item.
|
|
@@ -15674,6 +16266,80 @@ type components$1 = {
|
|
|
15674
16266
|
readonly seq: number;
|
|
15675
16267
|
};
|
|
15676
16268
|
};
|
|
16269
|
+
/**
|
|
16270
|
+
* Carousel / print build
|
|
16271
|
+
* @description A carousel or print creative queued for its paged export; download it from `export.url` once the export succeeds.
|
|
16272
|
+
* @example {
|
|
16273
|
+
* "object": "studio.creative_build",
|
|
16274
|
+
* "creative_id": "7a1b2c3d-0000-4000-8000-000000000051",
|
|
16275
|
+
* "seq": 3,
|
|
16276
|
+
* "kind": "carousel",
|
|
16277
|
+
* "format": "png",
|
|
16278
|
+
* "format_id": "4x5",
|
|
16279
|
+
* "pages": 6,
|
|
16280
|
+
* "quote_micro_usd": "12000",
|
|
16281
|
+
* "warnings": [],
|
|
16282
|
+
* "lint": [],
|
|
16283
|
+
* "print": null,
|
|
16284
|
+
* "document": null,
|
|
16285
|
+
* "export": {
|
|
16286
|
+
* "id": "3f0c9a7e-1b2d-4c5e-8f90-a1b2c3d4e5f7",
|
|
16287
|
+
* "object": "studio.export",
|
|
16288
|
+
* "kind": "carousel_png",
|
|
16289
|
+
* "status": "queued",
|
|
16290
|
+
* "creative_id": "7a1b2c3d-0000-4000-8000-000000000051",
|
|
16291
|
+
* "seq": 3,
|
|
16292
|
+
* "format": "4x5",
|
|
16293
|
+
* "fps": 0,
|
|
16294
|
+
* "filename": "spring-sale-4x5.zip",
|
|
16295
|
+
* "url": null,
|
|
16296
|
+
* "expires_at": null,
|
|
16297
|
+
* "bytes": null,
|
|
16298
|
+
* "rendered_seconds": null,
|
|
16299
|
+
* "cost_micro_usd": null,
|
|
16300
|
+
* "pages": null,
|
|
16301
|
+
* "boxes": null,
|
|
16302
|
+
* "lint": [],
|
|
16303
|
+
* "warnings": [],
|
|
16304
|
+
* "error": null,
|
|
16305
|
+
* "created_at": "2026-10-20T10:00:00Z"
|
|
16306
|
+
* }
|
|
16307
|
+
* }
|
|
16308
|
+
*/
|
|
16309
|
+
readonly StudioCreativePagedBuild: {
|
|
16310
|
+
/** Format: uuid */
|
|
16311
|
+
readonly creative_id: string;
|
|
16312
|
+
readonly document: null;
|
|
16313
|
+
readonly export: components$1['schemas']['StudioExport'];
|
|
16314
|
+
/** @enum {string} */
|
|
16315
|
+
readonly format: 'png' | 'pdf';
|
|
16316
|
+
readonly format_id: string;
|
|
16317
|
+
/** @enum {string} */
|
|
16318
|
+
readonly kind: 'carousel' | 'print';
|
|
16319
|
+
readonly lint: readonly components$1['schemas']['CreativePrintLintIssue'][];
|
|
16320
|
+
/** @enum {string} */
|
|
16321
|
+
readonly object: 'studio.creative_build';
|
|
16322
|
+
readonly pages: number;
|
|
16323
|
+
/** @description Print PDFs only — physical sheet and PDF boxes. */
|
|
16324
|
+
readonly print: {
|
|
16325
|
+
/** @description BleedBox offsets from the TrimBox in points [left, right, top, bottom]. */
|
|
16326
|
+
readonly bleed_offsets_pt?: readonly number[] | null;
|
|
16327
|
+
/** @description Intended press output intent (e.g. `FOGRA39`); the file itself is RGB. */
|
|
16328
|
+
readonly color_profile?: string;
|
|
16329
|
+
readonly crop_marks?: boolean;
|
|
16330
|
+
/** @description Always `false` today (no PDF/X-4 conversion in the worker). */
|
|
16331
|
+
readonly pdf_x4?: boolean;
|
|
16332
|
+
/** @description Sheet (MediaBox) width and height in mm, bleed and crop-mark margin included. */
|
|
16333
|
+
readonly sheet_mm?: readonly number[];
|
|
16334
|
+
/** @description TrimBox offsets from the MediaBox in points [left, right, top, bottom]. */
|
|
16335
|
+
readonly trim_offsets_pt?: readonly number[] | null;
|
|
16336
|
+
} | null;
|
|
16337
|
+
/** @description Price held for the job in µUSD ($0.002 per page, min $0.01). */
|
|
16338
|
+
readonly quote_micro_usd: string;
|
|
16339
|
+
readonly seq: number;
|
|
16340
|
+
/** @description E.g. the PDF/X-4 limitation of print PDFs, or a note that the prepress check found errors. */
|
|
16341
|
+
readonly warnings: readonly string[];
|
|
16342
|
+
};
|
|
15677
16343
|
/**
|
|
15678
16344
|
* Studio export
|
|
15679
16345
|
* @description An export of a video creative, downloadable once `status` is `succeeded`: an FCPXML zip with `project.fcpxml` and its media (`kind: fcpxml`), or a Lottie JSON / dotLottie file (`kind: lottie`, ready at once).
|
|
@@ -15698,6 +16364,8 @@ type components$1 = {
|
|
|
15698
16364
|
* }
|
|
15699
16365
|
*/
|
|
15700
16366
|
readonly StudioExport: {
|
|
16367
|
+
/** @description Print PDF only: TrimBox and BleedBox were written on every page; `null` until `succeeded`. */
|
|
16368
|
+
readonly boxes?: boolean | null;
|
|
15701
16369
|
/** @description Size of the zip in bytes; `null` until `succeeded`. */
|
|
15702
16370
|
readonly bytes: number | null;
|
|
15703
16371
|
/**
|
|
@@ -15733,12 +16401,16 @@ type components$1 = {
|
|
|
15733
16401
|
/** Format: uuid */
|
|
15734
16402
|
readonly id: string;
|
|
15735
16403
|
/**
|
|
15736
|
-
* @description What was exported: an FCPXML project zip (`export.fcpxml`)
|
|
16404
|
+
* @description What was exported: an FCPXML project zip (`export.fcpxml`), a Lottie file (`export.lottie`), or a paged build of `POST /v1/studio/creatives/{id}/build`: a carousel PNG zip, a carousel PDF or a print PDF.
|
|
15737
16405
|
* @enum {string}
|
|
15738
16406
|
*/
|
|
15739
|
-
readonly kind?: 'fcpxml' | 'lottie';
|
|
16407
|
+
readonly kind?: 'fcpxml' | 'lottie' | 'carousel_png' | 'carousel_pdf' | 'print_pdf';
|
|
16408
|
+
/** @description Paged builds only: prepress issues found at dispatch. */
|
|
16409
|
+
readonly lint?: readonly components$1['schemas']['CreativePrintLintIssue'][];
|
|
15740
16410
|
/** @enum {string} */
|
|
15741
16411
|
readonly object: 'studio.export';
|
|
16412
|
+
/** @description Paged builds only: pages in the file; `null` until `succeeded`. */
|
|
16413
|
+
readonly pages?: number | null;
|
|
15742
16414
|
/** @description Seconds of video newly rendered for this export (cached segments excluded); `null` until done. */
|
|
15743
16415
|
readonly rendered_seconds: number | null;
|
|
15744
16416
|
/** @description The exported creative version. */
|
|
@@ -15881,6 +16553,113 @@ type components$1 = {
|
|
|
15881
16553
|
/** @description Default voice. */
|
|
15882
16554
|
readonly voice?: string;
|
|
15883
16555
|
};
|
|
16556
|
+
/**
|
|
16557
|
+
* Post copy
|
|
16558
|
+
* @example {
|
|
16559
|
+
* "object": "studio.post_copy",
|
|
16560
|
+
* "creative_id": "7a1b2c3d-0000-4000-8000-000000000051",
|
|
16561
|
+
* "seq": 3,
|
|
16562
|
+
* "kind": "carousel",
|
|
16563
|
+
* "language": "ro",
|
|
16564
|
+
* "platforms": [
|
|
16565
|
+
* {
|
|
16566
|
+
* "platform": "linkedin",
|
|
16567
|
+
* "caption": "Primăvara vine cu reduceri de 20% la toată colecția.",
|
|
16568
|
+
* "hashtags": [
|
|
16569
|
+
* "#primăvară",
|
|
16570
|
+
* "#reduceri"
|
|
16571
|
+
* ],
|
|
16572
|
+
* "text": "Primăvara vine cu reduceri de 20% la toată colecția.\n\n#primăvară #reduceri",
|
|
16573
|
+
* "chars": 74,
|
|
16574
|
+
* "limits": {
|
|
16575
|
+
* "caption": 3000,
|
|
16576
|
+
* "hashtags": 10,
|
|
16577
|
+
* "alt": 300
|
|
16578
|
+
* }
|
|
16579
|
+
* }
|
|
16580
|
+
* ],
|
|
16581
|
+
* "alt": [
|
|
16582
|
+
* {
|
|
16583
|
+
* "scene_id": "s1",
|
|
16584
|
+
* "text": "Un buchet de lalele galbene pe o masă albă."
|
|
16585
|
+
* }
|
|
16586
|
+
* ],
|
|
16587
|
+
* "fixes": [],
|
|
16588
|
+
* "cost_micro_usd": "2140"
|
|
16589
|
+
* }
|
|
16590
|
+
*/
|
|
16591
|
+
readonly StudioPostCopy: {
|
|
16592
|
+
/** @description One alt text per slide in slide order (the first scene of an image), trimmed to the strictest platform's cap. */
|
|
16593
|
+
readonly alt: readonly {
|
|
16594
|
+
readonly scene_id: string;
|
|
16595
|
+
readonly text: string;
|
|
16596
|
+
}[];
|
|
16597
|
+
/** @description Token cost of the turn in µUSD. */
|
|
16598
|
+
readonly cost_micro_usd: string;
|
|
16599
|
+
/** Format: uuid */
|
|
16600
|
+
readonly creative_id: string;
|
|
16601
|
+
/** @description What the limit repair changed (trimmed captions, dropped or capped hashtags, missing alt texts). */
|
|
16602
|
+
readonly fixes: readonly {
|
|
16603
|
+
/** @enum {string} */
|
|
16604
|
+
readonly field?: 'caption' | 'hashtags' | 'alt';
|
|
16605
|
+
readonly message?: string;
|
|
16606
|
+
readonly platform?: string;
|
|
16607
|
+
}[];
|
|
16608
|
+
/** @enum {string} */
|
|
16609
|
+
readonly kind: 'carousel' | 'image' | 'video';
|
|
16610
|
+
/** @enum {string} */
|
|
16611
|
+
readonly language: 'ro' | 'en';
|
|
16612
|
+
/** @enum {string} */
|
|
16613
|
+
readonly object: 'studio.post_copy';
|
|
16614
|
+
/** @description One entry per requested platform, in request order. */
|
|
16615
|
+
readonly platforms: readonly {
|
|
16616
|
+
readonly caption: string;
|
|
16617
|
+
/** @description Length of `text` in Unicode code points. */
|
|
16618
|
+
readonly chars: number;
|
|
16619
|
+
/** @description Normalised `#tags` (letters, digits, underscore; diacritics kept), deduplicated. */
|
|
16620
|
+
readonly hashtags: readonly string[];
|
|
16621
|
+
readonly limits: {
|
|
16622
|
+
readonly alt?: number;
|
|
16623
|
+
readonly caption?: number;
|
|
16624
|
+
readonly hashtags?: number;
|
|
16625
|
+
};
|
|
16626
|
+
/** @enum {string} */
|
|
16627
|
+
readonly platform: 'instagram' | 'linkedin' | 'tiktok' | 'x' | 'facebook';
|
|
16628
|
+
/** @description The post as published — caption, a blank line, then the hashtags not already in the caption. */
|
|
16629
|
+
readonly text: string;
|
|
16630
|
+
}[];
|
|
16631
|
+
readonly seq: number;
|
|
16632
|
+
};
|
|
16633
|
+
/**
|
|
16634
|
+
* Post copy request
|
|
16635
|
+
* @example {
|
|
16636
|
+
* "platforms": [
|
|
16637
|
+
* "instagram",
|
|
16638
|
+
* "linkedin"
|
|
16639
|
+
* ],
|
|
16640
|
+
* "language": "ro",
|
|
16641
|
+
* "brief": "Reducere 20% până duminică"
|
|
16642
|
+
* }
|
|
16643
|
+
*/
|
|
16644
|
+
readonly StudioPostCopyRequest: {
|
|
16645
|
+
/** @description Optional steer — audience, call to action, facts to include. */
|
|
16646
|
+
readonly brief?: string;
|
|
16647
|
+
/**
|
|
16648
|
+
* @default ro
|
|
16649
|
+
* @enum {string}
|
|
16650
|
+
*/
|
|
16651
|
+
readonly language?: 'ro' | 'en';
|
|
16652
|
+
/**
|
|
16653
|
+
* @default [
|
|
16654
|
+
* "instagram",
|
|
16655
|
+
* "linkedin"
|
|
16656
|
+
* ]
|
|
16657
|
+
*/
|
|
16658
|
+
readonly platforms?: readonly ('instagram' | 'linkedin' | 'tiktok' | 'x' | 'facebook')[];
|
|
16659
|
+
/** @description Creative version to describe (default the head). */
|
|
16660
|
+
readonly seq?: number;
|
|
16661
|
+
readonly tone?: string;
|
|
16662
|
+
};
|
|
15884
16663
|
/** Studio production */
|
|
15885
16664
|
readonly StudioProduction: {
|
|
15886
16665
|
/** @enum {string} */
|
|
@@ -16800,6 +17579,21 @@ type components$1 = {
|
|
|
16800
17579
|
/** @description Volume of a video scene's own audio (default 1, or 0 when the scene is narrated). */
|
|
16801
17580
|
readonly video_volume?: number;
|
|
16802
17581
|
};
|
|
17582
|
+
/** Custom voice */
|
|
17583
|
+
readonly StudioVoice: {
|
|
17584
|
+
/** Format: date-time */
|
|
17585
|
+
readonly created_at: string;
|
|
17586
|
+
readonly display_name: string;
|
|
17587
|
+
/** Format: uuid */
|
|
17588
|
+
readonly id: string;
|
|
17589
|
+
/** @enum {string} */
|
|
17590
|
+
readonly kind: 'ai_clone';
|
|
17591
|
+
readonly label: string;
|
|
17592
|
+
readonly locale: string;
|
|
17593
|
+
/** @enum {string} */
|
|
17594
|
+
readonly object: 'studio.voice';
|
|
17595
|
+
readonly singing: components$1['schemas']['StudioVoiceSinging'];
|
|
17596
|
+
};
|
|
16803
17597
|
/** Voice takedown ticket */
|
|
16804
17598
|
readonly StudioVoiceRevocation: {
|
|
16805
17599
|
/** Format: uuid */
|
|
@@ -16826,6 +17620,30 @@ type components$1 = {
|
|
|
16826
17620
|
/** @description Name of the person whose voice is concerned. */
|
|
16827
17621
|
readonly voice_owner_name: string;
|
|
16828
17622
|
};
|
|
17623
|
+
/** Singing consent (beta) */
|
|
17624
|
+
readonly StudioVoiceSinging: {
|
|
17625
|
+
/** Format: date-time */
|
|
17626
|
+
readonly consented_at: string | null;
|
|
17627
|
+
/**
|
|
17628
|
+
* @description Always `beta`: the singing approximates your timbre.
|
|
17629
|
+
* @enum {string}
|
|
17630
|
+
*/
|
|
17631
|
+
readonly quality: 'beta';
|
|
17632
|
+
/** Format: date-time */
|
|
17633
|
+
readonly revoked_at: string | null;
|
|
17634
|
+
/**
|
|
17635
|
+
* @description `none` (never given), `active`, `revoked` (by you, or the voice ended).
|
|
17636
|
+
* @enum {string}
|
|
17637
|
+
*/
|
|
17638
|
+
readonly status: 'none' | 'active' | 'revoked';
|
|
17639
|
+
};
|
|
17640
|
+
readonly StudioVoiceSingingConsentRequest: {
|
|
17641
|
+
/**
|
|
17642
|
+
* Format: uuid
|
|
17643
|
+
* @description Id of the singing recording session (both clips recorded).
|
|
17644
|
+
*/
|
|
17645
|
+
readonly session_id: string;
|
|
17646
|
+
};
|
|
16829
17647
|
readonly SystemOneAnswer: {
|
|
16830
17648
|
readonly choice?: string;
|
|
16831
17649
|
readonly confidence?: number;
|
|
@@ -27964,6 +28782,8 @@ interface operations$1 {
|
|
|
27964
28782
|
readonly parameters: {
|
|
27965
28783
|
readonly query?: never;
|
|
27966
28784
|
readonly header?: {
|
|
28785
|
+
/** @description Replays the stored response of an earlier request with the same key for 24 h instead of running it again. */
|
|
28786
|
+
readonly 'Idempotency-Key'?: components$1['parameters']['IdempotencyKey'];
|
|
27967
28787
|
/** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
|
|
27968
28788
|
readonly 'x-request-id'?: components$1['parameters']['RequestId'];
|
|
27969
28789
|
};
|
|
@@ -27975,7 +28795,7 @@ interface operations$1 {
|
|
|
27975
28795
|
};
|
|
27976
28796
|
readonly requestBody?: {
|
|
27977
28797
|
readonly content: {
|
|
27978
|
-
readonly 'application/json': components$1['schemas']['CreativeBuildRequest'];
|
|
28798
|
+
readonly 'application/json': components$1['schemas']['CreativeBuildRequest'] | components$1['schemas']['CreativePagedBuildRequest'];
|
|
27979
28799
|
};
|
|
27980
28800
|
};
|
|
27981
28801
|
readonly responses: {
|
|
@@ -27988,7 +28808,16 @@ interface operations$1 {
|
|
|
27988
28808
|
readonly 'application/json': components$1['schemas']['StudioCreativeBuild'];
|
|
27989
28809
|
};
|
|
27990
28810
|
};
|
|
27991
|
-
/** @description
|
|
28811
|
+
/** @description Carousel or print creative — export job queued (poll `GET /v1/studio/exports/{id}`). */
|
|
28812
|
+
readonly 202: {
|
|
28813
|
+
headers: {
|
|
28814
|
+
readonly [name: string]: unknown;
|
|
28815
|
+
};
|
|
28816
|
+
content: {
|
|
28817
|
+
readonly 'application/json': components$1['schemas']['StudioCreativePagedBuild'];
|
|
28818
|
+
};
|
|
28819
|
+
};
|
|
28820
|
+
/** @description Invalid body (`invalid_request`, e.g. `format: png` on a print creative or an unknown `format_id`), a video or image creative (`not_supported_for_kind`), a converted spec that fails the documents schema (`invalid_spec`, first issues in the message), a PNG slide larger than 3840 px (`unsupported_format`), or any build error of `POST /v1/studio/documents` (`asset_not_found`, `unsupported_image`, `too_many_charts`, `chart_render_failed`). */
|
|
27992
28821
|
readonly 400: {
|
|
27993
28822
|
headers: {
|
|
27994
28823
|
readonly [name: string]: unknown;
|
|
@@ -28009,7 +28838,7 @@ interface operations$1 {
|
|
|
28009
28838
|
readonly 'application/json': components$1['schemas']['Error'];
|
|
28010
28839
|
};
|
|
28011
28840
|
};
|
|
28012
|
-
/** @description The generated file is larger than 50 MB (code `document_too_large`). */
|
|
28841
|
+
/** @description The generated file is larger than 50 MB (code `document_too_large`), or a paged build has more than 60 pages (`too_large`). */
|
|
28013
28842
|
readonly 413: {
|
|
28014
28843
|
headers: {
|
|
28015
28844
|
readonly [name: string]: unknown;
|
|
@@ -28018,7 +28847,7 @@ interface operations$1 {
|
|
|
28018
28847
|
readonly 'application/json': components$1['schemas']['Error'];
|
|
28019
28848
|
};
|
|
28020
28849
|
};
|
|
28021
|
-
/** @description Spend cap reached (`rate_limit_exceeded`),
|
|
28850
|
+
/** @description Spend cap reached (`rate_limit_exceeded`), with `preview: true` 3 previews already queued or rendering (`too_many_previews`), or for carousel / print 3 renders and exports already running (`too_many_renders`). */
|
|
28022
28851
|
readonly 429: {
|
|
28023
28852
|
headers: {
|
|
28024
28853
|
readonly [name: string]: unknown;
|
|
@@ -28027,7 +28856,7 @@ interface operations$1 {
|
|
|
28027
28856
|
readonly 'application/json': components$1['schemas']['Error'];
|
|
28028
28857
|
};
|
|
28029
28858
|
};
|
|
28030
|
-
/** @description Studio documents are not configured on this gateway (code `documents_unavailable`). */
|
|
28859
|
+
/** @description Studio documents are not configured on this gateway (code `documents_unavailable`), or for carousel / print the render worker is not (`renders_unavailable`). */
|
|
28031
28860
|
readonly 503: {
|
|
28032
28861
|
headers: {
|
|
28033
28862
|
readonly [name: string]: unknown;
|
|
@@ -28872,6 +29701,60 @@ interface operations$1 {
|
|
|
28872
29701
|
};
|
|
28873
29702
|
};
|
|
28874
29703
|
};
|
|
29704
|
+
readonly regenerateCreativeNode: {
|
|
29705
|
+
readonly parameters: {
|
|
29706
|
+
readonly query?: never;
|
|
29707
|
+
readonly header?: {
|
|
29708
|
+
/** @description Replays the stored response of an earlier request with the same key for 24 h instead of running it again. */
|
|
29709
|
+
readonly 'Idempotency-Key'?: components$1['parameters']['IdempotencyKey'];
|
|
29710
|
+
/** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
|
|
29711
|
+
readonly 'x-request-id'?: components$1['parameters']['RequestId'];
|
|
29712
|
+
};
|
|
29713
|
+
readonly path: {
|
|
29714
|
+
/** @description Creative UUID. A malformed, unknown, deleted or foreign id is 404. */
|
|
29715
|
+
readonly id: components$1['parameters']['CreativeId'];
|
|
29716
|
+
readonly nodeId: string;
|
|
29717
|
+
};
|
|
29718
|
+
readonly cookie?: never;
|
|
29719
|
+
};
|
|
29720
|
+
readonly requestBody: {
|
|
29721
|
+
readonly content: {
|
|
29722
|
+
readonly 'application/json': components$1['schemas']['CreativeRegenerateNodeRequest'];
|
|
29723
|
+
};
|
|
29724
|
+
};
|
|
29725
|
+
readonly responses: {
|
|
29726
|
+
/** @description New version appended. */
|
|
29727
|
+
readonly 200: {
|
|
29728
|
+
headers: {
|
|
29729
|
+
readonly [name: string]: unknown;
|
|
29730
|
+
};
|
|
29731
|
+
content: {
|
|
29732
|
+
readonly 'application/json': components$1['schemas']['CreativeRegenerateNodeResult'];
|
|
29733
|
+
};
|
|
29734
|
+
};
|
|
29735
|
+
/** @description Malformed body, not an image node (`invalid_request`), audio creative (`unsupported_kind`), filtered output (`content_filtered`, nothing charged). */
|
|
29736
|
+
readonly 400: {
|
|
29737
|
+
headers: {
|
|
29738
|
+
readonly [name: string]: unknown;
|
|
29739
|
+
};
|
|
29740
|
+
content: {
|
|
29741
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29742
|
+
};
|
|
29743
|
+
};
|
|
29744
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
29745
|
+
readonly 402: components$1['responses']['InsufficientFunds'];
|
|
29746
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
29747
|
+
/** @description The creative changed since `base_seq` and the change overlaps (code `stale`). */
|
|
29748
|
+
readonly 409: {
|
|
29749
|
+
headers: {
|
|
29750
|
+
readonly [name: string]: unknown;
|
|
29751
|
+
};
|
|
29752
|
+
content: {
|
|
29753
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29754
|
+
};
|
|
29755
|
+
};
|
|
29756
|
+
};
|
|
29757
|
+
};
|
|
28875
29758
|
readonly applyCreativeOps: {
|
|
28876
29759
|
readonly parameters: {
|
|
28877
29760
|
readonly query?: never;
|
|
@@ -28956,6 +29839,79 @@ interface operations$1 {
|
|
|
28956
29839
|
readonly 404: components$1['responses']['NotFound'];
|
|
28957
29840
|
};
|
|
28958
29841
|
};
|
|
29842
|
+
readonly writeCreativePostCopy: {
|
|
29843
|
+
readonly parameters: {
|
|
29844
|
+
readonly query?: never;
|
|
29845
|
+
readonly header?: {
|
|
29846
|
+
/** @description Replays the stored response of an earlier request with the same key for 24 h instead of running it again. */
|
|
29847
|
+
readonly 'Idempotency-Key'?: components$1['parameters']['IdempotencyKey'];
|
|
29848
|
+
/** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
|
|
29849
|
+
readonly 'x-request-id'?: components$1['parameters']['RequestId'];
|
|
29850
|
+
};
|
|
29851
|
+
readonly path: {
|
|
29852
|
+
/** @description Creative UUID. A malformed, unknown, deleted or foreign id is 404. */
|
|
29853
|
+
readonly id: components$1['parameters']['CreativeId'];
|
|
29854
|
+
};
|
|
29855
|
+
readonly cookie?: never;
|
|
29856
|
+
};
|
|
29857
|
+
readonly requestBody?: {
|
|
29858
|
+
readonly content: {
|
|
29859
|
+
readonly 'application/json': components$1['schemas']['StudioPostCopyRequest'];
|
|
29860
|
+
};
|
|
29861
|
+
};
|
|
29862
|
+
readonly responses: {
|
|
29863
|
+
/** @description Post copy per platform, within each platform's limits. */
|
|
29864
|
+
readonly 200: {
|
|
29865
|
+
headers: {
|
|
29866
|
+
readonly [name: string]: unknown;
|
|
29867
|
+
};
|
|
29868
|
+
content: {
|
|
29869
|
+
readonly 'application/json': components$1['schemas']['StudioPostCopy'];
|
|
29870
|
+
};
|
|
29871
|
+
};
|
|
29872
|
+
/** @description Invalid body (`invalid_request`), or a deck, doc, sheet, print or audio creative (`not_supported_for_kind`). */
|
|
29873
|
+
readonly 400: {
|
|
29874
|
+
headers: {
|
|
29875
|
+
readonly [name: string]: unknown;
|
|
29876
|
+
};
|
|
29877
|
+
content: {
|
|
29878
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29879
|
+
};
|
|
29880
|
+
};
|
|
29881
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
29882
|
+
readonly 402: components$1['responses']['InsufficientFunds'];
|
|
29883
|
+
readonly 403: components$1['responses']['Forbidden'];
|
|
29884
|
+
/** @description Unknown creative or `seq` (`not_found`). */
|
|
29885
|
+
readonly 404: {
|
|
29886
|
+
headers: {
|
|
29887
|
+
readonly [name: string]: unknown;
|
|
29888
|
+
};
|
|
29889
|
+
content: {
|
|
29890
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29891
|
+
};
|
|
29892
|
+
};
|
|
29893
|
+
/** @description The model answer could not be used (`no_post_copy`); only the turn that ran is billed. */
|
|
29894
|
+
readonly 422: {
|
|
29895
|
+
headers: {
|
|
29896
|
+
readonly [name: string]: unknown;
|
|
29897
|
+
};
|
|
29898
|
+
content: {
|
|
29899
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29900
|
+
};
|
|
29901
|
+
};
|
|
29902
|
+
readonly 429: components$1['responses']['RateLimited'];
|
|
29903
|
+
readonly 502: components$1['responses']['UpstreamError'];
|
|
29904
|
+
/** @description The turn did not finish within 60 s (`timeout`). */
|
|
29905
|
+
readonly 504: {
|
|
29906
|
+
headers: {
|
|
29907
|
+
readonly [name: string]: unknown;
|
|
29908
|
+
};
|
|
29909
|
+
content: {
|
|
29910
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
29911
|
+
};
|
|
29912
|
+
};
|
|
29913
|
+
};
|
|
29914
|
+
};
|
|
28959
29915
|
readonly renderCreative: {
|
|
28960
29916
|
readonly parameters: {
|
|
28961
29917
|
readonly query?: never;
|
|
@@ -29562,6 +30518,56 @@ interface operations$1 {
|
|
|
29562
30518
|
};
|
|
29563
30519
|
};
|
|
29564
30520
|
};
|
|
30521
|
+
readonly transcriptCutCreative: {
|
|
30522
|
+
readonly parameters: {
|
|
30523
|
+
readonly query?: never;
|
|
30524
|
+
readonly header?: {
|
|
30525
|
+
/** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
|
|
30526
|
+
readonly 'x-request-id'?: components$1['parameters']['RequestId'];
|
|
30527
|
+
};
|
|
30528
|
+
readonly path: {
|
|
30529
|
+
/** @description Creative UUID. A malformed, unknown, deleted or foreign id is 404. */
|
|
30530
|
+
readonly id: components$1['parameters']['CreativeId'];
|
|
30531
|
+
};
|
|
30532
|
+
readonly cookie?: never;
|
|
30533
|
+
};
|
|
30534
|
+
readonly requestBody: {
|
|
30535
|
+
readonly content: {
|
|
30536
|
+
readonly 'application/json': components$1['schemas']['CreativeTranscriptCutRequest'];
|
|
30537
|
+
};
|
|
30538
|
+
};
|
|
30539
|
+
readonly responses: {
|
|
30540
|
+
/** @description New version appended. */
|
|
30541
|
+
readonly 200: {
|
|
30542
|
+
headers: {
|
|
30543
|
+
readonly [name: string]: unknown;
|
|
30544
|
+
};
|
|
30545
|
+
content: {
|
|
30546
|
+
readonly 'application/json': components$1['schemas']['CreativeTranscriptCutResult'];
|
|
30547
|
+
};
|
|
30548
|
+
};
|
|
30549
|
+
/** @description Malformed body or word range (`invalid_request`), not a video node / creative (`unsupported_kind`), or the edit rejected by the engine (`invalid`, `locked`). */
|
|
30550
|
+
readonly 400: {
|
|
30551
|
+
headers: {
|
|
30552
|
+
readonly [name: string]: unknown;
|
|
30553
|
+
};
|
|
30554
|
+
content: {
|
|
30555
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
30556
|
+
};
|
|
30557
|
+
};
|
|
30558
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
30559
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
30560
|
+
/** @description No cached transcript for the clip (`captions_required`, with `node_id`), or the creative changed since `base_seq` (`stale`). */
|
|
30561
|
+
readonly 409: {
|
|
30562
|
+
headers: {
|
|
30563
|
+
readonly [name: string]: unknown;
|
|
30564
|
+
};
|
|
30565
|
+
content: {
|
|
30566
|
+
readonly 'application/json': components$1['schemas']['CreativeError'];
|
|
30567
|
+
};
|
|
30568
|
+
};
|
|
30569
|
+
};
|
|
30570
|
+
};
|
|
29565
30571
|
readonly listCreativeVariants: {
|
|
29566
30572
|
readonly parameters: {
|
|
29567
30573
|
readonly query?: never;
|
|
@@ -30361,6 +31367,210 @@ interface operations$1 {
|
|
|
30361
31367
|
readonly 404: components$1['responses']['NotFound'];
|
|
30362
31368
|
};
|
|
30363
31369
|
};
|
|
31370
|
+
readonly listStudioMusicRooms: {
|
|
31371
|
+
readonly parameters: {
|
|
31372
|
+
readonly query?: {
|
|
31373
|
+
/** @description Only songs created before this instant (ISO 8601). */
|
|
31374
|
+
readonly before?: string;
|
|
31375
|
+
/** @description Page size (1–100, default 20). */
|
|
31376
|
+
readonly limit?: number;
|
|
31377
|
+
};
|
|
31378
|
+
readonly header?: never;
|
|
31379
|
+
readonly path?: never;
|
|
31380
|
+
readonly cookie?: never;
|
|
31381
|
+
};
|
|
31382
|
+
readonly requestBody?: never;
|
|
31383
|
+
readonly responses: {
|
|
31384
|
+
/** @description A page of songs. */
|
|
31385
|
+
readonly 200: {
|
|
31386
|
+
headers: {
|
|
31387
|
+
readonly [name: string]: unknown;
|
|
31388
|
+
};
|
|
31389
|
+
content: {
|
|
31390
|
+
readonly 'application/json': components$1['schemas']['MusicRoomList'];
|
|
31391
|
+
};
|
|
31392
|
+
};
|
|
31393
|
+
readonly 400: components$1['responses']['BadRequest'];
|
|
31394
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31395
|
+
};
|
|
31396
|
+
};
|
|
31397
|
+
readonly createStudioMusicRoom: {
|
|
31398
|
+
readonly parameters: {
|
|
31399
|
+
readonly query?: never;
|
|
31400
|
+
readonly header?: {
|
|
31401
|
+
/** @description Replays the stored response of an earlier request with the same key for 24 h instead of running it again. */
|
|
31402
|
+
readonly 'Idempotency-Key'?: components$1['parameters']['IdempotencyKey'];
|
|
31403
|
+
};
|
|
31404
|
+
readonly path?: never;
|
|
31405
|
+
readonly cookie?: never;
|
|
31406
|
+
};
|
|
31407
|
+
readonly requestBody: {
|
|
31408
|
+
readonly content: {
|
|
31409
|
+
readonly 'application/json': components$1['schemas']['MusicRoomCreate'];
|
|
31410
|
+
};
|
|
31411
|
+
};
|
|
31412
|
+
readonly responses: {
|
|
31413
|
+
/** @description The song started; the producer is planning (or already waits at the plan gate). */
|
|
31414
|
+
readonly 202: {
|
|
31415
|
+
headers: {
|
|
31416
|
+
readonly [name: string]: unknown;
|
|
31417
|
+
};
|
|
31418
|
+
content: {
|
|
31419
|
+
readonly 'application/json': components$1['schemas']['MusicRoom'];
|
|
31420
|
+
};
|
|
31421
|
+
};
|
|
31422
|
+
readonly 400: components$1['responses']['BadRequest'];
|
|
31423
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31424
|
+
readonly 402: components$1['responses']['InsufficientFunds'];
|
|
31425
|
+
readonly 429: components$1['responses']['RateLimited'];
|
|
31426
|
+
/** @description The music renderer is not configured on this gateway (code `media_ops_unavailable`). */
|
|
31427
|
+
readonly 503: {
|
|
31428
|
+
headers: {
|
|
31429
|
+
readonly [name: string]: unknown;
|
|
31430
|
+
};
|
|
31431
|
+
content: {
|
|
31432
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
31433
|
+
};
|
|
31434
|
+
};
|
|
31435
|
+
};
|
|
31436
|
+
};
|
|
31437
|
+
readonly getStudioMusicRoom: {
|
|
31438
|
+
readonly parameters: {
|
|
31439
|
+
readonly query?: never;
|
|
31440
|
+
readonly header?: never;
|
|
31441
|
+
readonly path: {
|
|
31442
|
+
/** @description Music Room song UUID. */
|
|
31443
|
+
readonly id: string;
|
|
31444
|
+
};
|
|
31445
|
+
readonly cookie?: never;
|
|
31446
|
+
};
|
|
31447
|
+
readonly requestBody?: never;
|
|
31448
|
+
readonly responses: {
|
|
31449
|
+
/** @description The song. */
|
|
31450
|
+
readonly 200: {
|
|
31451
|
+
headers: {
|
|
31452
|
+
readonly [name: string]: unknown;
|
|
31453
|
+
};
|
|
31454
|
+
content: {
|
|
31455
|
+
readonly 'application/json': components$1['schemas']['MusicRoom'];
|
|
31456
|
+
};
|
|
31457
|
+
};
|
|
31458
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31459
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
31460
|
+
};
|
|
31461
|
+
};
|
|
31462
|
+
readonly chooseStudioMusicRoom: {
|
|
31463
|
+
readonly parameters: {
|
|
31464
|
+
readonly query?: never;
|
|
31465
|
+
readonly header?: never;
|
|
31466
|
+
readonly path: {
|
|
31467
|
+
/** @description Music Room song UUID. */
|
|
31468
|
+
readonly id: string;
|
|
31469
|
+
};
|
|
31470
|
+
readonly cookie?: never;
|
|
31471
|
+
};
|
|
31472
|
+
readonly requestBody: {
|
|
31473
|
+
readonly content: {
|
|
31474
|
+
readonly 'application/json': components$1['schemas']['MusicRoomChoose'];
|
|
31475
|
+
};
|
|
31476
|
+
};
|
|
31477
|
+
readonly responses: {
|
|
31478
|
+
/** @description The song after the answer. */
|
|
31479
|
+
readonly 200: {
|
|
31480
|
+
headers: {
|
|
31481
|
+
readonly [name: string]: unknown;
|
|
31482
|
+
};
|
|
31483
|
+
content: {
|
|
31484
|
+
readonly 'application/json': components$1['schemas']['MusicRoom'];
|
|
31485
|
+
};
|
|
31486
|
+
};
|
|
31487
|
+
readonly 400: components$1['responses']['BadRequest'];
|
|
31488
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31489
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
31490
|
+
/** @description The song is not waiting at that gate (code `not_at_gate`). */
|
|
31491
|
+
readonly 409: {
|
|
31492
|
+
headers: {
|
|
31493
|
+
readonly [name: string]: unknown;
|
|
31494
|
+
};
|
|
31495
|
+
content: {
|
|
31496
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
31497
|
+
};
|
|
31498
|
+
};
|
|
31499
|
+
};
|
|
31500
|
+
};
|
|
31501
|
+
readonly directStudioMusicRoom: {
|
|
31502
|
+
readonly parameters: {
|
|
31503
|
+
readonly query?: never;
|
|
31504
|
+
readonly header?: {
|
|
31505
|
+
/** @description Replays the stored response of an earlier request with the same key for 24 h instead of running it again. */
|
|
31506
|
+
readonly 'Idempotency-Key'?: components$1['parameters']['IdempotencyKey'];
|
|
31507
|
+
};
|
|
31508
|
+
readonly path: {
|
|
31509
|
+
/** @description Music Room song UUID. */
|
|
31510
|
+
readonly id: string;
|
|
31511
|
+
};
|
|
31512
|
+
readonly cookie?: never;
|
|
31513
|
+
};
|
|
31514
|
+
readonly requestBody: {
|
|
31515
|
+
readonly content: {
|
|
31516
|
+
readonly 'application/json': components$1['schemas']['MusicRoomDirect'];
|
|
31517
|
+
};
|
|
31518
|
+
};
|
|
31519
|
+
readonly responses: {
|
|
31520
|
+
/** @description The player is re-playing the part. */
|
|
31521
|
+
readonly 202: {
|
|
31522
|
+
headers: {
|
|
31523
|
+
readonly [name: string]: unknown;
|
|
31524
|
+
};
|
|
31525
|
+
content: {
|
|
31526
|
+
readonly 'application/json': components$1['schemas']['MusicRoom'];
|
|
31527
|
+
};
|
|
31528
|
+
};
|
|
31529
|
+
readonly 400: components$1['responses']['BadRequest'];
|
|
31530
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31531
|
+
readonly 402: components$1['responses']['InsufficientFunds'];
|
|
31532
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
31533
|
+
/** @description The song is not waiting at the demo or final gate (code `not_at_gate`). */
|
|
31534
|
+
readonly 409: {
|
|
31535
|
+
headers: {
|
|
31536
|
+
readonly [name: string]: unknown;
|
|
31537
|
+
};
|
|
31538
|
+
content: {
|
|
31539
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
31540
|
+
};
|
|
31541
|
+
};
|
|
31542
|
+
/** @description The music renderer is not configured on this gateway (code `media_ops_unavailable`). */
|
|
31543
|
+
readonly 503: {
|
|
31544
|
+
headers: {
|
|
31545
|
+
readonly [name: string]: unknown;
|
|
31546
|
+
};
|
|
31547
|
+
content: {
|
|
31548
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
31549
|
+
};
|
|
31550
|
+
};
|
|
31551
|
+
};
|
|
31552
|
+
};
|
|
31553
|
+
readonly getStudioMusicRoomQuota: {
|
|
31554
|
+
readonly parameters: {
|
|
31555
|
+
readonly query?: never;
|
|
31556
|
+
readonly header?: never;
|
|
31557
|
+
readonly path?: never;
|
|
31558
|
+
readonly cookie?: never;
|
|
31559
|
+
};
|
|
31560
|
+
readonly requestBody?: never;
|
|
31561
|
+
readonly responses: {
|
|
31562
|
+
/** @description The monthly quota. */
|
|
31563
|
+
readonly 200: {
|
|
31564
|
+
headers: {
|
|
31565
|
+
readonly [name: string]: unknown;
|
|
31566
|
+
};
|
|
31567
|
+
content: {
|
|
31568
|
+
readonly 'application/json': components$1['schemas']['MusicRoomQuota'];
|
|
31569
|
+
};
|
|
31570
|
+
};
|
|
31571
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
31572
|
+
};
|
|
31573
|
+
};
|
|
30364
31574
|
readonly retrievePreview: {
|
|
30365
31575
|
readonly parameters: {
|
|
30366
31576
|
readonly query?: never;
|
|
@@ -31007,6 +32217,76 @@ interface operations$1 {
|
|
|
31007
32217
|
readonly 429: components$1['responses']['RateLimited'];
|
|
31008
32218
|
};
|
|
31009
32219
|
};
|
|
32220
|
+
readonly addStudioVoiceSingingConsent: {
|
|
32221
|
+
readonly parameters: {
|
|
32222
|
+
readonly query?: never;
|
|
32223
|
+
readonly header?: never;
|
|
32224
|
+
readonly path: {
|
|
32225
|
+
readonly id: string;
|
|
32226
|
+
};
|
|
32227
|
+
readonly cookie?: never;
|
|
32228
|
+
};
|
|
32229
|
+
/** @description A finished `purpose: singing` recording session for this voice. */
|
|
32230
|
+
readonly requestBody: {
|
|
32231
|
+
readonly content: {
|
|
32232
|
+
readonly 'application/json': components$1['schemas']['StudioVoiceSingingConsentRequest'];
|
|
32233
|
+
};
|
|
32234
|
+
};
|
|
32235
|
+
readonly responses: {
|
|
32236
|
+
/** @description The voice, with `singing.status: active`. */
|
|
32237
|
+
readonly 200: {
|
|
32238
|
+
headers: {
|
|
32239
|
+
readonly [name: string]: unknown;
|
|
32240
|
+
};
|
|
32241
|
+
content: {
|
|
32242
|
+
readonly 'application/json': components$1['schemas']['StudioVoice'];
|
|
32243
|
+
};
|
|
32244
|
+
};
|
|
32245
|
+
/** @description Wrong session (`session_purpose_mismatch`), missing clips (`consent_missing`, `reference_missing`), outdated consent text (`singing_text_version_mismatch`) or no 18+ attestation. */
|
|
32246
|
+
readonly 400: {
|
|
32247
|
+
headers: {
|
|
32248
|
+
readonly [name: string]: unknown;
|
|
32249
|
+
};
|
|
32250
|
+
content: {
|
|
32251
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
32252
|
+
};
|
|
32253
|
+
};
|
|
32254
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
32255
|
+
readonly 403: components$1['responses']['Forbidden'];
|
|
32256
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
32257
|
+
/** @description The 5-minute recording session expired (`session_expired`). */
|
|
32258
|
+
readonly 410: {
|
|
32259
|
+
headers: {
|
|
32260
|
+
readonly [name: string]: unknown;
|
|
32261
|
+
};
|
|
32262
|
+
content: {
|
|
32263
|
+
readonly 'application/json': components$1['schemas']['Error'];
|
|
32264
|
+
};
|
|
32265
|
+
};
|
|
32266
|
+
};
|
|
32267
|
+
};
|
|
32268
|
+
readonly revokeStudioVoiceSingingConsent: {
|
|
32269
|
+
readonly parameters: {
|
|
32270
|
+
readonly query?: never;
|
|
32271
|
+
readonly header?: never;
|
|
32272
|
+
readonly path: {
|
|
32273
|
+
readonly id: string;
|
|
32274
|
+
};
|
|
32275
|
+
readonly cookie?: never;
|
|
32276
|
+
};
|
|
32277
|
+
readonly requestBody?: never;
|
|
32278
|
+
readonly responses: {
|
|
32279
|
+
/** @description Singing consent revoked. */
|
|
32280
|
+
readonly 204: {
|
|
32281
|
+
headers: {
|
|
32282
|
+
readonly [name: string]: unknown;
|
|
32283
|
+
};
|
|
32284
|
+
content?: never;
|
|
32285
|
+
};
|
|
32286
|
+
readonly 401: components$1['responses']['Unauthorized'];
|
|
32287
|
+
readonly 404: components$1['responses']['NotFound'];
|
|
32288
|
+
};
|
|
32289
|
+
};
|
|
31010
32290
|
readonly createSystemOne: {
|
|
31011
32291
|
readonly parameters: {
|
|
31012
32292
|
readonly query?: never;
|
|
@@ -34213,6 +35493,8 @@ interface operations$1 {
|
|
|
34213
35493
|
readonly model?: string;
|
|
34214
35494
|
readonly negative_prompt?: string;
|
|
34215
35495
|
readonly prompt: string;
|
|
35496
|
+
/** @description Up to 3 of your ready PNG / JPEG image assets showing ONE subject (character or product) that Veo keeps consistent (Vertex `referenceImages`, `referenceType: asset`). Not combinable with `image`; always 8 s. A missing or foreign asset is 404, another type 400 — checked before anything is held or charged. */
|
|
35497
|
+
readonly reference_asset_ids?: readonly string[];
|
|
34216
35498
|
/** @enum {string} */
|
|
34217
35499
|
readonly resolution?: '720p' | '1080p';
|
|
34218
35500
|
/** @enum {integer} */
|
|
@@ -34353,8 +35635,6 @@ interface operations$1 {
|
|
|
34353
35635
|
};
|
|
34354
35636
|
};
|
|
34355
35637
|
}
|
|
34356
|
-
//#endregion
|
|
34357
|
-
//#region src/http.d.ts
|
|
34358
35638
|
type ErrorEnvelope = components$1['schemas']['Error'];
|
|
34359
35639
|
type ErrorCode = ErrorEnvelope['error']['code'];
|
|
34360
35640
|
export declare class CodaiError extends Error {
|
|
@@ -34533,8 +35813,6 @@ interface SseFrame {
|
|
|
34533
35813
|
export declare function readSse(res: Response, signal?: AbortSignal): AsyncGenerator<SseFrame>;
|
|
34534
35814
|
/** Parse a frame's data as JSON, returning `null` for `[DONE]` / non-JSON. */
|
|
34535
35815
|
export declare function frameJson<T = unknown>(frame: SseFrame): T | null;
|
|
34536
|
-
//#endregion
|
|
34537
|
-
//#region src/resources/_shared.d.ts
|
|
34538
35816
|
type Schemas = components$1['schemas'];
|
|
34539
35817
|
type Schema<K extends keyof Schemas> = Schemas[K];
|
|
34540
35818
|
/** JSON request body of an operation. */
|
|
@@ -34560,8 +35838,6 @@ type QueryOf<Op extends keyof operations$1> = operations$1[Op]['parameters'] ext
|
|
|
34560
35838
|
* build request bodies with plain mutable objects.
|
|
34561
35839
|
*/
|
|
34562
35840
|
type Mutable<T> = T extends ReadonlyArray<infer U> ? Array<Mutable<U>> : T extends object ? { -readonly [K in keyof T]: Mutable<T[K]>; } : T;
|
|
34563
|
-
//#endregion
|
|
34564
|
-
//#region src/resources/account.d.ts
|
|
34565
35841
|
export type AccountView = Reply<'getAccount'>;
|
|
34566
35842
|
export type AccountPatchRequest = Mutable<Body<'patchAccount'>>;
|
|
34567
35843
|
export type AccountPatchResponse = Reply<'patchAccount'>;
|
|
@@ -34569,7 +35845,7 @@ export type Receipt = Reply<'getReceipt'>;
|
|
|
34569
35845
|
export type FeedbackRequest = Mutable<Body<'submitFeedback'>>;
|
|
34570
35846
|
export type FeedbackResponse = Reply<'submitFeedback'>;
|
|
34571
35847
|
export type PhoneModel = Schema<'AccountPhoneModel'>;
|
|
34572
|
-
type CallOpts$
|
|
35848
|
+
type CallOpts$40 = {
|
|
34573
35849
|
ext?: CodaiRequestExtensions;
|
|
34574
35850
|
signal?: AbortSignal;
|
|
34575
35851
|
};
|
|
@@ -34577,9 +35853,9 @@ export declare class Account {
|
|
|
34577
35853
|
private readonly http;
|
|
34578
35854
|
constructor(http: HttpClient);
|
|
34579
35855
|
/** `GET /v1/account` — the full account card. */
|
|
34580
|
-
get(opts?: CallOpts$
|
|
35856
|
+
get(opts?: CallOpts$40): Promise<AccountView>;
|
|
34581
35857
|
/** `PATCH /v1/account` — consents, username, referral (at least one field). */
|
|
34582
|
-
update(body: AccountPatchRequest, opts?: CallOpts$
|
|
35858
|
+
update(body: AccountPatchRequest, opts?: CallOpts$40): Promise<AccountPatchResponse>;
|
|
34583
35859
|
}
|
|
34584
35860
|
export declare class Receipts {
|
|
34585
35861
|
private readonly http;
|
|
@@ -34591,7 +35867,7 @@ export declare class Receipts {
|
|
|
34591
35867
|
get(query?: {
|
|
34592
35868
|
sessionId?: string;
|
|
34593
35869
|
since?: string | Date;
|
|
34594
|
-
}, opts?: CallOpts$
|
|
35870
|
+
}, opts?: CallOpts$40): Promise<Receipt>;
|
|
34595
35871
|
}
|
|
34596
35872
|
export declare class Feedback {
|
|
34597
35873
|
private readonly http;
|
|
@@ -34600,16 +35876,14 @@ export declare class Feedback {
|
|
|
34600
35876
|
* `POST /v1/feedback` — rate one turn. Exactly one of `event_id`,
|
|
34601
35877
|
* `session_id`, `client_request_id` must be present.
|
|
34602
35878
|
*/
|
|
34603
|
-
submit(body: FeedbackRequest, opts?: CallOpts$
|
|
35879
|
+
submit(body: FeedbackRequest, opts?: CallOpts$40): Promise<FeedbackResponse>;
|
|
34604
35880
|
}
|
|
34605
35881
|
export declare class PhoneModels {
|
|
34606
35882
|
private readonly http;
|
|
34607
35883
|
constructor(http: HttpClient);
|
|
34608
35884
|
/** `GET /v1/phone/models` — on-device model catalog with signed URLs. */
|
|
34609
|
-
list(opts?: CallOpts$
|
|
35885
|
+
list(opts?: CallOpts$40): Promise<PhoneModel[]>;
|
|
34610
35886
|
}
|
|
34611
|
-
//#endregion
|
|
34612
|
-
//#region src/resources/agents.d.ts
|
|
34613
35887
|
export type AgentRunRequest = Mutable<Body<'runAgentSync'>>;
|
|
34614
35888
|
export type AgentRunCreateRequest = Mutable<Body<'createAgentRun'>>;
|
|
34615
35889
|
export type AgentSyncResult = Reply<'runAgentSync'>;
|
|
@@ -34618,7 +35892,7 @@ export type AgentRun = Reply<'getAgentRun'>;
|
|
|
34618
35892
|
export type AgentRunStep = Schema<'AgentRunStep'>;
|
|
34619
35893
|
export type AgentRunStats = Reply<'getAgentRunStats'>;
|
|
34620
35894
|
export type AgentRunStatus = Schema<'AgentRunStatus'>;
|
|
34621
|
-
type CallOpts$
|
|
35895
|
+
type CallOpts$39 = {
|
|
34622
35896
|
ext?: CodaiRequestExtensions;
|
|
34623
35897
|
signal?: AbortSignal;
|
|
34624
35898
|
};
|
|
@@ -34655,31 +35929,29 @@ export declare class AgentRuns {
|
|
|
34655
35929
|
private readonly http;
|
|
34656
35930
|
constructor(http: HttpClient);
|
|
34657
35931
|
/** `POST /v1/agents/runs` — returns 202 with the run id. */
|
|
34658
|
-
create(body: AgentRunCreateRequest, opts?: CallOpts$
|
|
35932
|
+
create(body: AgentRunCreateRequest, opts?: CallOpts$39): Promise<AgentRunAccepted>;
|
|
34659
35933
|
/** `GET /v1/agents/runs/{id}` */
|
|
34660
|
-
get(id: string, opts?: CallOpts$
|
|
35934
|
+
get(id: string, opts?: CallOpts$39): Promise<AgentRun>;
|
|
34661
35935
|
/** `GET /v1/agents/runs/{id}/steps` — newest first. */
|
|
34662
|
-
steps(id: string, opts?: CallOpts$
|
|
35936
|
+
steps(id: string, opts?: CallOpts$39): Promise<AgentRunStep[]>;
|
|
34663
35937
|
/** `GET /v1/agents/runs/stats?days=` */
|
|
34664
|
-
stats(days?: number, opts?: CallOpts$
|
|
35938
|
+
stats(days?: number, opts?: CallOpts$39): Promise<AgentRunStats>;
|
|
34665
35939
|
/** `POST /v1/agents/runs/{id}/cancel` */
|
|
34666
|
-
cancel(id: string, opts?: CallOpts$
|
|
35940
|
+
cancel(id: string, opts?: CallOpts$39): Promise<Reply<'cancelAgentRun'>>;
|
|
34667
35941
|
/**
|
|
34668
35942
|
* `GET /v1/agents/runs/{id}/stream` — async iterator over `step` / `done` /
|
|
34669
35943
|
* `timeout` events. The iterator ends after `done`; on `timeout` (30 min)
|
|
34670
35944
|
* it also ends and you may reconnect (full replay from seq 0).
|
|
34671
35945
|
*/
|
|
34672
|
-
stream(id: string, opts?: CallOpts$
|
|
35946
|
+
stream(id: string, opts?: CallOpts$39): AsyncGenerator<AgentRunStreamEvent, void, undefined>;
|
|
34673
35947
|
}
|
|
34674
35948
|
export declare class Agents {
|
|
34675
35949
|
private readonly http;
|
|
34676
35950
|
readonly runs: AgentRuns;
|
|
34677
35951
|
constructor(http: HttpClient);
|
|
34678
35952
|
/** `POST /v1/agents/run` — blocks until the agent loop finishes. */
|
|
34679
|
-
run(body: AgentRunRequest, opts?: CallOpts$
|
|
35953
|
+
run(body: AgentRunRequest, opts?: CallOpts$39): Promise<AgentRunResult>;
|
|
34680
35954
|
}
|
|
34681
|
-
//#endregion
|
|
34682
|
-
//#region src/resources/audio.d.ts
|
|
34683
35955
|
export type TranscriptionResponse = Reply<'createTranscription'>;
|
|
34684
35956
|
export type SpeechRequest = Mutable<Body<'createSpeech'>>;
|
|
34685
35957
|
export type SpeechStreamRequest = Mutable<Body<'createSpeechStream'>>;
|
|
@@ -34818,8 +36090,6 @@ export declare class Audio {
|
|
|
34818
36090
|
signal?: AbortSignal;
|
|
34819
36091
|
}): AsyncGenerator<SpeechStreamEvent, void, undefined>;
|
|
34820
36092
|
}
|
|
34821
|
-
//#endregion
|
|
34822
|
-
//#region src/resources/billing.d.ts
|
|
34823
36093
|
export type BillingOverview = Reply<'getBilling'>;
|
|
34824
36094
|
export type BillingPlan = Schema<'BillingPlan'>;
|
|
34825
36095
|
export type BillingWallet = Schema<'BillingWallet'>;
|
|
@@ -34841,7 +36111,7 @@ export interface StudioQuoteQuery {
|
|
|
34841
36111
|
model?: string;
|
|
34842
36112
|
n?: number;
|
|
34843
36113
|
}
|
|
34844
|
-
type CallOpts$
|
|
36114
|
+
type CallOpts$38 = {
|
|
34845
36115
|
ext?: CodaiRequestExtensions;
|
|
34846
36116
|
signal?: AbortSignal;
|
|
34847
36117
|
};
|
|
@@ -34865,16 +36135,16 @@ export declare class Billing {
|
|
|
34865
36135
|
private readonly http;
|
|
34866
36136
|
constructor(http: HttpClient);
|
|
34867
36137
|
/** `GET /v1/billing` — plan, wallet, auto top-up, cards and pay links (read-only). */
|
|
34868
|
-
get(opts?: CallOpts$
|
|
36138
|
+
get(opts?: CallOpts$38): Promise<BillingOverview>;
|
|
34869
36139
|
/** `GET /v1/billing/invoices` — fiscal invoices and credit notes, newest first. */
|
|
34870
36140
|
invoices(query?: {
|
|
34871
36141
|
limit?: number;
|
|
34872
|
-
}, opts?: CallOpts$
|
|
36142
|
+
}, opts?: CallOpts$38): Promise<BillingInvoice[]>;
|
|
34873
36143
|
/**
|
|
34874
36144
|
* `GET /v1/studio/quote` — what a Studio action costs (USD and wallet EUR micros) and your spendable balance,
|
|
34875
36145
|
* before you run it. Paid Studio calls answer 402 `insufficient_funds` when `sufficient` is false. Free.
|
|
34876
36146
|
*/
|
|
34877
|
-
studioQuote(query: StudioQuoteQuery, opts?: CallOpts$
|
|
36147
|
+
studioQuote(query: StudioQuoteQuery, opts?: CallOpts$38): Promise<StudioQuote>;
|
|
34878
36148
|
/**
|
|
34879
36149
|
* Poll `get()` every `intervalMs` and call `onLow` once each time the wallet
|
|
34880
36150
|
* balance crosses below `thresholdEur`. Read-only: never creates a checkout.
|
|
@@ -34882,8 +36152,6 @@ export declare class Billing {
|
|
|
34882
36152
|
*/
|
|
34883
36153
|
watchBalance(opts: WatchBalanceOptions): () => void;
|
|
34884
36154
|
}
|
|
34885
|
-
//#endregion
|
|
34886
|
-
//#region src/resources/cards.d.ts
|
|
34887
36155
|
/** `{ block, provenance }` (+ `results` for geocode) as returned by every JSON card endpoint. */
|
|
34888
36156
|
export type CardDataResponse = Schema<'CardDataResponse'>;
|
|
34889
36157
|
export type CardsWeatherParams = QueryOf<'cardsWeather'>;
|
|
@@ -34919,7 +36187,7 @@ export interface CardsRendered {
|
|
|
34919
36187
|
width: number | null;
|
|
34920
36188
|
height: number | null;
|
|
34921
36189
|
}
|
|
34922
|
-
type CallOpts$
|
|
36190
|
+
type CallOpts$37 = {
|
|
34923
36191
|
ext?: CodaiRequestExtensions;
|
|
34924
36192
|
signal?: AbortSignal;
|
|
34925
36193
|
};
|
|
@@ -34928,62 +36196,60 @@ export declare class Cards {
|
|
|
34928
36196
|
constructor(http: HttpClient);
|
|
34929
36197
|
private get;
|
|
34930
36198
|
/** `GET /v1/cards/weather` — `weather` block from MET Norway (cached 30–60 min per 0.01°, free). */
|
|
34931
|
-
weather(params: CardsWeatherParams, opts?: CallOpts$
|
|
36199
|
+
weather(params: CardsWeatherParams, opts?: CallOpts$37): Promise<CardsWeatherResponse>;
|
|
34932
36200
|
/**
|
|
34933
36201
|
* `GET /v1/cards/places` — `places` block from Google Places: Text Search with `q` (biased to `lat`/`lng`/`radius`),
|
|
34934
36202
|
* Nearby Search without it. Billed per call; `block` is null when nothing matched.
|
|
34935
36203
|
*/
|
|
34936
|
-
places(params: CardsPlacesParams, opts?: CallOpts$
|
|
36204
|
+
places(params: CardsPlacesParams, opts?: CallOpts$37): Promise<CardsPlacesResponse>;
|
|
34937
36205
|
/** `GET /v1/cards/geocode` — `map` block (≤ 5 markers) plus raw `results` (Google Geocoding, billed). */
|
|
34938
|
-
geocode(params: CardsGeocodeParams, opts?: CallOpts$
|
|
36206
|
+
geocode(params: CardsGeocodeParams, opts?: CallOpts$37): Promise<CardsGeocodeResponse>;
|
|
34939
36207
|
/**
|
|
34940
36208
|
* `GET /v1/cards/static-map` — PNG from Google Maps Static proxied through the gateway (no maps key on the client).
|
|
34941
36209
|
* Needs `center` or `markers` (`lat,lng[,L]` joined by `|`); ≤ 640×400 points. Billed per call.
|
|
34942
36210
|
*/
|
|
34943
|
-
staticMap(params: CardsStaticMapParams, opts?: CallOpts$
|
|
36211
|
+
staticMap(params: CardsStaticMapParams, opts?: CallOpts$37): Promise<CardsStaticMap>;
|
|
34944
36212
|
/**
|
|
34945
36213
|
* `GET /v1/cards/fx` — BNR (default) or ECB reference rates: a `metric` block with `from`+`to`, otherwise a `table`
|
|
34946
36214
|
* block against `quote`, optionally limited to `symbols` (comma-separated). Free.
|
|
34947
36215
|
*/
|
|
34948
|
-
fx(params?: CardsFxParams, opts?: CallOpts$
|
|
36216
|
+
fx(params?: CardsFxParams, opts?: CallOpts$37): Promise<CardsFxResponse>;
|
|
34949
36217
|
/**
|
|
34950
36218
|
* `GET /v1/cards/route` — travel time from Google Routes: `route` { mode, durationS, staticDurationS, distanceM,
|
|
34951
36219
|
* polyline } and a `map` block. `origin`/`destination` as "lat,lng" or `from`/`to` as addresses; `mode` drive
|
|
34952
36220
|
* (traffic-aware, default), walk, bicycle, transit, two_wheeler. Billed per call; both null when no route exists.
|
|
34953
36221
|
*/
|
|
34954
|
-
route(params: CardsRouteParams, opts?: CallOpts$
|
|
36222
|
+
route(params: CardsRouteParams, opts?: CallOpts$37): Promise<CardsRouteResponse>;
|
|
34955
36223
|
/**
|
|
34956
36224
|
* `GET /v1/cards/track` — parcel history as a `timeline` block plus `result` (carrier, configured, found,
|
|
34957
36225
|
* delivered, events, trackingUrl). `carrier` (sameday | fan | cargus | dpd) is guessed from the AWB when omitted;
|
|
34958
36226
|
* carriers without gateway credentials answer `configured: false` with only the tracking link. Free.
|
|
34959
36227
|
*/
|
|
34960
|
-
track(params: CardsTrackParams, opts?: CallOpts$
|
|
36228
|
+
track(params: CardsTrackParams, opts?: CallOpts$37): Promise<CardsTrackResponse>;
|
|
34961
36229
|
/**
|
|
34962
36230
|
* `GET /v1/cards/efactura` — your fiscal documents issued through Brivio with their ANAF e-Factura status
|
|
34963
36231
|
* (`documents[]` + a `table` block, null when there are none). Free.
|
|
34964
36232
|
*/
|
|
34965
|
-
efactura(params?: CardsEfacturaParams, opts?: CallOpts$
|
|
36233
|
+
efactura(params?: CardsEfacturaParams, opts?: CallOpts$37): Promise<CardsEfacturaResponse>;
|
|
34966
36234
|
/**
|
|
34967
36235
|
* `POST /v1/cards/unfurl` — `links` block (variant `preview`) for a public https page; SSRF-guarded, cached 24 h.
|
|
34968
36236
|
* Private targets throw 400 `unfurl_blocked`, non-https pages 422 `unfurl_not_https`.
|
|
34969
36237
|
*/
|
|
34970
|
-
unfurl(url: string, opts?: CallOpts$
|
|
36238
|
+
unfurl(url: string, opts?: CallOpts$37): Promise<CardsUnfurlResponse>;
|
|
34971
36239
|
/**
|
|
34972
36240
|
* `POST /v1/cards/product` — `products` block with one item from a public https product page's schema.org
|
|
34973
36241
|
* `Product` JSON-LD (or OpenGraph product tags): name, image, price + currency (lowest offer), old price, rating
|
|
34974
36242
|
* (0–5), reviews, seller, availability badge in `lang` (en default). Only what the page states; never sponsored.
|
|
34975
36243
|
* SSRF-guarded like `unfurl`, cached 6 h. No product data throws 422 `product_not_found`.
|
|
34976
36244
|
*/
|
|
34977
|
-
product(url: string, lang?: 'en' | 'ro', opts?: CallOpts$
|
|
36245
|
+
product(url: string, lang?: 'en' | 'ro', opts?: CallOpts$37): Promise<CardsProductResponse>;
|
|
34978
36246
|
/**
|
|
34979
36247
|
* `POST /v1/cards/render` — renders a `chart` or `qr` block to `format` (`png` default, or `svg`) at
|
|
34980
36248
|
* `width` x `height` CSS px (64–1200, defaults 480 x 300; QR is square) times `scale` (1–3, PNG only).
|
|
34981
36249
|
* Other block types (Mermaid `diagram`, `math`, …) throw 422 `render_unsupported`. Free; 2000 renders per day.
|
|
34982
36250
|
*/
|
|
34983
|
-
render(body: CardsRenderBody, opts?: CallOpts$
|
|
36251
|
+
render(body: CardsRenderBody, opts?: CallOpts$37): Promise<CardsRendered>;
|
|
34984
36252
|
}
|
|
34985
|
-
//#endregion
|
|
34986
|
-
//#region src/resources/chat.d.ts
|
|
34987
36253
|
export type ChatCompletionRequest = Mutable<Body<'createChatCompletion'>>;
|
|
34988
36254
|
/** Request body as accepted by the SDK: `stream` is set by the method and `model` defaults to `codai`. */
|
|
34989
36255
|
export type ChatCompletionInput = Omit<ChatCompletionRequest, 'stream' | 'model'> & {
|
|
@@ -35090,13 +36356,11 @@ export declare class Chat {
|
|
|
35090
36356
|
readonly completions: ChatCompletions;
|
|
35091
36357
|
constructor(http: HttpClient);
|
|
35092
36358
|
}
|
|
35093
|
-
//#endregion
|
|
35094
|
-
//#region src/resources/devices.d.ts
|
|
35095
36359
|
export type Device = Schema<'DeviceListItem'>;
|
|
35096
36360
|
export type DevicePatch = Mutable<Body<'updateDevice'>>;
|
|
35097
36361
|
export type DevicePatched = Reply<'updateDevice'>;
|
|
35098
36362
|
export type DispatchInbox = Reply<'getMyDispatchInbox'>;
|
|
35099
|
-
type CallOpts$
|
|
36363
|
+
type CallOpts$36 = {
|
|
35100
36364
|
ext?: CodaiRequestExtensions;
|
|
35101
36365
|
signal?: AbortSignal;
|
|
35102
36366
|
};
|
|
@@ -35104,26 +36368,24 @@ export declare class Devices {
|
|
|
35104
36368
|
private readonly http;
|
|
35105
36369
|
constructor(http: HttpClient);
|
|
35106
36370
|
/** `GET /v1/devices` — most recently seen first. */
|
|
35107
|
-
list(opts?: CallOpts$
|
|
36371
|
+
list(opts?: CallOpts$36): Promise<Device[]>;
|
|
35108
36372
|
/** `PATCH /v1/devices/{id}` — push token and/or capabilities. */
|
|
35109
|
-
update(id: string, body: DevicePatch, opts?: CallOpts$
|
|
36373
|
+
update(id: string, body: DevicePatch, opts?: CallOpts$36): Promise<DevicePatched>;
|
|
35110
36374
|
/** `DELETE /v1/devices/{id}` */
|
|
35111
|
-
delete(id: string, opts?: CallOpts$
|
|
36375
|
+
delete(id: string, opts?: CallOpts$36): Promise<Reply<'deleteDevice'>>;
|
|
35112
36376
|
/**
|
|
35113
36377
|
* `POST /v1/keys/self/revoke` — the API key this client uses revokes ITSELF (sign out).
|
|
35114
36378
|
* Every later call with it fails with 401.
|
|
35115
36379
|
*/
|
|
35116
|
-
revokeSelfKey(opts?: CallOpts$
|
|
36380
|
+
revokeSelfKey(opts?: CallOpts$36): Promise<Reply<'revokeSelfKey'>>;
|
|
35117
36381
|
/**
|
|
35118
36382
|
* `GET /v1/devices/me/dispatch?limit=` — pending controls dispatched at the
|
|
35119
36383
|
* calling device (`x-codai-device` required) across all owned sessions.
|
|
35120
36384
|
*/
|
|
35121
36385
|
dispatchInbox(query?: {
|
|
35122
36386
|
limit?: number;
|
|
35123
|
-
}, opts?: CallOpts$
|
|
36387
|
+
}, opts?: CallOpts$36): Promise<DispatchInbox>;
|
|
35124
36388
|
}
|
|
35125
|
-
//#endregion
|
|
35126
|
-
//#region src/resources/embeddings.d.ts
|
|
35127
36389
|
export type EmbeddingsRequest = Mutable<Body<'createEmbeddings'>>;
|
|
35128
36390
|
export type EmbeddingsResponse = Reply<'createEmbeddings'>;
|
|
35129
36391
|
export interface EmbeddingsResult {
|
|
@@ -35146,8 +36408,6 @@ export declare class Embeddings {
|
|
|
35146
36408
|
signal?: AbortSignal;
|
|
35147
36409
|
}): Promise<EmbeddingsResult>;
|
|
35148
36410
|
}
|
|
35149
|
-
//#endregion
|
|
35150
|
-
//#region src/resources/environments.d.ts
|
|
35151
36411
|
export type Environment = Schema<'Environment'>;
|
|
35152
36412
|
export type EnvironmentDetail = Schema<'EnvironmentDetail'>;
|
|
35153
36413
|
export type EnvironmentState = Schema<'EnvironmentState'>;
|
|
@@ -35183,7 +36443,7 @@ export type EnvironmentJobStartBody = Mutable<Body<'startEnvironmentJob'>>;
|
|
|
35183
36443
|
export type EnvironmentJobStarted = Schema<'EnvironmentJobStarted'>;
|
|
35184
36444
|
export type EnvironmentJob = Schema<'EnvironmentJob'>;
|
|
35185
36445
|
export type GetEnvironmentJobQuery = Mutable<QueryOf<'getEnvironmentJob'>>;
|
|
35186
|
-
type CallOpts$
|
|
36446
|
+
type CallOpts$35 = {
|
|
35187
36447
|
ext?: CodaiRequestExtensions;
|
|
35188
36448
|
signal?: AbortSignal;
|
|
35189
36449
|
};
|
|
@@ -35191,70 +36451,70 @@ export declare class EnvironmentMembers {
|
|
|
35191
36451
|
private readonly http;
|
|
35192
36452
|
constructor(http: HttpClient);
|
|
35193
36453
|
/** `GET /v1/environments/{id}/members` — any role. */
|
|
35194
|
-
list(envId: string, opts?: CallOpts$
|
|
36454
|
+
list(envId: string, opts?: CallOpts$35): Promise<EnvironmentMember[]>;
|
|
35195
36455
|
/** `POST /v1/environments/{id}/members` — exactly one of `user_id` / `email`. */
|
|
35196
|
-
add(envId: string, body: EnvironmentAddMemberBody, opts?: CallOpts$
|
|
36456
|
+
add(envId: string, body: EnvironmentAddMemberBody, opts?: CallOpts$35): Promise<EnvironmentMemberCreated>;
|
|
35197
36457
|
/** `PUT /v1/environments/{id}/members/me/ssh-key` — one `authorized_keys` line. */
|
|
35198
|
-
setSshKey(envId: string, publicKey: string, opts?: CallOpts$
|
|
36458
|
+
setSshKey(envId: string, publicKey: string, opts?: CallOpts$35): Promise<Reply<'setMyEnvironmentSshKey'>>;
|
|
35199
36459
|
/** `PATCH /v1/environments/{id}/members/{userId}` — 409 `last_owner` on demoting the last owner. */
|
|
35200
|
-
setRole(envId: string, userId: string, role: EnvironmentRole, opts?: CallOpts$
|
|
36460
|
+
setRole(envId: string, userId: string, role: EnvironmentRole, opts?: CallOpts$35): Promise<Reply<'setEnvironmentMemberRole'>['member']>;
|
|
35201
36461
|
/** `DELETE /v1/environments/{id}/members/{userId}` — pass your own id to leave. */
|
|
35202
|
-
remove(envId: string, userId: string, opts?: CallOpts$
|
|
36462
|
+
remove(envId: string, userId: string, opts?: CallOpts$35): Promise<Reply<'removeEnvironmentMember'>>;
|
|
35203
36463
|
/** `POST /v1/environments/{id}/members/me/ssh-cert` — 12 h OpenSSH user certificate for your key. */
|
|
35204
|
-
sshCert(envId: string, body: EnvironmentSshCertBody, opts?: CallOpts$
|
|
36464
|
+
sshCert(envId: string, body: EnvironmentSshCertBody, opts?: CallOpts$35): Promise<EnvironmentSshCert>;
|
|
35205
36465
|
}
|
|
35206
36466
|
/** `/v1/environments/{id}/tasks` — fire-and-forget agent tasks run in the environment. */
|
|
35207
36467
|
export declare class EnvironmentTasks {
|
|
35208
36468
|
private readonly http;
|
|
35209
36469
|
constructor(http: HttpClient);
|
|
35210
36470
|
/** `GET /v1/environments/{id}/tasks` */
|
|
35211
|
-
list(envId: string, opts?: CallOpts$
|
|
36471
|
+
list(envId: string, opts?: CallOpts$35): Promise<EnvironmentTaskList>;
|
|
35212
36472
|
/** `POST /v1/environments/{id}/tasks` — queued; you get a notification when it finishes. */
|
|
35213
|
-
create(envId: string, body: EnvironmentTaskCreateBody, opts?: CallOpts$
|
|
36473
|
+
create(envId: string, body: EnvironmentTaskCreateBody, opts?: CallOpts$35): Promise<EnvironmentTaskCreated>;
|
|
35214
36474
|
/** `GET /v1/environments/{id}/tasks/{taskId}` */
|
|
35215
|
-
get(envId: string, taskId: string, opts?: CallOpts$
|
|
36475
|
+
get(envId: string, taskId: string, opts?: CallOpts$35): Promise<EnvironmentTaskDetail>;
|
|
35216
36476
|
}
|
|
35217
36477
|
/** `/v1/environments/{id}/files` — read/write/list over the relay (developer role or higher). */
|
|
35218
36478
|
export declare class EnvironmentFiles {
|
|
35219
36479
|
private readonly http;
|
|
35220
36480
|
constructor(http: HttpClient);
|
|
35221
36481
|
/** `GET /v1/environments/{id}/files?path=` — directory entries; no path → your workspace. */
|
|
35222
|
-
list(envId: string, path?: string, opts?: CallOpts$
|
|
36482
|
+
list(envId: string, path?: string, opts?: CallOpts$35): Promise<EnvironmentFileList>;
|
|
35223
36483
|
/** `GET /v1/environments/{id}/files/{path}` — UTF-8 text (64 KB default, `maxBytes` ≤ 512 KB). */
|
|
35224
36484
|
get(envId: string, path: string, options?: {
|
|
35225
36485
|
maxBytes?: number;
|
|
35226
|
-
} & CallOpts$
|
|
36486
|
+
} & CallOpts$35): Promise<EnvironmentFile>;
|
|
35227
36487
|
/** `PUT /v1/environments/{id}/files/{path}` — replace with UTF-8 text (≤ 2 MB). */
|
|
35228
|
-
put(envId: string, path: string, content: string, opts?: CallOpts$
|
|
36488
|
+
put(envId: string, path: string, content: string, opts?: CallOpts$35): Promise<EnvironmentFileWritten>;
|
|
35229
36489
|
}
|
|
35230
36490
|
/** `/v1/environments/{id}/jobs` — background jobs on the environment daemon. */
|
|
35231
36491
|
export declare class EnvironmentJobs {
|
|
35232
36492
|
private readonly http;
|
|
35233
36493
|
constructor(http: HttpClient);
|
|
35234
36494
|
/** `POST /v1/environments/{id}/jobs` — returns at once with `job_id`. */
|
|
35235
|
-
start(envId: string, body: EnvironmentJobStartBody, opts?: CallOpts$
|
|
36495
|
+
start(envId: string, body: EnvironmentJobStartBody, opts?: CallOpts$35): Promise<EnvironmentJobStarted>;
|
|
35236
36496
|
/** `GET /v1/environments/{id}/jobs/{jobId}` — status + output (`since` = previous `next_offset`). */
|
|
35237
|
-
get(envId: string, jobId: string | number, query?: GetEnvironmentJobQuery, opts?: CallOpts$
|
|
36497
|
+
get(envId: string, jobId: string | number, query?: GetEnvironmentJobQuery, opts?: CallOpts$35): Promise<EnvironmentJob>;
|
|
35238
36498
|
}
|
|
35239
36499
|
export declare class EnvironmentPorts {
|
|
35240
36500
|
private readonly http;
|
|
35241
36501
|
constructor(http: HttpClient);
|
|
35242
36502
|
/** `GET /v1/environments/{id}/ports` — published (forwarded) ports. */
|
|
35243
|
-
list(envId: string, opts?: CallOpts$
|
|
36503
|
+
list(envId: string, opts?: CallOpts$35): Promise<EnvironmentPort[]>;
|
|
35244
36504
|
/** `PUT /v1/environments/{id}/ports/{port}` — publish or change visibility (upsert). */
|
|
35245
|
-
set(envId: string, port: number, body: EnvironmentPortBody, opts?: CallOpts$
|
|
36505
|
+
set(envId: string, port: number, body: EnvironmentPortBody, opts?: CallOpts$35): Promise<EnvironmentPort>;
|
|
35246
36506
|
/** `DELETE /v1/environments/{id}/ports/{port}` — unpublish. */
|
|
35247
|
-
remove(envId: string, port: number, opts?: CallOpts$
|
|
36507
|
+
remove(envId: string, port: number, opts?: CallOpts$35): Promise<Reply<'removeEnvironmentPort'>>;
|
|
35248
36508
|
}
|
|
35249
36509
|
export declare class EnvironmentSecrets {
|
|
35250
36510
|
private readonly http;
|
|
35251
36511
|
constructor(http: HttpClient);
|
|
35252
36512
|
/** `GET /v1/environments/{id}/secrets` — names and timestamps only, never values. */
|
|
35253
|
-
list(envId: string, opts?: CallOpts$
|
|
36513
|
+
list(envId: string, opts?: CallOpts$35): Promise<EnvironmentSecret[]>;
|
|
35254
36514
|
/** `PUT /v1/environments/{id}/secrets/{name}` — upsert; `name` is `ENV_STYLE`. */
|
|
35255
|
-
set(envId: string, name: string, value: string, opts?: CallOpts$
|
|
36515
|
+
set(envId: string, name: string, value: string, opts?: CallOpts$35): Promise<EnvironmentSecretSet>;
|
|
35256
36516
|
/** `DELETE /v1/environments/{id}/secrets/{name}` */
|
|
35257
|
-
remove(envId: string, name: string, opts?: CallOpts$
|
|
36517
|
+
remove(envId: string, name: string, opts?: CallOpts$35): Promise<Reply<'removeEnvironmentSecret'>>;
|
|
35258
36518
|
}
|
|
35259
36519
|
export declare class Environments {
|
|
35260
36520
|
private readonly http;
|
|
@@ -35269,45 +36529,43 @@ export declare class Environments {
|
|
|
35269
36529
|
* `POST /v1/environments/{id}/exec` — run one relay op and wait (developer+). `op` defaults to
|
|
35270
36530
|
* `shell` with `command`; 409 `environment_offline`, 504 `host_timeout`.
|
|
35271
36531
|
*/
|
|
35272
|
-
exec(envId: string, body: EnvironmentExecBody, opts?: CallOpts$
|
|
36532
|
+
exec(envId: string, body: EnvironmentExecBody, opts?: CallOpts$35): Promise<EnvironmentExecResult>;
|
|
35273
36533
|
/** `GET /v1/environments/{id}/ssh-ca` — CA public keys to trust (`@cert-authority` lines). */
|
|
35274
|
-
sshCa(envId: string, opts?: CallOpts$
|
|
36534
|
+
sshCa(envId: string, opts?: CallOpts$35): Promise<EnvironmentSshCa>;
|
|
35275
36535
|
/** `GET /v1/environments?project_id=&for_user_id=me` — newest first, every state. */
|
|
35276
|
-
list(query?: ListEnvironmentsQuery, opts?: CallOpts$
|
|
36536
|
+
list(query?: ListEnvironmentsQuery, opts?: CallOpts$35): Promise<Environment[]>;
|
|
35277
36537
|
/**
|
|
35278
36538
|
* `POST /v1/environments` — `byo` starts `pending`; managed providers start
|
|
35279
36539
|
* `creating`. 409 `already_has_env` in a `vm_per_dev` project (the error
|
|
35280
36540
|
* body carries the `environment_id` to reuse).
|
|
35281
36541
|
*/
|
|
35282
|
-
create(body: EnvironmentCreateBody, opts?: CallOpts$
|
|
36542
|
+
create(body: EnvironmentCreateBody, opts?: CallOpts$35): Promise<Environment>;
|
|
35283
36543
|
/**
|
|
35284
36544
|
* `POST /v1/environments/enroll` — daemon side. The one-time `codai_env_…`
|
|
35285
36545
|
* token in the body is the only credential; the client's API key header is
|
|
35286
36546
|
* ignored by this route. Managed environments additionally receive a
|
|
35287
36547
|
* freshly minted `api_key`, returned exactly once.
|
|
35288
36548
|
*/
|
|
35289
|
-
enroll(body: EnvironmentEnrollBody, opts?: CallOpts$
|
|
36549
|
+
enroll(body: EnvironmentEnrollBody, opts?: CallOpts$35): Promise<EnvironmentEnrolled>;
|
|
35290
36550
|
/** `GET /v1/environments/{id}` — environment, your role, members, ports, recent events. */
|
|
35291
|
-
get(envId: string, opts?: CallOpts$
|
|
36551
|
+
get(envId: string, opts?: CallOpts$35): Promise<EnvironmentDetail>;
|
|
35292
36552
|
/** `PATCH /v1/environments/{id}` — `name` and/or `idle_timeout_minutes` (5..1440). */
|
|
35293
|
-
update(envId: string, body: EnvironmentPatchBody, opts?: CallOpts$
|
|
36553
|
+
update(envId: string, body: EnvironmentPatchBody, opts?: CallOpts$35): Promise<Environment>;
|
|
35294
36554
|
/** `POST /v1/environments/{id}/start` — managed providers only (`stopped` → `starting`). */
|
|
35295
|
-
start(envId: string, opts?: CallOpts$
|
|
36555
|
+
start(envId: string, opts?: CallOpts$35): Promise<EnvironmentTransition>;
|
|
35296
36556
|
/** `POST /v1/environments/{id}/stop` — managed providers only (`running` → `stopping`). */
|
|
35297
|
-
stop(envId: string, opts?: CallOpts$
|
|
36557
|
+
stop(envId: string, opts?: CallOpts$35): Promise<EnvironmentTransition>;
|
|
35298
36558
|
/** `POST /v1/environments/{id}/archive` — keeps history, releases the machine. */
|
|
35299
|
-
archive(envId: string, opts?: CallOpts$
|
|
36559
|
+
archive(envId: string, opts?: CallOpts$35): Promise<EnvironmentTransition>;
|
|
35300
36560
|
/** `POST /v1/environments/{id}/destroy` — owner only; terminal. */
|
|
35301
|
-
destroy(envId: string, opts?: CallOpts$
|
|
36561
|
+
destroy(envId: string, opts?: CallOpts$35): Promise<EnvironmentTransition>;
|
|
35302
36562
|
/**
|
|
35303
36563
|
* `POST /v1/environments/{id}/enroll-token` — `byo` only; a 30-minute
|
|
35304
36564
|
* one-time token for `enroll()`. Minting again replaces the previous one.
|
|
35305
36565
|
*/
|
|
35306
|
-
enrollToken(envId: string, opts?: CallOpts$
|
|
36566
|
+
enrollToken(envId: string, opts?: CallOpts$35): Promise<EnvironmentEnrollToken>;
|
|
35307
36567
|
private transition;
|
|
35308
36568
|
}
|
|
35309
|
-
//#endregion
|
|
35310
|
-
//#region src/resources/health.d.ts
|
|
35311
36569
|
export type HealthResponse = Reply<'getHealth'>;
|
|
35312
36570
|
export type HealthReadyResponse = Reply<'getHealthReady'>;
|
|
35313
36571
|
export type StatusResponse = Reply<'getStatus'>;
|
|
@@ -35332,15 +36590,13 @@ export declare class Health {
|
|
|
35332
36590
|
signal?: AbortSignal;
|
|
35333
36591
|
}): Promise<StatusResponse>;
|
|
35334
36592
|
}
|
|
35335
|
-
//#endregion
|
|
35336
|
-
//#region src/resources/hosts.d.ts
|
|
35337
36593
|
export type HostPresence = Schema<'HostPresence'>;
|
|
35338
36594
|
export type HostOp = Schema<'HostOp'>;
|
|
35339
36595
|
export type HostExecBody = Mutable<Body<'execOnHost'>>;
|
|
35340
36596
|
export type HostExecResponse = Reply<'execOnHost'>;
|
|
35341
36597
|
export type HostExecRequest = Schema<'HostExecRequest'>;
|
|
35342
36598
|
export type HostExecResultBody = Mutable<Body<'postHostExecResult'>>;
|
|
35343
|
-
type CallOpts$
|
|
36599
|
+
type CallOpts$34 = {
|
|
35344
36600
|
ext?: CodaiRequestExtensions;
|
|
35345
36601
|
signal?: AbortSignal;
|
|
35346
36602
|
};
|
|
@@ -35367,7 +36623,7 @@ export declare class Hosts {
|
|
|
35367
36623
|
private readonly http;
|
|
35368
36624
|
constructor(http: HttpClient);
|
|
35369
36625
|
/** `GET /v1/hosts` — your devices currently connected as hosts. */
|
|
35370
|
-
list(opts?: CallOpts$
|
|
36626
|
+
list(opts?: CallOpts$34): Promise<HostPresence[]>;
|
|
35371
36627
|
/**
|
|
35372
36628
|
* `POST /v1/hosts/{deviceId}/exec` — run one op on a connected host and
|
|
35373
36629
|
* block until it answers (or `timeout_ms`, default 60 s).
|
|
@@ -35375,9 +36631,9 @@ export declare class Hosts {
|
|
|
35375
36631
|
exec(deviceId: string, op: HostOp, args?: Record<string, unknown>, extra?: {
|
|
35376
36632
|
timeoutMs?: number;
|
|
35377
36633
|
label?: string;
|
|
35378
|
-
} & CallOpts$
|
|
36634
|
+
} & CallOpts$34): Promise<HostExecResponse>;
|
|
35379
36635
|
/** `POST /v1/hosts/exec/{reqId}/result` — host side: deliver an exec result. */
|
|
35380
|
-
postResult(reqId: string, body: HostExecResultBody, opts?: CallOpts$
|
|
36636
|
+
postResult(reqId: string, body: HostExecResultBody, opts?: CallOpts$34): Promise<Reply<'postHostExecResult'>>;
|
|
35381
36637
|
/**
|
|
35382
36638
|
* `GET /v1/hosts/stream?os=&hostname=&roots=` — host side: announce this
|
|
35383
36639
|
* device and receive `hello` / `ping` / `exec` events. Closed by the server
|
|
@@ -35387,10 +36643,8 @@ export declare class Hosts {
|
|
|
35387
36643
|
os?: string;
|
|
35388
36644
|
hostname?: string;
|
|
35389
36645
|
roots?: string[];
|
|
35390
|
-
}, opts?: CallOpts$
|
|
36646
|
+
}, opts?: CallOpts$34): AsyncGenerator<HostStreamEvent, void, undefined>;
|
|
35391
36647
|
}
|
|
35392
|
-
//#endregion
|
|
35393
|
-
//#region src/resources/assets.d.ts
|
|
35394
36648
|
/** A stored asset (`GET /v1/assets/{id}`; `data` items with `response_format: 'url'`). */
|
|
35395
36649
|
export type AssetDto = Schema<'AssetDto'>;
|
|
35396
36650
|
export type AssetKind = Schema<'AssetKind'>;
|
|
@@ -35399,7 +36653,7 @@ export type AssetDeleted = Reply<'deleteAsset'>;
|
|
|
35399
36653
|
export type AssetListQuery = QueryOf<'listAssets'>;
|
|
35400
36654
|
/** `b64_json` (default, inline bytes) or `url` (stored asset + 1 h signed URL; 503 `assets_unavailable` without storage). */
|
|
35401
36655
|
export type MediaResponseFormat = Schema<'MediaResponseFormat'>;
|
|
35402
|
-
type CallOpts$
|
|
36656
|
+
type CallOpts$33 = {
|
|
35403
36657
|
ext?: CodaiRequestExtensions;
|
|
35404
36658
|
signal?: AbortSignal;
|
|
35405
36659
|
};
|
|
@@ -35409,28 +36663,26 @@ export declare class Assets {
|
|
|
35409
36663
|
private readonly http;
|
|
35410
36664
|
constructor(http: HttpClient);
|
|
35411
36665
|
/** `GET /v1/assets` — newest first, `limit` ≤ 100 (default 30). Paginate by passing `next_before` as `before`. */
|
|
35412
|
-
list(query?: AssetListQuery, opts?: CallOpts$
|
|
36666
|
+
list(query?: AssetListQuery, opts?: CallOpts$33): Promise<AssetList>;
|
|
35413
36667
|
/** Iterate every asset across pages (`list` with `before` = previous `next_before`). */
|
|
35414
|
-
iterate(query?: Omit<AssetListQuery, 'before'>, opts?: CallOpts$
|
|
36668
|
+
iterate(query?: Omit<AssetListQuery, 'before'>, opts?: CallOpts$33): AsyncGenerator<AssetDto, void, undefined>;
|
|
35415
36669
|
/** `GET /v1/assets/{id}` — one asset with a fresh 1 h signed `url` (`null` while not `ready`). */
|
|
35416
|
-
retrieve(id: string, opts?: CallOpts$
|
|
36670
|
+
retrieve(id: string, opts?: CallOpts$33): Promise<AssetDto>;
|
|
35417
36671
|
/**
|
|
35418
36672
|
* A fresh signed URL of the asset's bytes (valid 1 h), from `GET /v1/assets/{id}`. Throws when the asset has no
|
|
35419
36673
|
* content yet. Use it in `<audio>`/`<video>`/`fetch` — it needs no Authorization header.
|
|
35420
36674
|
*/
|
|
35421
|
-
contentUrl(id: string, opts?: CallOpts$
|
|
36675
|
+
contentUrl(id: string, opts?: CallOpts$33): Promise<string>;
|
|
35422
36676
|
/**
|
|
35423
36677
|
* The authenticated redirect endpoint `GET /v1/assets/{id}/content` (302 to the signed URL). Useful for tools that
|
|
35424
36678
|
* follow redirects with the API key (`curl -L -H 'Authorization: Bearer …'`); browsers should use `contentUrl()`.
|
|
35425
36679
|
*/
|
|
35426
36680
|
contentPath(id: string): string;
|
|
35427
36681
|
/** Download the asset's bytes (fetches the signed URL, no API key sent to storage). */
|
|
35428
|
-
content(id: string, opts?: CallOpts$
|
|
36682
|
+
content(id: string, opts?: CallOpts$33): Promise<Uint8Array>;
|
|
35429
36683
|
/** `DELETE /v1/assets/{id}` — deletes the object; signed URLs already handed out stop working. */
|
|
35430
|
-
delete(id: string, opts?: CallOpts$
|
|
36684
|
+
delete(id: string, opts?: CallOpts$33): Promise<AssetDeleted>;
|
|
35431
36685
|
}
|
|
35432
|
-
//#endregion
|
|
35433
|
-
//#region src/resources/images.d.ts
|
|
35434
36686
|
export type ImagesRequest = Mutable<Body<'createImage'>>;
|
|
35435
36687
|
export type ImagesResponse = Reply<'createImage'>;
|
|
35436
36688
|
export type ImageEditRequest = Mutable<Body<'editImage'>>;
|
|
@@ -35475,8 +36727,6 @@ export declare class Images {
|
|
|
35475
36727
|
}): Promise<ImagesResult>;
|
|
35476
36728
|
private post;
|
|
35477
36729
|
}
|
|
35478
|
-
//#endregion
|
|
35479
|
-
//#region src/resources/media.d.ts
|
|
35480
36730
|
export interface MusicRequest {
|
|
35481
36731
|
/** `codai-music` (default, Lyria 3 Clip), `codai-music-pro` (Lyria 3 Pro) or `codai-music-legacy` (Lyria 2). */
|
|
35482
36732
|
model?: 'codai-music' | 'codai-music-pro' | 'codai-music-legacy' | (string & {});
|
|
@@ -35557,6 +36807,12 @@ export interface VideoRequest {
|
|
|
35557
36807
|
b64_json: string;
|
|
35558
36808
|
mime_type?: 'image/png' | 'image/jpeg';
|
|
35559
36809
|
};
|
|
36810
|
+
/**
|
|
36811
|
+
* Up to 3 of your ready PNG / JPEG Studio image assets showing ONE subject (character or product) that the model
|
|
36812
|
+
* keeps consistent (e.g. a creative's cast `refAssetIds`). Not combinable with `image`; always 8 s. A missing or
|
|
36813
|
+
* foreign asset is 404, another type 400 — checked before anything is held or charged.
|
|
36814
|
+
*/
|
|
36815
|
+
reference_asset_ids?: string[];
|
|
35560
36816
|
seed?: number;
|
|
35561
36817
|
}
|
|
35562
36818
|
export interface VideoJob {
|
|
@@ -35914,8 +37170,6 @@ export declare class Renders {
|
|
|
35914
37170
|
ext?: CodaiRequestExtensions;
|
|
35915
37171
|
}): Promise<RenderResult>;
|
|
35916
37172
|
}
|
|
35917
|
-
//#endregion
|
|
35918
|
-
//#region src/resources/documents.d.ts
|
|
35919
37173
|
export type DocumentType = 'deck' | 'doc' | 'sheet';
|
|
35920
37174
|
export type DocumentTheme = Schema<'DocumentTheme'>;
|
|
35921
37175
|
export type DeckSpec = Mutable<Schema<'DeckSpec'>>;
|
|
@@ -35930,11 +37184,11 @@ export type DocumentPreview = Reply<'retrievePreview'>;
|
|
|
35930
37184
|
export type DocumentPreviewStatus = DocumentPreview['status'];
|
|
35931
37185
|
export type DocumentVideoRequest = Mutable<Body<'createDocumentVideo'>>;
|
|
35932
37186
|
export type DocumentVideoAccepted = Reply<'createDocumentVideo', 202>;
|
|
35933
|
-
type CallOpts$
|
|
37187
|
+
type CallOpts$32 = {
|
|
35934
37188
|
ext?: CodaiRequestExtensions;
|
|
35935
37189
|
signal?: AbortSignal;
|
|
35936
37190
|
};
|
|
35937
|
-
export interface DocumentPollOptions extends CallOpts$
|
|
37191
|
+
export interface DocumentPollOptions extends CallOpts$32 {
|
|
35938
37192
|
/** Delay between polls (default 3000 ms for previews, 5000 ms for videos). */
|
|
35939
37193
|
pollIntervalMs?: number;
|
|
35940
37194
|
/** Give up after this long (default 300 000 ms for previews, 900 000 ms for videos). */
|
|
@@ -35949,21 +37203,21 @@ export declare class Documents {
|
|
|
35949
37203
|
* `sheet` -> `SheetSpec`); invalid specs are 400 `invalid_spec`. Files are free. `based_on` creates the next version
|
|
35950
37204
|
* of one of your documents; `preview: true` also queues a (billed) preview, returned as `preview`.
|
|
35951
37205
|
*/
|
|
35952
|
-
create(body: DocumentCreateRequest, opts?: CallOpts$
|
|
37206
|
+
create(body: DocumentCreateRequest, opts?: CallOpts$32): Promise<StudioDocument>;
|
|
35953
37207
|
/** `GET /v1/studio/documents/{id}` — fresh 1 h signed `file.url`, the stored `spec` and `latest_preview_id`. */
|
|
35954
|
-
retrieve(id: string, opts?: CallOpts$
|
|
37208
|
+
retrieve(id: string, opts?: CallOpts$32): Promise<StudioDocument>;
|
|
35955
37209
|
/**
|
|
35956
37210
|
* Queue a preview (`POST /v1/studio/documents/{id}/previews`, HTTP 202): tagged PDF, page PNGs (1280 px) and a
|
|
35957
37211
|
* contact sheet. Billed once on the first poll that sees the result; at most 3 active previews per user (429).
|
|
35958
37212
|
*/
|
|
35959
|
-
preview(id: string, body?: DocumentPreviewRequest, opts?: CallOpts$
|
|
37213
|
+
preview(id: string, body?: DocumentPreviewRequest, opts?: CallOpts$32): Promise<DocumentPreviewAccepted>;
|
|
35960
37214
|
/** Poll a preview (`GET /v1/studio/previews/{id}`): `queued` | `rendering` | `succeeded` | `failed`. */
|
|
35961
|
-
retrievePreview(previewId: string, opts?: CallOpts$
|
|
37215
|
+
retrievePreview(previewId: string, opts?: CallOpts$32): Promise<DocumentPreview>;
|
|
35962
37216
|
/**
|
|
35963
37217
|
* Turn a deck into an MP4 (`POST /v1/studio/documents/{id}/video`, HTTP 202). Returns a render: poll it with
|
|
35964
37218
|
* `renders.retrieve(id)` or use `videoAndWait`. Narration (`narrate`) is synthesized and billed now.
|
|
35965
37219
|
*/
|
|
35966
|
-
video(id: string, body?: DocumentVideoRequest, opts?: CallOpts$
|
|
37220
|
+
video(id: string, body?: DocumentVideoRequest, opts?: CallOpts$32): Promise<DocumentVideoAccepted>;
|
|
35967
37221
|
/** Queue a preview and poll until it succeeds. Throws on `failed` or timeout. */
|
|
35968
37222
|
createPreviewAndWait(id: string, opts?: DocumentPollOptions & {
|
|
35969
37223
|
body?: DocumentPreviewRequest;
|
|
@@ -35973,8 +37227,6 @@ export declare class Documents {
|
|
|
35973
37227
|
accepted: DocumentVideoAccepted;
|
|
35974
37228
|
}>;
|
|
35975
37229
|
}
|
|
35976
|
-
//#endregion
|
|
35977
|
-
//#region src/resources/exports.d.ts
|
|
35978
37230
|
export type StudioExport = Schema<'StudioExport'>;
|
|
35979
37231
|
export type ExportFcpxmlQuery = QueryOf<'exportCreativeFcpxml'>;
|
|
35980
37232
|
/** `creatives.exportLottie` / `downloadLottie` options (`download` is chosen by the method). */
|
|
@@ -35985,11 +37237,11 @@ export interface LottieDownload {
|
|
|
35985
37237
|
filename: string | null;
|
|
35986
37238
|
contentType: string | null;
|
|
35987
37239
|
}
|
|
35988
|
-
type CallOpts$
|
|
37240
|
+
type CallOpts$31 = {
|
|
35989
37241
|
ext?: CodaiRequestExtensions;
|
|
35990
37242
|
signal?: AbortSignal;
|
|
35991
37243
|
};
|
|
35992
|
-
export interface ExportWaitOptions extends CallOpts$
|
|
37244
|
+
export interface ExportWaitOptions extends CallOpts$31 {
|
|
35993
37245
|
/** Delay between polls (default 3000 ms). */
|
|
35994
37246
|
intervalMs?: number;
|
|
35995
37247
|
/** Give up after this long (default 900 000 ms = 15 min). */
|
|
@@ -35999,7 +37251,7 @@ export declare class Exports {
|
|
|
35999
37251
|
private readonly http;
|
|
36000
37252
|
constructor(http: HttpClient);
|
|
36001
37253
|
/** The export: `queued` / `running`, then `succeeded` (signed `url`, valid 1 h) or `failed` (`error`). Free. */
|
|
36002
|
-
retrieve(id: string, opts?: CallOpts$
|
|
37254
|
+
retrieve(id: string, opts?: CallOpts$31): Promise<StudioExport>;
|
|
36003
37255
|
/**
|
|
36004
37256
|
* Poll `retrieve` every `intervalMs` (default 3 s) until the export is `succeeded` or `failed` and resolve with it
|
|
36005
37257
|
* (a `failed` export resolves too — check `status` / `error`). Throws when it is not done within `timeoutMs`
|
|
@@ -36007,8 +37259,6 @@ export declare class Exports {
|
|
|
36007
37259
|
*/
|
|
36008
37260
|
wait(id: string, opts?: ExportWaitOptions): Promise<StudioExport>;
|
|
36009
37261
|
}
|
|
36010
|
-
//#endregion
|
|
36011
|
-
//#region src/resources/creatives.d.ts
|
|
36012
37262
|
export type CreativeKind = Schema<'CreativeKind'>;
|
|
36013
37263
|
export type CreativeDoc = Mutable<Schema<'CreativeDoc'>>;
|
|
36014
37264
|
export type CreativeOp = Mutable<Schema<'CreativeOp'>>;
|
|
@@ -36062,6 +37312,22 @@ export type CreativeTemplate = Schema<'CreativeTemplate'>;
|
|
|
36062
37312
|
export type StudioCreativeFromDocument = Schema<'StudioCreativeFromDocument'>;
|
|
36063
37313
|
export type CreativeBuildRequest = Mutable<Schema<'CreativeBuildRequest'>>;
|
|
36064
37314
|
export type StudioCreativeBuild = Schema<'StudioCreativeBuild'>;
|
|
37315
|
+
/** Build request of a carousel (`format: 'png' | 'pdf'`) or print (`format: 'pdf'`) creative. */
|
|
37316
|
+
export type CreativePagedBuildRequest = Mutable<Schema<'CreativePagedBuildRequest'>>;
|
|
37317
|
+
/** HTTP 202 answer of `build` for a carousel / print creative: the queued export job is in `export`. */
|
|
37318
|
+
export type StudioCreativePagedBuild = Schema<'StudioCreativePagedBuild'>;
|
|
37319
|
+
export type CreativePrintLintIssue = Schema<'CreativePrintLintIssue'>;
|
|
37320
|
+
/** `build` answers a stored document version (200, deck / doc / sheet) or a queued export (202, carousel / print). */
|
|
37321
|
+
export type CreativeBuildResult = StudioCreativeBuild | StudioCreativePagedBuild;
|
|
37322
|
+
export type StudioPostCopyRequest = Mutable<Schema<'StudioPostCopyRequest'>>;
|
|
37323
|
+
export type StudioPostCopy = Schema<'StudioPostCopy'>;
|
|
37324
|
+
export type CreativeTranscriptCutRequest = Mutable<Schema<'CreativeTranscriptCutRequest'>>;
|
|
37325
|
+
export type CreativeTranscriptCutResult = Schema<'CreativeTranscriptCutResult'>;
|
|
37326
|
+
export type CreativeRegenerateNodeRequest = Mutable<Schema<'CreativeRegenerateNodeRequest'>>;
|
|
37327
|
+
export type CreativeRegenerateNodeResult = Schema<'CreativeRegenerateNodeResult'>;
|
|
37328
|
+
export type CreativeCast = Schema<'CreativeCast'>;
|
|
37329
|
+
/** True when a `build` answer is the 202 carousel / print export job (poll `exports.wait(r.export.id)`). */
|
|
37330
|
+
export declare const isPagedBuild: (r: CreativeBuildResult) => r is StudioCreativePagedBuild;
|
|
36065
37331
|
/** `{ brand_kit_id }` or `{ tokens }` (exactly one) + optional `base_seq`, `snap`, `fonts`, `force`. */
|
|
36066
37332
|
export type CreativeRestyleRequest = Mutable<Body<'restyleCreative'>>;
|
|
36067
37333
|
/** Same shape as the `edit` answer (`seq`, `doc_hash`, `changed`, `warnings`, `rebased`). */
|
|
@@ -36139,7 +37405,7 @@ export interface CreativeEditRequest {
|
|
|
36139
37405
|
/** Bypass locked nodes and variables. */
|
|
36140
37406
|
force?: boolean;
|
|
36141
37407
|
}
|
|
36142
|
-
type CallOpts$
|
|
37408
|
+
type CallOpts$30 = {
|
|
36143
37409
|
ext?: CodaiRequestExtensions;
|
|
36144
37410
|
signal?: AbortSignal;
|
|
36145
37411
|
};
|
|
@@ -36147,49 +37413,49 @@ export declare class Creatives {
|
|
|
36147
37413
|
private readonly http;
|
|
36148
37414
|
constructor(http: HttpClient);
|
|
36149
37415
|
/** List your creatives, most recently updated first (`next_before` pages). */
|
|
36150
|
-
list(query?: CreativeListQuery, opts?: CallOpts$
|
|
37416
|
+
list(query?: CreativeListQuery, opts?: CallOpts$30): Promise<CreativeList>;
|
|
36151
37417
|
/**
|
|
36152
37418
|
* Create a creative (`kind` + optional `title` / `doc`); without `doc` you get an empty document for the kind.
|
|
36153
37419
|
* `brand_kit_id` applies one of your brand kits (`brandKits`) to version 1: `brand = { kitId, tokens }` + its logo.
|
|
36154
37420
|
* `template` (+ `vars`, values by var key) starts from one of your templates (`templates`) instead of `doc`.
|
|
36155
37421
|
*/
|
|
36156
|
-
create(body: CreativeCreateRequest, opts?: CallOpts$
|
|
37422
|
+
create(body: CreativeCreateRequest, opts?: CallOpts$30): Promise<Creative>;
|
|
36157
37423
|
/** The document at the head (or `seq`) with signed `assets` (1 h URLs). */
|
|
36158
37424
|
retrieve(id: string, query?: {
|
|
36159
37425
|
seq?: number;
|
|
36160
|
-
}, opts?: CallOpts$
|
|
37426
|
+
}, opts?: CallOpts$30): Promise<CreativeDetail>;
|
|
36161
37427
|
/** Compact text outline (+ formats and vars) — the cheapest structure for a prompt. */
|
|
36162
|
-
outline(id: string, opts?: CallOpts$
|
|
37428
|
+
outline(id: string, opts?: CallOpts$30): Promise<CreativeOutline>;
|
|
36163
37429
|
/** Node ids matching `query` (a string = text/name/id substring, or `{ text, type, sceneId, assetId, locked }`). */
|
|
36164
|
-
find(id: string, query: CreativeFindRequest['query'], opts?: CallOpts$
|
|
37430
|
+
find(id: string, query: CreativeFindRequest['query'], opts?: CallOpts$30): Promise<CreativeFindResult>;
|
|
36165
37431
|
/** Full JSON of `ids` (scene ids return whole scenes) or of one `sceneId`. */
|
|
36166
|
-
subtree(id: string, body: CreativeSubtreeRequest, opts?: CallOpts$
|
|
37432
|
+
subtree(id: string, body: CreativeSubtreeRequest, opts?: CallOpts$30): Promise<CreativeSubtree>;
|
|
36167
37433
|
/**
|
|
36168
37434
|
* Apply an op batch (all or nothing) authored against `baseSeq`. A stale base is rebased when the touched
|
|
36169
37435
|
* targets did not change meanwhile; otherwise the call throws `CodaiError` 409 `stale` (reload and retry). Rejected
|
|
36170
37436
|
* ops throw 400 with `code` (`invalid`, `not_found`, `locked`, `duplicate_id`).
|
|
36171
37437
|
*/
|
|
36172
|
-
edit(id: string, body: CreativeEditRequest, opts?: CallOpts$
|
|
37438
|
+
edit(id: string, body: CreativeEditRequest, opts?: CallOpts$30): Promise<CreativeOpsResult>;
|
|
36173
37439
|
/** Version history, newest first (`beforeSeq` pages). */
|
|
36174
37440
|
versions(id: string, query?: {
|
|
36175
37441
|
beforeSeq?: number;
|
|
36176
37442
|
limit?: number;
|
|
36177
|
-
}, opts?: CallOpts$
|
|
37443
|
+
}, opts?: CallOpts$30): Promise<CreativeVersionList>;
|
|
36178
37444
|
/** New head whose document is version `seq`'s (undo / redo). */
|
|
36179
|
-
revert(id: string, seq: number, opts?: CallOpts$
|
|
37445
|
+
revert(id: string, seq: number, opts?: CallOpts$30): Promise<CreativeRevertResult>;
|
|
36180
37446
|
/** New creative from version `seq` (default the head). */
|
|
36181
|
-
fork(id: string, body?: CreativeForkRequest, opts?: CallOpts$
|
|
37447
|
+
fork(id: string, body?: CreativeForkRequest, opts?: CallOpts$30): Promise<Creative>;
|
|
36182
37448
|
/** Soft-delete the creative. */
|
|
36183
|
-
delete(id: string, opts?: CallOpts$
|
|
37449
|
+
delete(id: string, opts?: CallOpts$30): Promise<CreativeDeleted>;
|
|
36184
37450
|
/**
|
|
36185
37451
|
* Contrast, safe area, empty text, missing assets, brand colours, platform safe zones and text floors, alt text,
|
|
36186
37452
|
* missing captions, reading speed, flashing, missing / stale translations. Issues carry `format` / `fixable` /
|
|
36187
37453
|
* `locale`; `fixable` counts them (`lintFix`). `locale` lints the translated document (adds
|
|
36188
37454
|
* `text_overflow_locale`); 404 `Locale not found.` for an unknown locale.
|
|
36189
37455
|
*/
|
|
36190
|
-
lint(id: string, body?: CreativeLintRequest, opts?: CallOpts$
|
|
37456
|
+
lint(id: string, body?: CreativeLintRequest, opts?: CallOpts$30): Promise<CreativeLintResult>;
|
|
36191
37457
|
/** Preview HTML (signed asset URLs) for `format` / one `scene` / a translation (`locale`). */
|
|
36192
|
-
compiled(id: string, query?: CreativeCompiledQuery, opts?: CallOpts$
|
|
37458
|
+
compiled(id: string, query?: CreativeCompiledQuery, opts?: CallOpts$30): Promise<CreativeCompiled>;
|
|
36193
37459
|
/**
|
|
36194
37460
|
* Queue an MP4 render of the head (`codai-render`, HTTP 202, `cached: false`); poll `renders.retrieve(render_id)`.
|
|
36195
37461
|
* When the same render already exists for this version / format / quality / fps you get it back at once
|
|
@@ -36198,7 +37464,7 @@ export declare class Creatives {
|
|
|
36198
37464
|
* `ai_label` (`none` | `corner` | `end_card`, EU AI Act art. 50(4)) burns a visible AI label into the video; omitted =
|
|
36199
37465
|
* `corner` when the creative uses TTS narration or AI images, else `none` (`none` with narration: 400 `ai_label_required`).
|
|
36200
37466
|
*/
|
|
36201
|
-
render(id: string, body?: CreativeRenderRequest, opts?: CallOpts$
|
|
37467
|
+
render(id: string, body?: CreativeRenderRequest, opts?: CallOpts$30): Promise<CreativeRenderResult>;
|
|
36202
37468
|
/**
|
|
36203
37469
|
* Mixdown + mastering + exports of an `audio` creative (MU-05; same `POST …/render` route, HTTP 202). `formats`
|
|
36204
37470
|
* (default `['wav', 'mp3']`), `stems: true` adds one WAV per audible track (+50 %), `lrc` exports the timed lyrics
|
|
@@ -36207,7 +37473,7 @@ export declare class Creatives {
|
|
|
36207
37473
|
* (`output: mix | stem | lrc`). $0.001 per output second, minimum $0.01; held up front, billed on the measured length.
|
|
36208
37474
|
* 400 `empty_audio` / `too_long` (20 min) / `no_lyrics`; video creatives use `render`.
|
|
36209
37475
|
*/
|
|
36210
|
-
renderAudio(id: string, body?: CreativeAudioRenderRequest, opts?: CallOpts$
|
|
37476
|
+
renderAudio(id: string, body?: CreativeAudioRenderRequest, opts?: CallOpts$30 & {
|
|
36211
37477
|
idempotencyKey?: string;
|
|
36212
37478
|
}): Promise<CreativeAudioRenderAccepted>;
|
|
36213
37479
|
/**
|
|
@@ -36216,41 +37482,41 @@ export declare class Creatives {
|
|
|
36216
37482
|
* running job (`status: 'running'`) to poll with `frameJob(id, frame_job_id)`. Cached frames are free; 60 frame
|
|
36217
37483
|
* jobs per UTC day are free, then billed (`billed_micro_usd`).
|
|
36218
37484
|
*/
|
|
36219
|
-
frame(id: string, body: CreativeFrameRequest, opts?: CallOpts$
|
|
37485
|
+
frame(id: string, body: CreativeFrameRequest, opts?: CallOpts$30): Promise<CreativeFrameResult>;
|
|
36220
37486
|
/**
|
|
36221
37487
|
* Turn a comment pinned on a frame (`t_ms`, optional `node_id` / `scene_id`) into an edit: one bounded `codai`
|
|
36222
37488
|
* model turn proposes ops, applied like `edit` against `base_seq` (rebased when possible, 409 `stale` else).
|
|
36223
37489
|
* 422 `no_edit` when the model made no edit (its answer in `error.text`); `apply: false` only proposes the ops.
|
|
36224
37490
|
* Token-metered like any `codai` text call.
|
|
36225
37491
|
*/
|
|
36226
|
-
comment(id: string, body: CreativeCommentRequest, opts?: CallOpts$
|
|
37492
|
+
comment(id: string, body: CreativeCommentRequest, opts?: CallOpts$30): Promise<CreativeCommentResult>;
|
|
36227
37493
|
/**
|
|
36228
37494
|
* Generate A/B variants: one bounded `codai` model turn proposes `count` (default 3) variants changing only
|
|
36229
37495
|
* `focus` (default hook / title / cta); each becomes a fork of the creative at `base_seq` with the ops applied, plus
|
|
36230
37496
|
* a queued draft render (`render: false` to skip; poll `renders.retrieve(render_id)`). The original is unchanged
|
|
36231
37497
|
* until `pickVariant`. 422 `no_edit` when no valid variant came back, 504 `timeout` after 90 s. Token-metered.
|
|
36232
37498
|
*/
|
|
36233
|
-
variants(id: string, body: CreativeVariantsRequest, opts?: CallOpts$
|
|
37499
|
+
variants(id: string, body: CreativeVariantsRequest, opts?: CallOpts$30): Promise<CreativeVariantsResult>;
|
|
36234
37500
|
/** The latest variant group of a creative (`group_id: null` when none) with statuses and stored render state. */
|
|
36235
|
-
listVariants(id: string, opts?: CallOpts$
|
|
37501
|
+
listVariants(id: string, opts?: CallOpts$30): Promise<CreativeVariantList>;
|
|
36236
37502
|
/**
|
|
36237
37503
|
* Pick the winner: its ops are applied to the original against `base_seq` (rebased when possible, 409 `stale`
|
|
36238
37504
|
* else); the winner is marked `winner`, the rest of its group `rejected`.
|
|
36239
37505
|
*/
|
|
36240
|
-
pickVariant(id: string, variantId: string, body: CreativeVariantPickRequest, opts?: CallOpts$
|
|
37506
|
+
pickVariant(id: string, variantId: string, body: CreativeVariantPickRequest, opts?: CallOpts$30): Promise<CreativeVariantPickResult>;
|
|
36241
37507
|
/**
|
|
36242
37508
|
* Save the creative (at `seq`, default the head) as a private template: each `vars` entry turns a text node's text
|
|
36243
37509
|
* (`prop: 'text'`) or an image node's asset (`prop: 'image'`) into a variable whose default is the current value.
|
|
36244
37510
|
* 400 `node_not_found` / `invalid_pick` / `duplicate_key`. Free.
|
|
36245
37511
|
*/
|
|
36246
|
-
saveTemplate(id: string, body: SaveTemplateRequest, opts?: CallOpts$
|
|
37512
|
+
saveTemplate(id: string, body: SaveTemplateRequest, opts?: CallOpts$30): Promise<CreativeTemplate>;
|
|
36247
37513
|
/**
|
|
36248
37514
|
* Queue an FCPXML export of a video creative (`seq`, default the head; `format`, default the first 1920×1080 /
|
|
36249
37515
|
* 1080×1920 / 1080×1080 format): a zip with `project.fcpxml` + per-scene MP4 segments + audio, for Final Cut Pro,
|
|
36250
37516
|
* DaVinci Resolve or Premiere. Resolves to the queued export; poll it with `exports.wait(e.id)`. Only newly
|
|
36251
37517
|
* rendered seconds are billed (final render price). 400 `unsupported_kind` / `unsupported_format` / `too_long`.
|
|
36252
37518
|
*/
|
|
36253
|
-
exportFcpxml(id: string, query?: ExportFcpxmlQuery, opts?: CallOpts$
|
|
37519
|
+
exportFcpxml(id: string, query?: ExportFcpxmlQuery, opts?: CallOpts$30): Promise<StudioExport>;
|
|
36254
37520
|
/**
|
|
36255
37521
|
* Export a video creative as a Lottie animation (`seq`, default the head; `format`, default the document's default
|
|
36256
37522
|
* format, or `formats: 'all'`; `container: 'json'` (default, Bodymovin JSON with embedded images) or `'dotlottie'`).
|
|
@@ -36258,33 +37524,70 @@ export declare class Creatives {
|
|
|
36258
37524
|
* fidelity report in `warnings` (video, chart, HTML block, table, cell grid and audio nodes are not exported).
|
|
36259
37525
|
* 400 `unsupported_kind` / `invalid_request`, 413 `too_large` (over 20 MB).
|
|
36260
37526
|
*/
|
|
36261
|
-
exportLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$
|
|
37527
|
+
exportLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$30): Promise<StudioExport>;
|
|
36262
37528
|
/**
|
|
36263
37529
|
* The Lottie file itself (`download=1`, nothing stored): `application/json` for one Bodymovin JSON, `application/zip`
|
|
36264
37530
|
* for a dotLottie archive or a zip of JSON files (`formats: 'all'`). Same options and errors as `exportLottie`. Free.
|
|
36265
37531
|
*/
|
|
36266
|
-
downloadLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$
|
|
37532
|
+
downloadLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$30): Promise<LottieDownload>;
|
|
36267
37533
|
/**
|
|
36268
37534
|
* Turn one of your Studio documents (deck, doc, sheet) into an editable creative — slides become scenes with a
|
|
36269
37535
|
* `layout` and speaker `notes`, doc pages a `flow` group, sheets a `cell_grid`; nodes carry semantic `role`s.
|
|
36270
37536
|
* Idempotent: a document that already has a creative resolves to it (`existing: true`). Free. 404 unknown document,
|
|
36271
37537
|
* 409 `document_spec_missing`, 400 `invalid_spec`, 413 `too_large`.
|
|
36272
37538
|
*/
|
|
36273
|
-
fromDocument(documentId: string, opts?: CallOpts$
|
|
37539
|
+
fromDocument(documentId: string, opts?: CallOpts$30): Promise<StudioCreativeFromDocument>;
|
|
36274
37540
|
/**
|
|
36275
37541
|
* Build a deck / doc / sheet creative (at `seq`, default the head) into a PPTX / DOCX / XLSX — a new version of its
|
|
36276
37542
|
* Studio document (`document`, exactly the `POST /v1/studio/documents` body). Converter notes come back in
|
|
36277
37543
|
* `warnings`. The file is free; `preview: true` also queues a billed preview (poll it with
|
|
36278
37544
|
* `documents.waitForPreview`). 400 `not_supported_for_kind` (video / image) or `invalid_spec`.
|
|
37545
|
+
*
|
|
37546
|
+
* A carousel (`format: 'png'` zip of slides or `'pdf'`) or print (`'pdf'`, PDF/X-4 with bleed and optional
|
|
37547
|
+
* `crop_marks`) creative answers HTTP 202 with a queued export job in `export` (`format_id` picks the format,
|
|
37548
|
+
* `quote_micro_usd` is held). Tell the two apart with `isPagedBuild`, poll with `exports.wait(r.export.id)` or use
|
|
37549
|
+
* `buildAndWait`.
|
|
37550
|
+
*/
|
|
37551
|
+
build(id: string, body?: CreativeBuildRequest | CreativePagedBuildRequest, opts?: CallOpts$30): Promise<CreativeBuildResult>;
|
|
37552
|
+
/**
|
|
37553
|
+
* `build`, then — for a carousel / print creative — poll the export job until it has `succeeded` or `failed`
|
|
37554
|
+
* (`exports.wait`). Resolves to the 200 build for deck / doc / sheet, or to the finished `StudioExport`.
|
|
37555
|
+
*/
|
|
37556
|
+
buildAndWait(id: string, body?: CreativeBuildRequest | CreativePagedBuildRequest, opts?: ExportWaitOptions): Promise<StudioCreativeBuild | StudioExport>;
|
|
37557
|
+
/**
|
|
37558
|
+
* Social post copy for a carousel, image or video creative: a caption + hashtags per platform (`platforms`,
|
|
37559
|
+
* default Instagram + LinkedIn; `language` `ro` (default) | `en`; optional `brief`, `tone`, `seq`) and one alt text
|
|
37560
|
+
* per slide, every answer repaired to the platform's hard limits (changes listed in `fixes`). Nothing is written to
|
|
37561
|
+
* the creative. Token-metered (`cost_micro_usd`) under a small wallet hold (402 `insufficient_funds`); 400
|
|
37562
|
+
* `not_supported_for_kind`, 422 `no_post_copy`, 504 `timeout`. `idempotencyKey` replays a retry (24 h).
|
|
36279
37563
|
*/
|
|
36280
|
-
|
|
37564
|
+
postCopy(id: string, body?: StudioPostCopyRequest, opts?: CallOpts$30 & {
|
|
37565
|
+
idempotencyKey?: string;
|
|
37566
|
+
}): Promise<StudioPostCopy>;
|
|
37567
|
+
/**
|
|
37568
|
+
* Edit a video clip by its transcript: delete word ranges (`remove: [{ from_word, to_word }]`, indexes into the
|
|
37569
|
+
* clip asset's cached transcript from `captions`) from video node `node_id`; the pieces are placed back to back as
|
|
37570
|
+
* one new version (`base_seq` rebased like `edit`, locks honoured unless `force`). Free. 409 `captions_required`
|
|
37571
|
+
* (run `captions` on that clip first) or `stale`; video creatives only.
|
|
37572
|
+
*/
|
|
37573
|
+
transcriptCut(id: string, body: CreativeTranscriptCutRequest, opts?: CallOpts$30): Promise<CreativeTranscriptCutResult>;
|
|
37574
|
+
/**
|
|
37575
|
+
* Generate a new picture for an `image` node (`prompt`, optional `model`, `aspect_ratio` — default the closest
|
|
37576
|
+
* ratio of the node box — `base_seq`, `force`) and swap it in as one new version. A node with a `castId` sends that
|
|
37577
|
+
* cast entry's `refAssetIds` as references and appends its `description`, so the subject stays consistent. Billed
|
|
37578
|
+
* like `images.generate` (402 `insufficient_funds`); 400 `content_filtered` charges nothing. `idempotencyKey`
|
|
37579
|
+
* replays a retry (24 h).
|
|
37580
|
+
*/
|
|
37581
|
+
regenerateNode(id: string, nodeId: string, body: CreativeRegenerateNodeRequest, opts?: CallOpts$30 & {
|
|
37582
|
+
idempotencyKey?: string;
|
|
37583
|
+
}): Promise<CreativeRegenerateNodeResult>;
|
|
36281
37584
|
/**
|
|
36282
37585
|
* Re-apply a brand kit (`brand_kit_id`) or a flat token map (`tokens`) to the creative as one new version: literal
|
|
36283
37586
|
* colours equal to the old brand become token refs, `snap: true` maps every other colour to the nearest kit colour,
|
|
36284
37587
|
* `fonts` (default true) sets heading / body font refs by role, locked nodes are skipped unless `force`. The kit
|
|
36285
37588
|
* logo is registered too. `base_seq` defaults to the head (rebased like `edit`, 409 `stale` else). Free.
|
|
36286
37589
|
*/
|
|
36287
|
-
restyle(id: string, body: CreativeRestyleRequest, opts?: CallOpts$
|
|
37590
|
+
restyle(id: string, body: CreativeRestyleRequest, opts?: CallOpts$30): Promise<CreativeRestyleResult>;
|
|
36288
37591
|
/**
|
|
36289
37592
|
* Auto-captions: transcribe a voice clip (`clip_id`, default the first voice clip) word by word and add or update a
|
|
36290
37593
|
* captions node (`preset`, default `bold-pill`) as one new version. Words are cached on the asset (free next time
|
|
@@ -36292,86 +37595,84 @@ export declare class Creatives {
|
|
|
36292
37595
|
* transcription is billed at the speech-to-text rate (`cost_micro_usd`). Video creatives only (400
|
|
36293
37596
|
* `unsupported_kind`); 403 `residency_unavailable`, 503 `transcription_unavailable`.
|
|
36294
37597
|
*/
|
|
36295
|
-
captions(id: string, body?: CreativeCaptionsRequest, opts?: CallOpts$
|
|
37598
|
+
captions(id: string, body?: CreativeCaptionsRequest, opts?: CallOpts$30): Promise<CreativeCaptionsResult>;
|
|
36296
37599
|
/** The captions as SubRip text on the document timeline (`node_id`, `seq` optional); 404 without captions. Free. */
|
|
36297
|
-
captionsSrt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$
|
|
37600
|
+
captionsSrt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$30): Promise<string>;
|
|
36298
37601
|
/** The captions as WebVTT text on the document timeline (`node_id`, `seq` optional); 404 without captions. Free. */
|
|
36299
|
-
captionsVtt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$
|
|
37602
|
+
captionsVtt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$30): Promise<string>;
|
|
36300
37603
|
/**
|
|
36301
37604
|
* Adapt to platforms (`tiktok`, `reels`, `shorts`, `feed-square`, `feed-portrait`, `youtube`): one format per
|
|
36302
37605
|
* platform in one new version, text kept inside each platform's safe zone and above its legible size.
|
|
36303
37606
|
* `focal: 'vision'` (token-metered) finds the focal point of full-bleed images; it fails open. Free otherwise.
|
|
36304
37607
|
*/
|
|
36305
|
-
adapt(id: string, body: CreativeAdaptRequest, opts?: CallOpts$
|
|
37608
|
+
adapt(id: string, body: CreativeAdaptRequest, opts?: CallOpts$30): Promise<CreativeAdaptResult>;
|
|
36306
37609
|
/**
|
|
36307
37610
|
* Fix lint issues as one new version: deterministic fixes (free) for `off_brand_color`, `text_too_small`,
|
|
36308
37611
|
* `outside_platform_safe_zone` and `flashing` (`codes` limits them); `agent: true` (token-metered) gives the rest
|
|
36309
37612
|
* to one `codai` turn. Nothing to fix: the current `seq`, empty `fixed`, no new version.
|
|
36310
37613
|
*/
|
|
36311
|
-
lintFix(id: string, body?: CreativeLintFixRequest, opts?: CallOpts$
|
|
37614
|
+
lintFix(id: string, body?: CreativeLintFixRequest, opts?: CallOpts$30): Promise<CreativeLintFixResult>;
|
|
36312
37615
|
/**
|
|
36313
37616
|
* The tweak panel model: one control per variable (stored `meta.controls` entry or derived from the type). Change
|
|
36314
37617
|
* values with a `setVar` op and controls with a `setControl` op (`edit`). Free.
|
|
36315
37618
|
*/
|
|
36316
|
-
controls(id: string, opts?: CallOpts$
|
|
37619
|
+
controls(id: string, opts?: CallOpts$30): Promise<CreativeControls>;
|
|
36317
37620
|
/**
|
|
36318
37621
|
* Localisation state: source locale, glossary, unit count and per locale translated / missing / stale / voice.
|
|
36319
37622
|
* With `locale` (+ `units`, default 1) also the units of that locale (paged with `offset` / `limit` ≤ 500). Free.
|
|
36320
37623
|
*/
|
|
36321
|
-
locales(id: string, query?: CreativeLocalesQuery, opts?: CallOpts$
|
|
37624
|
+
locales(id: string, query?: CreativeLocalesQuery, opts?: CallOpts$30): Promise<CreativeLocaleStatus>;
|
|
36322
37625
|
/**
|
|
36323
37626
|
* Translate every text into up to 10 BCP-47 `locales` as per-locale overrides (one new version, author `agent`).
|
|
36324
37627
|
* Token-metered `codai` turns; `glossary` terms and the brand kit name stay verbatim, `tone` picks the address,
|
|
36325
37628
|
* `only_missing` (default true) skips fresh translations, `voice: true` (video, billed) narrates voice clips again.
|
|
36326
37629
|
* 400 `nothing_to_translate`; 503 `localize_unavailable` when every locale failed.
|
|
36327
37630
|
*/
|
|
36328
|
-
localize(id: string, body: CreativeLocalizeRequest, opts?: CallOpts$
|
|
37631
|
+
localize(id: string, body: CreativeLocalizeRequest, opts?: CallOpts$30): Promise<CreativeLocalizeResult>;
|
|
36329
37632
|
/**
|
|
36330
37633
|
* Save `locale` as a new standalone creative (translations applied, overrides dropped, `fork_of` recorded; default
|
|
36331
37634
|
* title `<title> (<locale>)`). 404 `Locale not found.`. Free (HTTP 201).
|
|
36332
37635
|
*/
|
|
36333
|
-
forkLocale(id: string, locale: string, body?: CreativeLocaleForkRequest, opts?: CallOpts$
|
|
37636
|
+
forkLocale(id: string, locale: string, body?: CreativeLocaleForkRequest, opts?: CallOpts$30): Promise<CreativeLocaleForkResult>;
|
|
36334
37637
|
/**
|
|
36335
37638
|
* Create a public link: `view` (read-only preview of version `seq` or the head; `allow_remix` default false) or
|
|
36336
37639
|
* `review` (comments by name, no account; `can_approve` lets the holder approve). The `token` and `url` are shown
|
|
36337
37640
|
* only in this answer (HTTP 201). 400 `unknown_seq`; 409 `too_many_shares` (20 active links). Free.
|
|
36338
37641
|
*/
|
|
36339
|
-
createShare(id: string, body: StudioShareCreateRequest, opts?: CallOpts$
|
|
37642
|
+
createShare(id: string, body: StudioShareCreateRequest, opts?: CallOpts$30): Promise<StudioShareCreated>;
|
|
36340
37643
|
/** The active links (not revoked, not expired), newest first; `url` is always null. Free. */
|
|
36341
|
-
listShares(id: string, opts?: CallOpts$
|
|
37644
|
+
listShares(id: string, opts?: CallOpts$30): Promise<StudioShareList>;
|
|
36342
37645
|
/** Revoke a link: it answers 404 from now on. 404 when unknown or already revoked. Free. */
|
|
36343
|
-
revokeShare(id: string, shareId: string, opts?: CallOpts$
|
|
37646
|
+
revokeShare(id: string, shareId: string, opts?: CallOpts$30): Promise<void>;
|
|
36344
37647
|
/**
|
|
36345
37648
|
* The review state: `status` (`draft` → `in_review` → `approved` | `changes_requested`), requested / approved
|
|
36346
37649
|
* version (`approved_is_head` false once the creative changed), decider and thread counts. Free.
|
|
36347
37650
|
*/
|
|
36348
|
-
review(id: string, opts?: CallOpts$
|
|
37651
|
+
review(id: string, opts?: CallOpts$30): Promise<StudioReview>;
|
|
36349
37652
|
/** Send the head to review (`in_review`, earlier decision cleared) so approver links can decide. Free. */
|
|
36350
|
-
requestReview(id: string, opts?: CallOpts$
|
|
37653
|
+
requestReview(id: string, opts?: CallOpts$30): Promise<StudioReview>;
|
|
36351
37654
|
/** Back to `draft` (decision cleared, comments kept). Free. */
|
|
36352
|
-
resetReview(id: string, opts?: CallOpts$
|
|
37655
|
+
resetReview(id: string, opts?: CallOpts$30): Promise<StudioReview>;
|
|
36353
37656
|
/** Comment threads, newest first (≤ 200), replies oldest first; `status` `open` | `resolved` | `all`. Free. */
|
|
36354
|
-
reviewThreads(id: string, query?: StudioReviewThreadsQuery, opts?: CallOpts$
|
|
37657
|
+
reviewThreads(id: string, query?: StudioReviewThreadsQuery, opts?: CallOpts$30): Promise<StudioReviewThreadList>;
|
|
36355
37658
|
/**
|
|
36356
37659
|
* Start a thread as the owner, optionally anchored to `node_id` / `scene_id` / `t_ms` (checked against the head:
|
|
36357
37660
|
* 400 `unknown_node` / `unknown_scene`; HTTP 201). 409 `too_many_comments`. Free.
|
|
36358
37661
|
*/
|
|
36359
|
-
createReviewThread(id: string, body: StudioReviewThreadCreateRequest, opts?: CallOpts$
|
|
37662
|
+
createReviewThread(id: string, body: StudioReviewThreadCreateRequest, opts?: CallOpts$30): Promise<StudioReviewThread>;
|
|
36360
37663
|
/** Reply in a thread as the owner (HTTP 201) — returns the whole thread. Free. */
|
|
36361
37664
|
replyReviewThread(id: string, threadId: string, body: {
|
|
36362
37665
|
body: string;
|
|
36363
|
-
}, opts?: CallOpts$
|
|
37666
|
+
}, opts?: CallOpts$30): Promise<StudioReviewThread>;
|
|
36364
37667
|
/** Resolve a thread. Free. */
|
|
36365
|
-
resolveReviewThread(id: string, threadId: string, opts?: CallOpts$
|
|
37668
|
+
resolveReviewThread(id: string, threadId: string, opts?: CallOpts$30): Promise<StudioReviewThread>;
|
|
36366
37669
|
/** Reopen a resolved thread. Free. */
|
|
36367
|
-
reopenReviewThread(id: string, threadId: string, opts?: CallOpts$
|
|
37670
|
+
reopenReviewThread(id: string, threadId: string, opts?: CallOpts$30): Promise<StudioReviewThread>;
|
|
36368
37671
|
/** Delete any comment (owner moderation; deleting a root hides the thread). 404 when unknown. Free. */
|
|
36369
|
-
deleteReviewComment(id: string, commentId: string, opts?: CallOpts$
|
|
37672
|
+
deleteReviewComment(id: string, commentId: string, opts?: CallOpts$30): Promise<void>;
|
|
36370
37673
|
/** Poll a frame job: frames when done (`status: 'succeeded'`), `status: 'running'` meanwhile; 404 unknown job. */
|
|
36371
|
-
frameJob(id: string, jobId: string, opts?: CallOpts$
|
|
37674
|
+
frameJob(id: string, jobId: string, opts?: CallOpts$30): Promise<CreativeFrameResult>;
|
|
36372
37675
|
}
|
|
36373
|
-
//#endregion
|
|
36374
|
-
//#region src/resources/brand-kits.d.ts
|
|
36375
37676
|
export type BrandKit = Schema<'BrandKit'>;
|
|
36376
37677
|
export type BrandKitTokens = Schema<'BrandKitTokens'>;
|
|
36377
37678
|
export type BrandKitDtcg = Mutable<Schema<'BrandKitDtcg'>>;
|
|
@@ -36384,7 +37685,7 @@ export type BrandKitCreateRequest = Mutable<Body<'createBrandKit'>>;
|
|
|
36384
37685
|
export type BrandKitUpdateRequest = Mutable<Body<'updateBrandKit'>>;
|
|
36385
37686
|
export type BrandKitList = Reply<'listBrandKits'>;
|
|
36386
37687
|
export type BrandKitDeleted = Reply<'deleteBrandKit'>;
|
|
36387
|
-
type CallOpts$
|
|
37688
|
+
type CallOpts$29 = {
|
|
36388
37689
|
ext?: CodaiRequestExtensions;
|
|
36389
37690
|
signal?: AbortSignal;
|
|
36390
37691
|
};
|
|
@@ -36396,37 +37697,35 @@ export declare class BrandKits {
|
|
|
36396
37697
|
* (import) — exactly one. 400 `invalid_tokens` (with `details.issues`) for an invalid DTCG document, 404 when
|
|
36397
37698
|
* `logo_asset_id` is not one of your ready image assets. Free.
|
|
36398
37699
|
*/
|
|
36399
|
-
create(body: BrandKitCreateRequest, opts?: CallOpts$
|
|
37700
|
+
create(body: BrandKitCreateRequest, opts?: CallOpts$29): Promise<BrandKit>;
|
|
36400
37701
|
/**
|
|
36401
37702
|
* Edit a kit: `tokens` is merged onto the current kit, `dtcg` replaces the whole document (not both),
|
|
36402
37703
|
* `logo_asset_id: null` removes the logo. Creatives keep their tokens until `creatives.restyle`. Free.
|
|
36403
37704
|
*/
|
|
36404
|
-
update(id: string, body: BrandKitUpdateRequest, opts?: CallOpts$
|
|
37705
|
+
update(id: string, body: BrandKitUpdateRequest, opts?: CallOpts$29): Promise<BrandKit>;
|
|
36405
37706
|
/** The kit as a DTCG 2025.10 JSON document (`$extensions['ro.codai']` = kit id, name, logo asset id). Free. */
|
|
36406
|
-
exportDtcg(id: string, opts?: CallOpts$
|
|
37707
|
+
exportDtcg(id: string, opts?: CallOpts$29): Promise<BrandKitDtcg>;
|
|
36407
37708
|
/**
|
|
36408
37709
|
* Extract a brand kit from a public `https` page (`{ url }`) or from one of your logo images
|
|
36409
37710
|
* (`{ logo_asset_id }`, PNG / JPEG / WebP up to 5 MB; it becomes the kit logo): palette (primary, secondary, accent,
|
|
36410
37711
|
* background, text) and heading / body fonts. One bounded `codai` model call (token-metered); 400 `url_blocked` for
|
|
36411
37712
|
* private hosts, 400 `unsupported_media` for a bad logo, 422 `fetch_failed` / `extract_failed`, 504 `timeout`.
|
|
36412
37713
|
*/
|
|
36413
|
-
extract(body: BrandKitExtractRequest, opts?: CallOpts$
|
|
37714
|
+
extract(body: BrandKitExtractRequest, opts?: CallOpts$29): Promise<BrandKit>;
|
|
36414
37715
|
/** Your brand kits, newest first (`limit` 1–100, default 50). Free. */
|
|
36415
37716
|
list(query?: {
|
|
36416
37717
|
limit?: number;
|
|
36417
|
-
}, opts?: CallOpts$
|
|
37718
|
+
}, opts?: CallOpts$29): Promise<BrandKitList>;
|
|
36418
37719
|
/** One kit with a signed logo URL (1 h), its `dtcg` and the WCAG `contrast` pairs. Free. */
|
|
36419
|
-
retrieve(id: string, opts?: CallOpts$
|
|
37720
|
+
retrieve(id: string, opts?: CallOpts$29): Promise<BrandKit>;
|
|
36420
37721
|
/** Delete a kit (creatives keep their tokens; the logo asset stays). Free. */
|
|
36421
|
-
delete(id: string, opts?: CallOpts$
|
|
37722
|
+
delete(id: string, opts?: CallOpts$29): Promise<BrandKitDeleted>;
|
|
36422
37723
|
}
|
|
36423
|
-
//#endregion
|
|
36424
|
-
//#region src/resources/templates.d.ts
|
|
36425
37724
|
export type CreativeTemplateVar = Schema<'CreativeTemplateVar'>;
|
|
36426
37725
|
export type CreativeTemplateList = Reply<'listCreativeTemplates'>;
|
|
36427
37726
|
export type CreativeTemplateListQuery = QueryOf<'listCreativeTemplates'>;
|
|
36428
37727
|
export type CreativeTemplateDeleted = Reply<'deleteCreativeTemplate'>;
|
|
36429
|
-
type CallOpts$
|
|
37728
|
+
type CallOpts$28 = {
|
|
36430
37729
|
ext?: CodaiRequestExtensions;
|
|
36431
37730
|
signal?: AbortSignal;
|
|
36432
37731
|
};
|
|
@@ -36439,25 +37738,23 @@ export declare class Templates {
|
|
|
36439
37738
|
* (default). `kind` filters both. Without `doc`. Free. A starter id works anywhere a template id does
|
|
36440
37739
|
* (`retrieve`, `creatives.create({ template })`, batches); starters cannot be deleted.
|
|
36441
37740
|
*/
|
|
36442
|
-
list(query?: CreativeTemplateListQuery, opts?: CallOpts$
|
|
37741
|
+
list(query?: CreativeTemplateListQuery, opts?: CallOpts$28): Promise<CreativeTemplateList>;
|
|
36443
37742
|
/** One template with its variables and `doc`. Free. */
|
|
36444
|
-
retrieve(id: string, opts?: CallOpts$
|
|
37743
|
+
retrieve(id: string, opts?: CallOpts$28): Promise<Schema<'CreativeTemplate'>>;
|
|
36445
37744
|
/** Delete a template (creatives made from it are not affected). Free. */
|
|
36446
|
-
delete(id: string, opts?: CallOpts$
|
|
37745
|
+
delete(id: string, opts?: CallOpts$28): Promise<CreativeTemplateDeleted>;
|
|
36447
37746
|
}
|
|
36448
|
-
//#endregion
|
|
36449
|
-
//#region src/resources/productions.d.ts
|
|
36450
37747
|
export type StudioProductionCreate = Mutable<Body<'createStudioProduction'>>;
|
|
36451
37748
|
export type StudioProduction = Schema<'StudioProduction'>;
|
|
36452
|
-
type CallOpts$
|
|
37749
|
+
type CallOpts$27 = {
|
|
36453
37750
|
ext?: CodaiRequestExtensions;
|
|
36454
37751
|
signal?: AbortSignal;
|
|
36455
37752
|
};
|
|
36456
|
-
export interface ProductionCreateOptions extends CallOpts$
|
|
37753
|
+
export interface ProductionCreateOptions extends CallOpts$27 {
|
|
36457
37754
|
/** `Idempotency-Key`: a retry with the same key replays the first production instead of starting another one. */
|
|
36458
37755
|
idempotencyKey?: string;
|
|
36459
37756
|
}
|
|
36460
|
-
export interface ProductionWaitOptions extends CallOpts$
|
|
37757
|
+
export interface ProductionWaitOptions extends CallOpts$27 {
|
|
36461
37758
|
/** Delay between polls (default 5000 ms). */
|
|
36462
37759
|
intervalMs?: number;
|
|
36463
37760
|
/** Give up after this long (default 600 000 ms = 10 min). */
|
|
@@ -36470,7 +37767,7 @@ export declare class Productions {
|
|
|
36470
37767
|
/** `POST /v1/studio/productions` — brief → storyboard → assets → creative → queued draft render (202). */
|
|
36471
37768
|
create(body: StudioProductionCreate, opts?: ProductionCreateOptions): Promise<StudioProduction>;
|
|
36472
37769
|
/** `GET /v1/studio/productions/{id}` — advances the production and returns it (another account's id is a 404). */
|
|
36473
|
-
retrieve(id: string, opts?: CallOpts$
|
|
37770
|
+
retrieve(id: string, opts?: CallOpts$27): Promise<StudioProduction>;
|
|
36474
37771
|
/**
|
|
36475
37772
|
* Poll `retrieve` every `intervalMs` (default 5 s) until the production `succeeded` or `failed` (a failed one
|
|
36476
37773
|
* resolves too — check `status` / `error`). Throws after `timeoutMs` (default 10 min) or when `signal` aborts.
|
|
@@ -36479,8 +37776,66 @@ export declare class Productions {
|
|
|
36479
37776
|
/** `create` + `wait`. */
|
|
36480
37777
|
run(body: StudioProductionCreate, opts?: ProductionCreateOptions & ProductionWaitOptions): Promise<StudioProduction>;
|
|
36481
37778
|
}
|
|
36482
|
-
|
|
36483
|
-
|
|
37779
|
+
export type MusicRoomCreate = Mutable<Body<'createStudioMusicRoom'>>;
|
|
37780
|
+
export type MusicRoomChoose = Mutable<Schema<'MusicRoomChoose'>>;
|
|
37781
|
+
export type MusicRoomDirect = Mutable<Body<'directStudioMusicRoom'>>;
|
|
37782
|
+
export type MusicRoomDto = Schema<'MusicRoom'>;
|
|
37783
|
+
export type MusicRoomList = Schema<'MusicRoomList'>;
|
|
37784
|
+
export type MusicRoomQuota = Schema<'MusicRoomQuota'>;
|
|
37785
|
+
export type MusicRole = Schema<'MusicRole'>;
|
|
37786
|
+
export type MusicRoomPlanVariant = Schema<'MusicRoomPlanVariant'>;
|
|
37787
|
+
export type MusicRoomListQuery = QueryOf<'listStudioMusicRooms'>;
|
|
37788
|
+
type CallOpts$26 = {
|
|
37789
|
+
ext?: CodaiRequestExtensions;
|
|
37790
|
+
signal?: AbortSignal;
|
|
37791
|
+
};
|
|
37792
|
+
export interface MusicRoomWriteOptions extends CallOpts$26 {
|
|
37793
|
+
/** `Idempotency-Key`: a retry with the same key replays the first answer instead of starting the work again. */
|
|
37794
|
+
idempotencyKey?: string;
|
|
37795
|
+
}
|
|
37796
|
+
export interface MusicRoomWaitOptions extends CallOpts$26 {
|
|
37797
|
+
/** Also return when the song waits at a gate (`status: 'waiting'`). Default false. */
|
|
37798
|
+
untilGate?: boolean;
|
|
37799
|
+
/** Delay between polls (default 10 000 ms). */
|
|
37800
|
+
intervalMs?: number;
|
|
37801
|
+
/** Give up after this long (default 1 800 000 ms = 30 min). */
|
|
37802
|
+
timeoutMs?: number;
|
|
37803
|
+
}
|
|
37804
|
+
/** The song reached a terminal state (`succeeded` or `failed`). */
|
|
37805
|
+
export declare const isMusicRoomFinished: (r: Pick<MusicRoomDto, "status">) => boolean;
|
|
37806
|
+
export declare class MusicRoom {
|
|
37807
|
+
private readonly http;
|
|
37808
|
+
constructor(http: HttpClient);
|
|
37809
|
+
/** `POST /v1/studio/music-room` — start a song (202; the producer plans it, then it waits at the plan gate). */
|
|
37810
|
+
create(body: MusicRoomCreate, opts?: MusicRoomWriteOptions): Promise<MusicRoomDto>;
|
|
37811
|
+
/** `GET /v1/studio/music-room/{id}` — advances the workflow and returns the song (another account's id is a 404). */
|
|
37812
|
+
get(id: string, opts?: CallOpts$26): Promise<MusicRoomDto>;
|
|
37813
|
+
/** `GET /v1/studio/music-room` — your songs, newest first; page with `before` while `has_more`. */
|
|
37814
|
+
list(query?: MusicRoomListQuery, opts?: CallOpts$26): Promise<MusicRoomList>;
|
|
37815
|
+
/**
|
|
37816
|
+
* `POST /v1/studio/music-room/{id}/choose` — answer the open gate: `{ gate: 'plan', variant }`,
|
|
37817
|
+
* `{ gate: 'demo', approve: true }` or `{ gate: 'final', approve: true }` (409 `not_at_gate` otherwise).
|
|
37818
|
+
*/
|
|
37819
|
+
choose(id: string, answer: MusicRoomChoose, opts?: CallOpts$26): Promise<MusicRoomDto>;
|
|
37820
|
+
/**
|
|
37821
|
+
* `POST /v1/studio/music-room/{id}/direct` — one player re-plays its part following `direction` and the demo is
|
|
37822
|
+
* re-rendered (202; only at the demo or final gate).
|
|
37823
|
+
*/
|
|
37824
|
+
direct(id: string, body: MusicRoomDirect, opts?: MusicRoomWriteOptions): Promise<MusicRoomDto>;
|
|
37825
|
+
/** `GET /v1/studio/music-room/quota` — `{ plan, included, used, remaining, period_end }` for this calendar month. */
|
|
37826
|
+
quota(opts?: CallOpts$26): Promise<MusicRoomQuota>;
|
|
37827
|
+
/**
|
|
37828
|
+
* Poll `get` every `intervalMs` (default 10 s) until the song `succeeded` or `failed` (a failed one resolves too —
|
|
37829
|
+
* check `status` / `error`), or with `untilGate: true` until it waits at a gate. Throws after `timeoutMs`
|
|
37830
|
+
* (default 30 min) or when `signal` aborts.
|
|
37831
|
+
*/
|
|
37832
|
+
wait(id: string, opts?: MusicRoomWaitOptions): Promise<MusicRoomDto>;
|
|
37833
|
+
}
|
|
37834
|
+
/** codai Studio namespace (`client.studio.musicRoom`). */
|
|
37835
|
+
export interface Studio {
|
|
37836
|
+
/** Music Room: a team of role agents makes a song with three approval gates. */
|
|
37837
|
+
readonly musicRoom: MusicRoom;
|
|
37838
|
+
}
|
|
36484
37839
|
export type MediaOpId = Schema<'MediaOpId'>;
|
|
36485
37840
|
export type MediaOp = Schema<'MediaOp'>;
|
|
36486
37841
|
export type MediaOpList = Reply<'listStudioMediaOps'>;
|
|
@@ -36488,7 +37843,7 @@ export type MediaOpRequest = Mutable<Schema<'MediaOpRequest'>>;
|
|
|
36488
37843
|
export type MediaOpQuote = Schema<'MediaOpQuote'>;
|
|
36489
37844
|
export type MediaOpResult = Schema<'MediaOpResult'>;
|
|
36490
37845
|
export type MediaOpJob = Schema<'MediaOpJob'>;
|
|
36491
|
-
type CallOpts$
|
|
37846
|
+
type CallOpts$25 = {
|
|
36492
37847
|
ext?: CodaiRequestExtensions;
|
|
36493
37848
|
signal?: AbortSignal;
|
|
36494
37849
|
};
|
|
@@ -36497,12 +37852,18 @@ export interface MediaOpInput {
|
|
|
36497
37852
|
assetIds?: string[];
|
|
36498
37853
|
/** Per-op parameters (validated strictly by the gateway; see the docs table). */
|
|
36499
37854
|
params?: Record<string, unknown>;
|
|
37855
|
+
/**
|
|
37856
|
+
* `image.inpaint` / `image.erase` only: a mask painted in an editor, base64 PNG (white = edit, black = keep, at most
|
|
37857
|
+
* 8 MB). Send ONE asset id (the image); the gateway stores the mask as a free private asset and passes it as the
|
|
37858
|
+
* second input. A quote validates it without storing anything.
|
|
37859
|
+
*/
|
|
37860
|
+
maskPngB64?: string;
|
|
36500
37861
|
}
|
|
36501
|
-
export interface MediaOpRunOptions extends CallOpts$
|
|
37862
|
+
export interface MediaOpRunOptions extends CallOpts$25 {
|
|
36502
37863
|
/** `Idempotency-Key`: a retry with the same key replays the first answer instead of running (and billing) again. */
|
|
36503
37864
|
idempotencyKey?: string;
|
|
36504
37865
|
}
|
|
36505
|
-
export interface MediaOpWaitOptions extends CallOpts$
|
|
37866
|
+
export interface MediaOpWaitOptions extends CallOpts$25 {
|
|
36506
37867
|
/** Delay between polls (default 3000 ms). */
|
|
36507
37868
|
intervalMs?: number;
|
|
36508
37869
|
/** Give up after this long (default 1 200 000 ms = 20 min, the server-side job timeout). */
|
|
@@ -36515,16 +37876,16 @@ export declare class MediaOps {
|
|
|
36515
37876
|
private readonly http;
|
|
36516
37877
|
constructor(http: HttpClient);
|
|
36517
37878
|
/** `GET /v1/studio/media-ops` — every op with engine, mode, inputs, `available` and a list quote (free). */
|
|
36518
|
-
list(opts?: CallOpts$
|
|
37879
|
+
list(opts?: CallOpts$25): Promise<MediaOpList>;
|
|
36519
37880
|
/** `POST /v1/studio/media-ops/{op}/quote` — exact price of this request; nothing is held or billed. */
|
|
36520
|
-
quote(op: MediaOpId | string, input?: MediaOpInput, opts?: CallOpts$
|
|
37881
|
+
quote(op: MediaOpId | string, input?: MediaOpInput, opts?: CallOpts$25): Promise<MediaOpQuote>;
|
|
36521
37882
|
/**
|
|
36522
37883
|
* `POST /v1/studio/media-ops/{op}` — sync ops resolve to a `media_op.result` with the outputs, async ops to a
|
|
36523
37884
|
* `media_op.job` (`status: pending`; poll with `job` / `wait`). Use `isMediaOpJob` to tell them apart.
|
|
36524
37885
|
*/
|
|
36525
37886
|
run(op: MediaOpId | string, input?: MediaOpInput, opts?: MediaOpRunOptions): Promise<MediaOpResult | MediaOpJob>;
|
|
36526
37887
|
/** `GET /v1/studio/media-ops/jobs/{id}` — the job; reading a finished one stores its outputs and bills it once. */
|
|
36527
|
-
job(id: string, opts?: CallOpts$
|
|
37888
|
+
job(id: string, opts?: CallOpts$25): Promise<MediaOpJob>;
|
|
36528
37889
|
/**
|
|
36529
37890
|
* Poll `job` every `intervalMs` (default 3 s) until it is `ready` or `failed` (a failed job resolves too — check
|
|
36530
37891
|
* `status` / `error`). Throws after `timeoutMs` (default 20 min) or when `signal` aborts.
|
|
@@ -36533,8 +37894,6 @@ export declare class MediaOps {
|
|
|
36533
37894
|
/** `run`, then `wait` when the op is async. */
|
|
36534
37895
|
runAndWait(op: MediaOpId | string, input?: MediaOpInput, opts?: MediaOpRunOptions & MediaOpWaitOptions): Promise<MediaOpResult | MediaOpJob>;
|
|
36535
37896
|
}
|
|
36536
|
-
//#endregion
|
|
36537
|
-
//#region src/resources/lyrics.d.ts
|
|
36538
37897
|
export type LyricsRequest = Mutable<Schema<'StudioLyricsRequest'>>;
|
|
36539
37898
|
export type LyricsSectionKind = Schema<'StudioLyricsSectionKind'>;
|
|
36540
37899
|
export type LyricsLine = Schema<'StudioLyricsLine'>;
|
|
@@ -36564,8 +37923,6 @@ export declare class LyricsResource {
|
|
|
36564
37923
|
*/
|
|
36565
37924
|
align(body: LyricsAlignRequest, opts?: LyricsCallOptions): Promise<LyricsAlignment>;
|
|
36566
37925
|
}
|
|
36567
|
-
//#endregion
|
|
36568
|
-
//#region src/resources/realtime.d.ts
|
|
36569
37926
|
/**
|
|
36570
37927
|
* `wss://…/v1/realtime` — dependency-free realtime client (live transcription and the OpenAI
|
|
36571
37928
|
* Realtime protocol lanes). Not an OpenAPI operation (OpenAPI cannot describe WebSockets), so it is
|
|
@@ -36704,8 +38061,6 @@ export declare class Realtime {
|
|
|
36704
38061
|
/** Open a realtime session. Returns immediately; `await session.ready` to wait for the socket. */
|
|
36705
38062
|
connect(opts?: RealtimeConnectOptions): RealtimeSession;
|
|
36706
38063
|
}
|
|
36707
|
-
//#endregion
|
|
36708
|
-
//#region src/resources/jam.d.ts
|
|
36709
38064
|
export declare const JAM_SUBPROTOCOL = "codai-jam";
|
|
36710
38065
|
/** WebSocket close codes of `/v1/studio/jam`. */
|
|
36711
38066
|
export declare const JAM_CLOSE_CODES: {
|
|
@@ -36817,8 +38172,6 @@ export declare class Jam {
|
|
|
36817
38172
|
/** Open a live jam. Returns immediately; `await session.ready` to wait for the socket. */
|
|
36818
38173
|
connect(opts?: JamConnectOptions): JamSession;
|
|
36819
38174
|
}
|
|
36820
|
-
//#endregion
|
|
36821
|
-
//#region src/resources/batches.d.ts
|
|
36822
38175
|
export type StudioBatchStatus = Schema<'StudioBatchStatus'>;
|
|
36823
38176
|
export type StudioBatchRowStatus = Schema<'StudioBatchRowStatus'>;
|
|
36824
38177
|
export type StudioBatch = Schema<'StudioBatch'>;
|
|
@@ -36835,11 +38188,11 @@ export type StudioBatchDryRun = Schema<'StudioBatchDryRun'>;
|
|
|
36835
38188
|
export type StudioBatchCreateRequest = Mutable<Schema<'StudioBatchCreateRequest'>>;
|
|
36836
38189
|
export type StudioBatchListQuery = QueryOf<'listStudioBatches'>;
|
|
36837
38190
|
export type StudioBatchGetQuery = QueryOf<'getStudioBatch'>;
|
|
36838
|
-
type CallOpts$
|
|
38191
|
+
type CallOpts$24 = {
|
|
36839
38192
|
ext?: CodaiRequestExtensions;
|
|
36840
38193
|
signal?: AbortSignal;
|
|
36841
38194
|
};
|
|
36842
|
-
export interface BatchWaitOptions extends CallOpts$
|
|
38195
|
+
export interface BatchWaitOptions extends CallOpts$24 {
|
|
36843
38196
|
/** Delay between polls (default 3000 ms). */
|
|
36844
38197
|
intervalMs?: number;
|
|
36845
38198
|
/** Give up after this long (default 600 000 ms = 10 min). */
|
|
@@ -36852,32 +38205,30 @@ export declare class Batches {
|
|
|
36852
38205
|
* Create a batch: rows are validated (invalid rows are stored as `failed`) and run in the background; poll `get`
|
|
36853
38206
|
* or `wait`. 400 `invalid_rows` when every row is invalid. Free (translations and renders are billed as usual).
|
|
36854
38207
|
*/
|
|
36855
|
-
create(body: StudioBatchCreateRequest, opts?: CallOpts$
|
|
38208
|
+
create(body: StudioBatchCreateRequest, opts?: CallOpts$24): Promise<StudioBatchDetail>;
|
|
36856
38209
|
/** Validate only (`dry_run: true`): the mapping, row errors, a 3-row preview and an estimate; nothing stored. Free. */
|
|
36857
|
-
dryRun(body: StudioBatchCreateRequest, opts?: CallOpts$
|
|
38210
|
+
dryRun(body: StudioBatchCreateRequest, opts?: CallOpts$24): Promise<StudioBatchDryRun>;
|
|
36858
38211
|
/** Your batches, newest first (`limit` 1–50, `before` = the previous `next_before`). Free. */
|
|
36859
|
-
list(query?: StudioBatchListQuery, opts?: CallOpts$
|
|
38212
|
+
list(query?: StudioBatchListQuery, opts?: CallOpts$24): Promise<StudioBatchList>;
|
|
36860
38213
|
/** The batch (`rows: 1` adds rows; `status`, `offset`, `limit` ≤ 100). Each poll advances it a little. Free. */
|
|
36861
|
-
get(id: string, query?: StudioBatchGetQuery, opts?: CallOpts$
|
|
38214
|
+
get(id: string, query?: StudioBatchGetQuery, opts?: CallOpts$24): Promise<StudioBatchDetail>;
|
|
36862
38215
|
/** Stop the batch; rows not started become `skipped`. 409 `not_cancellable` when already finished. Free. */
|
|
36863
|
-
cancel(id: string, opts?: CallOpts$
|
|
38216
|
+
cancel(id: string, opts?: CallOpts$24): Promise<StudioBatch>;
|
|
36864
38217
|
/** Queue the failed rows again (≤ 3 attempts each). 409 `nothing_to_retry`. Free. */
|
|
36865
|
-
retry(id: string, opts?: CallOpts$
|
|
38218
|
+
retry(id: string, opts?: CallOpts$24): Promise<StudioBatch>;
|
|
36866
38219
|
/** The original CSV plus `creative_id`, `status`, `error`, `render_url` per row (formula-safe). Free. */
|
|
36867
|
-
exportCsv(id: string, opts?: CallOpts$
|
|
38220
|
+
exportCsv(id: string, opts?: CallOpts$24): Promise<string>;
|
|
36868
38221
|
/**
|
|
36869
38222
|
* Start building a ZIP of the finished renders (202, `zip.status: 'building'`; unchanged when already building or
|
|
36870
38223
|
* ready). Poll `get` until `zip.status` is `ready` (signed `zip.url`). 409 `no_renders`. Free.
|
|
36871
38224
|
*/
|
|
36872
|
-
zip(id: string, opts?: CallOpts$
|
|
38225
|
+
zip(id: string, opts?: CallOpts$24): Promise<StudioBatch>;
|
|
36873
38226
|
/**
|
|
36874
38227
|
* Poll `get` every `intervalMs` (default 3 s) until the batch is `completed`, `failed` or `cancelled` and resolve
|
|
36875
38228
|
* with it. Throws when it is not done within `timeoutMs` (default 10 min) or when `signal` aborts.
|
|
36876
38229
|
*/
|
|
36877
38230
|
wait(id: string, opts?: BatchWaitOptions): Promise<StudioBatch>;
|
|
36878
38231
|
}
|
|
36879
|
-
//#endregion
|
|
36880
|
-
//#region src/resources/shares.d.ts
|
|
36881
38232
|
export type StudioShareKind = Schema<'StudioShareKind'>;
|
|
36882
38233
|
export type StudioPublicShare = Schema<'StudioPublicShare'>;
|
|
36883
38234
|
export type StudioPublicReview = Schema<'StudioPublicReview'>;
|
|
@@ -36897,7 +38248,7 @@ export type StudioPublicShareQuery = {
|
|
|
36897
38248
|
format?: string;
|
|
36898
38249
|
locale?: string;
|
|
36899
38250
|
};
|
|
36900
|
-
type CallOpts$
|
|
38251
|
+
type CallOpts$23 = {
|
|
36901
38252
|
ext?: CodaiRequestExtensions;
|
|
36902
38253
|
signal?: AbortSignal;
|
|
36903
38254
|
};
|
|
@@ -36914,28 +38265,26 @@ export declare class Shares {
|
|
|
36914
38265
|
* `locale` (null for images); review links add the review state and every thread. 404 for unknown, revoked or
|
|
36915
38266
|
* expired links. No key needed.
|
|
36916
38267
|
*/
|
|
36917
|
-
get(tokenOrUrl: string, query?: StudioPublicShareQuery, opts?: CallOpts$
|
|
38268
|
+
get(tokenOrUrl: string, query?: StudioPublicShareQuery, opts?: CallOpts$23): Promise<StudioPublicShare>;
|
|
36918
38269
|
/**
|
|
36919
38270
|
* Copy the version a `view` link shows into a new creative of yours (the owner's ready assets are copied, the
|
|
36920
38271
|
* foreign brand kit dropped; HTTP 201). 404 for review links or links without remix; 413 `remix_too_large`. Free.
|
|
36921
38272
|
*/
|
|
36922
|
-
remix(tokenOrUrl: string, body?: StudioRemixRequest, opts?: CallOpts$
|
|
38273
|
+
remix(tokenOrUrl: string, body?: StudioRemixRequest, opts?: CallOpts$23): Promise<StudioRemixResult>;
|
|
36923
38274
|
/** Start a thread through a review link (`name`, `body`, optional anchor; HTTP 201). 400 `invalid_name`. */
|
|
36924
|
-
comment(tokenOrUrl: string, body: StudioPublicThreadCreateRequest, opts?: CallOpts$
|
|
38275
|
+
comment(tokenOrUrl: string, body: StudioPublicThreadCreateRequest, opts?: CallOpts$23): Promise<StudioReviewThread>;
|
|
36925
38276
|
/** Reply in a thread through a review link (`name`, `body`; HTTP 201) — returns the whole thread. */
|
|
36926
|
-
reply(tokenOrUrl: string, threadId: string, body: StudioPublicReplyRequest, opts?: CallOpts$
|
|
38277
|
+
reply(tokenOrUrl: string, threadId: string, body: StudioPublicReplyRequest, opts?: CallOpts$23): Promise<StudioReviewThread>;
|
|
36927
38278
|
/** Resolve a thread through a review link (`resolved_by` = `name`). */
|
|
36928
|
-
resolve(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$
|
|
38279
|
+
resolve(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$23): Promise<StudioReviewThread>;
|
|
36929
38280
|
/** Reopen a resolved thread through a review link. */
|
|
36930
|
-
reopen(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$
|
|
38281
|
+
reopen(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$23): Promise<StudioReviewThread>;
|
|
36931
38282
|
/**
|
|
36932
38283
|
* Approve or request changes (approver review links only). 403 `not_an_approver`, 409 `review_not_open`, 409
|
|
36933
38284
|
* `stale` (with `head_seq`) when `seq` is not the head. Returns the new review state.
|
|
36934
38285
|
*/
|
|
36935
|
-
decide(tokenOrUrl: string, body: StudioPublicDecisionRequest, opts?: CallOpts$
|
|
38286
|
+
decide(tokenOrUrl: string, body: StudioPublicDecisionRequest, opts?: CallOpts$23): Promise<StudioPublicReview>;
|
|
36936
38287
|
}
|
|
36937
|
-
//#endregion
|
|
36938
|
-
//#region src/resources/voice-revocations.d.ts
|
|
36939
38288
|
/** `email`, `voice_owner_name`, `details`, optional `evidence_url`. */
|
|
36940
38289
|
export type StudioVoiceRevocationRequest = Mutable<Schema<'StudioVoiceRevocationRequest'>>;
|
|
36941
38290
|
/** `{ id, object: 'studio.voice_revocation', status: 'open' }`. */
|
|
@@ -36949,8 +38298,30 @@ export declare class VoiceRevocations {
|
|
|
36949
38298
|
signal?: AbortSignal;
|
|
36950
38299
|
}): Promise<StudioVoiceRevocation>;
|
|
36951
38300
|
}
|
|
36952
|
-
|
|
36953
|
-
|
|
38301
|
+
/** `{ session_id }` of a finished `purpose: singing` recording session for this voice. */
|
|
38302
|
+
export type StudioVoiceSingingConsentRequest = Mutable<Schema<'StudioVoiceSingingConsentRequest'>>;
|
|
38303
|
+
/** A custom voice (never the cloning key or any recording). */
|
|
38304
|
+
export type StudioVoice = Schema<'StudioVoice'>;
|
|
38305
|
+
/** `{ status: 'none' | 'active' | 'revoked', consented_at, revoked_at, quality: 'beta' }`. */
|
|
38306
|
+
export type StudioVoiceSinging = Schema<'StudioVoiceSinging'>;
|
|
38307
|
+
type CallOpts$22 = {
|
|
38308
|
+
ext?: CodaiRequestExtensions;
|
|
38309
|
+
signal?: AbortSignal;
|
|
38310
|
+
};
|
|
38311
|
+
export declare class Voices {
|
|
38312
|
+
private readonly http;
|
|
38313
|
+
constructor(http: HttpClient);
|
|
38314
|
+
/**
|
|
38315
|
+
* `POST /v1/studio/voices/{id}/singing-consent` — add the singing purpose from a finished singing recording session
|
|
38316
|
+
* (liveness-checked statement + sung sample). Returns the voice with `singing.status: 'active'`. Never retried.
|
|
38317
|
+
*/
|
|
38318
|
+
addSingingConsent(id: string, body: StudioVoiceSingingConsentRequest, opts?: CallOpts$22): Promise<StudioVoice>;
|
|
38319
|
+
/**
|
|
38320
|
+
* `DELETE /v1/studio/voices/{id}/singing-consent` — revoke ONLY the singing purpose (204). The sung sample is deleted
|
|
38321
|
+
* at once; the voice keeps working for narration. Idempotent.
|
|
38322
|
+
*/
|
|
38323
|
+
revokeSingingConsent(id: string, opts?: CallOpts$22): Promise<void>;
|
|
38324
|
+
}
|
|
36954
38325
|
export type VaultAccount = Schema<'VaultAccount'>;
|
|
36955
38326
|
export type VaultItemEnvelope = Mutable<Schema<'VaultItemEnvelope'>>;
|
|
36956
38327
|
export type VaultUseDecision = Schema<'VaultUseDecision'>;
|
|
@@ -37085,8 +38456,6 @@ export declare class Vault {
|
|
|
37085
38456
|
/** `POST /v1/vault/resolve` — codai local brokers only (cloud fallback of `codaid vault run`); 202 = approval. */
|
|
37086
38457
|
resolve(body: VaultResolveRequest, opts?: CallOpts$21): Promise<VaultObject>;
|
|
37087
38458
|
}
|
|
37088
|
-
//#endregion
|
|
37089
|
-
//#region src/resources/abuse-reports.d.ts
|
|
37090
38459
|
/** `share_token`, `surface`, `category`, `explanation`, `reporter_name`, `reporter_email`, `good_faith: true`. */
|
|
37091
38460
|
export type StudioAbuseReportRequest = Mutable<Schema<'StudioAbuseReportRequest'>>;
|
|
37092
38461
|
/** `{ id, object: 'studio.abuse_report', status: 'open' }`. */
|
|
@@ -37100,8 +38469,6 @@ export declare class AbuseReports {
|
|
|
37100
38469
|
signal?: AbortSignal;
|
|
37101
38470
|
}): Promise<StudioAbuseReport>;
|
|
37102
38471
|
}
|
|
37103
|
-
//#endregion
|
|
37104
|
-
//#region src/resources/provenance.d.ts
|
|
37105
38472
|
/** `{ media_type, findings, codai_generated, synthid_checked: false, signature_verified: false }`. */
|
|
37106
38473
|
export type ProvenanceCheckResult = Schema<'ProvenanceCheckResult'>;
|
|
37107
38474
|
/** One mark: `{ kind, present, ai_marked, codai, details }`. */
|
|
@@ -37121,8 +38488,6 @@ export declare class Provenance {
|
|
|
37121
38488
|
signal?: AbortSignal;
|
|
37122
38489
|
}): Promise<ProvenanceCheckResult>;
|
|
37123
38490
|
}
|
|
37124
|
-
//#endregion
|
|
37125
|
-
//#region src/resources/messages.d.ts
|
|
37126
38491
|
export type MessageRequest = Mutable<Body<'createMessage'>>;
|
|
37127
38492
|
export type MessageResponse = Reply<'createMessage'>;
|
|
37128
38493
|
/** Request body as accepted by the SDK: `stream` is set by the method and `model` defaults to `codai`. */
|
|
@@ -37171,8 +38536,6 @@ export declare class Messages {
|
|
|
37171
38536
|
create(body: MessageInput, opts?: MessageCallOptions): Promise<MessageResult>;
|
|
37172
38537
|
stream(body: MessageInput, opts?: MessageCallOptions): MessageStream;
|
|
37173
38538
|
}
|
|
37174
|
-
//#endregion
|
|
37175
|
-
//#region src/resources/models.d.ts
|
|
37176
38539
|
export type Model = Schema<'CoreModel'>;
|
|
37177
38540
|
export type ModelList = Reply<'listModels'>;
|
|
37178
38541
|
export declare class Models {
|
|
@@ -37184,8 +38547,6 @@ export declare class Models {
|
|
|
37184
38547
|
signal?: AbortSignal;
|
|
37185
38548
|
}): Promise<Model[]>;
|
|
37186
38549
|
}
|
|
37187
|
-
//#endregion
|
|
37188
|
-
//#region src/resources/orgs.d.ts
|
|
37189
38550
|
export type Org = Schema<'OrgWithRole'>;
|
|
37190
38551
|
export type OrgMember = Schema<'OrgMember'>;
|
|
37191
38552
|
export type OrgRole = Schema<'OrgRole'>;
|
|
@@ -37213,8 +38574,6 @@ export declare class Orgs {
|
|
|
37213
38574
|
/** `GET /v1/orgs` */
|
|
37214
38575
|
list(opts?: CallOpts$20): Promise<Org[]>;
|
|
37215
38576
|
}
|
|
37216
|
-
//#endregion
|
|
37217
|
-
//#region src/resources/projects.d.ts
|
|
37218
38577
|
export type Project = Schema<'Project'>;
|
|
37219
38578
|
export type ProjectIsolation = Schema<'ProjectIsolation'>;
|
|
37220
38579
|
export type ProjectCreateBody = Mutable<Body<'createProject'>>;
|
|
@@ -37238,8 +38597,6 @@ export declare class Projects {
|
|
|
37238
38597
|
/** `DELETE /v1/projects/{id}` — 409 `project_has_environments` until all are destroyed. */
|
|
37239
38598
|
delete(projectId: string, opts?: CallOpts$19): Promise<Reply<'deleteProject'>>;
|
|
37240
38599
|
}
|
|
37241
|
-
//#endregion
|
|
37242
|
-
//#region src/resources/referrals.d.ts
|
|
37243
38600
|
export type ReferralsView = Reply<'getReferrals'>;
|
|
37244
38601
|
export type ReferralRow = Schema<'ReferralRow'>;
|
|
37245
38602
|
export type ReferralStats = Schema<'AccountReferral'>;
|
|
@@ -37262,8 +38619,6 @@ export declare class Referrals {
|
|
|
37262
38619
|
setConsent(consent: boolean, opts?: CallOpts$18): Promise<AccountPatchResponse>;
|
|
37263
38620
|
private patch;
|
|
37264
38621
|
}
|
|
37265
|
-
//#endregion
|
|
37266
|
-
//#region src/generated/resolve.d.ts
|
|
37267
38622
|
/**
|
|
37268
38623
|
* This file was auto-generated by openapi-typescript.
|
|
37269
38624
|
* Do not make direct changes to the file.
|
|
@@ -38200,8 +39555,6 @@ interface operations {
|
|
|
38200
39555
|
};
|
|
38201
39556
|
};
|
|
38202
39557
|
}
|
|
38203
|
-
//#endregion
|
|
38204
|
-
//#region src/resources/resolve.d.ts
|
|
38205
39558
|
type ResolveSchemas = components['schemas'];
|
|
38206
39559
|
export type ResolveIntake = Mutable<ResolveSchemas['ResolveIntake']>;
|
|
38207
39560
|
export type ResolveQuote = ResolveSchemas['ResolveQuote'];
|
|
@@ -38376,8 +39729,6 @@ export declare class Resolve {
|
|
|
38376
39729
|
waitFor(id: string, opts?: ResolveWaitOptions): Promise<ResolveJob>;
|
|
38377
39730
|
private call;
|
|
38378
39731
|
}
|
|
38379
|
-
//#endregion
|
|
38380
|
-
//#region src/resources/responses.d.ts
|
|
38381
39732
|
export type ResponsesRequest = Mutable<Body<'createResponse'>>;
|
|
38382
39733
|
export type ResponsesResponse = Reply<'createResponse'>;
|
|
38383
39734
|
/** Request body as accepted by the SDK: `stream` is set by the method and `model` defaults to `codai`. */
|
|
@@ -38421,8 +39772,6 @@ export declare class Responses {
|
|
|
38421
39772
|
create(body: ResponsesInput, opts?: ResponsesCallOptions): Promise<ResponsesResult>;
|
|
38422
39773
|
stream(body: ResponsesInput, opts?: ResponsesCallOptions): ResponsesStream;
|
|
38423
39774
|
}
|
|
38424
|
-
//#endregion
|
|
38425
|
-
//#region src/resources/sessions.d.ts
|
|
38426
39775
|
export type Session = Schema<'Session'>;
|
|
38427
39776
|
export type SessionListItem = Schema<'SessionListItem'>;
|
|
38428
39777
|
export type SessionDetail = Reply<'getSession'>;
|
|
@@ -38585,8 +39934,6 @@ export declare class Sessions {
|
|
|
38585
39934
|
share?: string;
|
|
38586
39935
|
}, opts?: CallOpts$16): AsyncGenerator<SessionStreamEvent, void, undefined>;
|
|
38587
39936
|
}
|
|
38588
|
-
//#endregion
|
|
38589
|
-
//#region src/resources/settings.d.ts
|
|
38590
39937
|
export type SettingsResponse = Reply<'getSettings'>;
|
|
38591
39938
|
export type UserSettings = Schema<'UserSettings'>;
|
|
38592
39939
|
export type TranscriptsSettings = Schema<'TranscriptsSettings'>;
|
|
@@ -38615,8 +39962,6 @@ export declare class Settings {
|
|
|
38615
39962
|
*/
|
|
38616
39963
|
update(partial: SettingsPatch, opts?: UpdateOpts): Promise<SettingsResponse>;
|
|
38617
39964
|
}
|
|
38618
|
-
//#endregion
|
|
38619
|
-
//#region src/resources/os-gate.d.ts
|
|
38620
39965
|
export type PolicyResponse = Reply<'getPolicy'>;
|
|
38621
39966
|
export type OsGateEvent = Schema<'OsGateEvent'>;
|
|
38622
39967
|
export type OsGateCheckId = OsGateEvent['checks'][number];
|
|
@@ -38637,8 +39982,6 @@ export declare class OsGate {
|
|
|
38637
39982
|
*/
|
|
38638
39983
|
recordEvent(event: OsGateEvent, opts?: CallOpts$14): Promise<OsGateEventAccepted>;
|
|
38639
39984
|
}
|
|
38640
|
-
//#endregion
|
|
38641
|
-
//#region src/resources/sfx.d.ts
|
|
38642
39985
|
/** One sound (always `license: 'CC0-1.0'`). */
|
|
38643
39986
|
export type SfxDto = Schema<'SfxDto'>;
|
|
38644
39987
|
export type SfxCategory = Schema<'SfxCategory'>;
|
|
@@ -38666,8 +40009,6 @@ export declare class Sfx {
|
|
|
38666
40009
|
*/
|
|
38667
40010
|
import(sfxId: string, opts?: CallOpts$13): Promise<AssetDto>;
|
|
38668
40011
|
}
|
|
38669
|
-
//#endregion
|
|
38670
|
-
//#region src/resources/system-one.d.ts
|
|
38671
40012
|
export type SystemOneRequest = Mutable<Body<'createSystemOne'>>;
|
|
38672
40013
|
export type SystemOneResponse = Reply<'createSystemOne'>;
|
|
38673
40014
|
type SystemOneState = NonNullable<SystemOneRequest['state']>;
|
|
@@ -38719,8 +40060,6 @@ export declare class SystemOne {
|
|
|
38719
40060
|
signal?: AbortSignal;
|
|
38720
40061
|
}): Promise<SystemOneBatchResponse>;
|
|
38721
40062
|
}
|
|
38722
|
-
//#endregion
|
|
38723
|
-
//#region src/resources/tasks.d.ts
|
|
38724
40063
|
export type Task = Schema<'Task'>;
|
|
38725
40064
|
export type TaskOutcome = Schema<'TaskOutcome'>;
|
|
38726
40065
|
export type TaskStats = Reply<'getTaskStats'>;
|
|
@@ -38746,8 +40085,6 @@ export declare class Tasks {
|
|
|
38746
40085
|
/** `POST /v1/tasks/{id}/confirm` — answer "Did codai solve it?". */
|
|
38747
40086
|
confirm(id: string, body: TaskConfirmRequest, opts?: CallOpts$12): Promise<TaskConfirmResponse>;
|
|
38748
40087
|
}
|
|
38749
|
-
//#endregion
|
|
38750
|
-
//#region src/resources/triggers.d.ts
|
|
38751
40088
|
export type TriggerList = Reply<'listTriggers'>;
|
|
38752
40089
|
export type TriggerCreateRequest = Mutable<Body<'createTrigger'>>;
|
|
38753
40090
|
export type TriggerCreated = Reply<'createTrigger'>;
|
|
@@ -38819,8 +40156,6 @@ export declare class Notifications {
|
|
|
38819
40156
|
/** `POST /v1/notifications/delete` — 1..200 ids; ids of other users are skipped. */
|
|
38820
40157
|
deleteMany(ids: number[], opts?: CallOpts$11): Promise<NotificationsDeleted>;
|
|
38821
40158
|
}
|
|
38822
|
-
//#endregion
|
|
38823
|
-
//#region src/resources/prompts.d.ts
|
|
38824
40159
|
/** PR-07 recurrence: repeat every day/week/month (at HH:MM UTC), or reopen when the run session ends. */
|
|
38825
40160
|
export type PromptRecurrence = Mutable<Schema<'PromptRecurrence'>>;
|
|
38826
40161
|
/** PR-07 launch preset applied when the prompt is started. */
|
|
@@ -38905,8 +40240,6 @@ export declare class Prompts {
|
|
|
38905
40240
|
/** `GET /v1/prompts/stream` — live `prompt` events (keepalive comments are skipped). Closed by the server after 6 h. */
|
|
38906
40241
|
stream(opts?: CallOpts$10): AsyncGenerator<PromptStreamEvent, void, undefined>;
|
|
38907
40242
|
}
|
|
38908
|
-
//#endregion
|
|
38909
|
-
//#region src/resources/schedules.d.ts
|
|
38910
40243
|
export type Schedule = Schema<'Schedule'>;
|
|
38911
40244
|
export type ScheduleInput = Mutable<Schema<'ScheduleInput'>>;
|
|
38912
40245
|
export type ScheduleRun = Schema<'ScheduleRun'>;
|
|
@@ -39016,8 +40349,6 @@ export declare class Schedules {
|
|
|
39016
40349
|
/** `GET /v1/schedules/stream` — live `schedule` events (keepalives skipped). */
|
|
39017
40350
|
stream(opts?: CallOpts$9): AsyncGenerator<ScheduleStreamEvent, void, undefined>;
|
|
39018
40351
|
}
|
|
39019
|
-
//#endregion
|
|
39020
|
-
//#region src/resources/lists.d.ts
|
|
39021
40352
|
export type List = Schema<'List'>;
|
|
39022
40353
|
export type ListItem = Schema<'ListItem'>;
|
|
39023
40354
|
export type ListCreateInput = Mutable<Schema<'ListCreateInput'>>;
|
|
@@ -39078,8 +40409,6 @@ export declare class Lists {
|
|
|
39078
40409
|
/** `POST /v1/share` — share-sheet entry point (`list_id`, `preset`, or auto → Inbox + suggestion). */
|
|
39079
40410
|
share(body: ShareRequest, opts?: CallOpts$8): Promise<ShareResponse>;
|
|
39080
40411
|
}
|
|
39081
|
-
//#endregion
|
|
39082
|
-
//#region src/resources/memory.d.ts
|
|
39083
40412
|
export type MemoryItem = Schema<'MemoryItem'>;
|
|
39084
40413
|
export type MemoryHit = Schema<'MemoryHit'>;
|
|
39085
40414
|
export type MemoryTier = MemoryItem['tier'];
|
|
@@ -39112,8 +40441,6 @@ export declare class Memory {
|
|
|
39112
40441
|
*/
|
|
39113
40442
|
deleteAll(opts?: CallOpts$7): Promise<MemoryDeletedAll>;
|
|
39114
40443
|
}
|
|
39115
|
-
//#endregion
|
|
39116
|
-
//#region src/resources/sandboxes.d.ts
|
|
39117
40444
|
export type Sandbox = Schema<'Sandbox'>;
|
|
39118
40445
|
export type SandboxEgress = Mutable<Schema<'SandboxEgress'>>;
|
|
39119
40446
|
export type SandboxCreateInput = Mutable<Schema<'SandboxCreate'>>;
|
|
@@ -39239,8 +40566,6 @@ export declare class Sandboxes {
|
|
|
39239
40566
|
*/
|
|
39240
40567
|
run(input: SandboxRunInput, opts?: IdemOpts): Promise<SandboxExecResult>;
|
|
39241
40568
|
}
|
|
39242
|
-
//#endregion
|
|
39243
|
-
//#region src/resources/transcripts.d.ts
|
|
39244
40569
|
export type Transcript = Schema<'Transcript'>;
|
|
39245
40570
|
export type TranscriptDetail = Schema<'TranscriptDetail'>;
|
|
39246
40571
|
export type TranscriptStatus = Schema<'TranscriptStatus'>;
|
|
@@ -39433,8 +40758,6 @@ export declare class Transcripts {
|
|
|
39433
40758
|
*/
|
|
39434
40759
|
uploadAudio(data: Uint8Array | ArrayBuffer | Blob, opts?: UploadAudioOptions): Promise<string>;
|
|
39435
40760
|
}
|
|
39436
|
-
//#endregion
|
|
39437
|
-
//#region src/resources/tokens.d.ts
|
|
39438
40761
|
/** `live` = realtime + audio in one token (a live co-host's speech-to-text and text-to-speech). */
|
|
39439
40762
|
export type EphemeralScope = 'realtime' | 'audio' | 'embeddings' | 'live';
|
|
39440
40763
|
export type EphemeralTokenResponse = Reply<'createEphemeralToken'>;
|
|
@@ -39456,8 +40779,6 @@ export declare class Tokens {
|
|
|
39456
40779
|
signal?: AbortSignal;
|
|
39457
40780
|
}): Promise<EphemeralToken>;
|
|
39458
40781
|
}
|
|
39459
|
-
//#endregion
|
|
39460
|
-
//#region src/resources/tools.d.ts
|
|
39461
40782
|
export type ToolSearchRequest = Mutable<Body<'toolsSearch'>>;
|
|
39462
40783
|
export type ToolSearchResponse = Reply<'toolsSearch'>;
|
|
39463
40784
|
export type ToolFetchRequest = Mutable<Body<'toolsFetch'>>;
|
|
@@ -39486,8 +40807,6 @@ export declare class Tools {
|
|
|
39486
40807
|
*/
|
|
39487
40808
|
ground(body: ToolGroundRequest, opts?: CallOpts$4): Promise<ToolGroundResponse>;
|
|
39488
40809
|
}
|
|
39489
|
-
//#endregion
|
|
39490
|
-
//#region src/resources/research.d.ts
|
|
39491
40810
|
export type ResearchRequest = Mutable<Body<'createResearch'>>;
|
|
39492
40811
|
export type ResearchJob = Schema<'ResearchJob'>;
|
|
39493
40812
|
export type ResearchSource = Schema<'ResearchSource'>;
|
|
@@ -39526,8 +40845,6 @@ export declare class Research {
|
|
|
39526
40845
|
/** `create` then `wait` until the job finishes. */
|
|
39527
40846
|
run(body: ResearchRequest, opts?: ResearchCreateOptions & Omit<ResearchWaitOptions, keyof CallOpts$3>): Promise<ResearchJob>;
|
|
39528
40847
|
}
|
|
39529
|
-
//#endregion
|
|
39530
|
-
//#region src/resources/usage-keys.d.ts
|
|
39531
40848
|
export type UsageReport = Schema<'UsageReport'>;
|
|
39532
40849
|
export type UsageRow = Schema<'UsageRow'>;
|
|
39533
40850
|
export type UsageGroupBy = UsageReport['group_by'];
|
|
@@ -39558,8 +40875,6 @@ export declare class Keys {
|
|
|
39558
40875
|
/** `PATCH /v1/keys/{id}` — replace the key's tags (≤ 16, each ≤ 32 chars; `[]` clears). */
|
|
39559
40876
|
setTags(id: string, tags: string[], opts?: CallOpts$2): Promise<ApiKeyTags>;
|
|
39560
40877
|
}
|
|
39561
|
-
//#endregion
|
|
39562
|
-
//#region src/resources/verify.d.ts
|
|
39563
40878
|
export type EnvironmentTaskOutputSignature = Schema<'EnvironmentTaskOutputSignature'>;
|
|
39564
40879
|
export type AgentOutputKey = Reply<'getAgentOutputKey'>;
|
|
39565
40880
|
export type AgentOutputVerifyBody = Mutable<Body<'verifyAgentOutput'>>;
|
|
@@ -39575,8 +40890,6 @@ export declare class Verify {
|
|
|
39575
40890
|
/** `POST /v1/verify/agent-output` — 503 `signing_disabled` when signing is off. */
|
|
39576
40891
|
agentOutput(body: AgentOutputVerifyBody, opts?: CallOpts$1): Promise<AgentOutputVerifyResult>;
|
|
39577
40892
|
}
|
|
39578
|
-
//#endregion
|
|
39579
|
-
//#region src/operations.d.ts
|
|
39580
40893
|
/**
|
|
39581
40894
|
* Single source of truth for OpenAPI parity: every `operationId` in
|
|
39582
40895
|
* `apps/docs/openapi/en/gateway.yaml` maps to exactly one dotted method path
|
|
@@ -39593,8 +40906,6 @@ export declare const STREAMING_OPERATIONS: ReadonlySet<string>;
|
|
|
39593
40906
|
* checked by `operations.resolve.test.ts`.
|
|
39594
40907
|
*/
|
|
39595
40908
|
export declare const RESOLVE_OPERATION_METHODS: Record<string, string>;
|
|
39596
|
-
//#endregion
|
|
39597
|
-
//#region src/resources/apps.d.ts
|
|
39598
40909
|
export interface CodaiAppsOptions {
|
|
39599
40910
|
/** App connection token (`codai_app_…`). Required for everything except `validateKey`. */
|
|
39600
40911
|
appToken?: string;
|
|
@@ -39866,8 +41177,6 @@ export declare class CodaiApps {
|
|
|
39866
41177
|
/** @internal Perform an app-token call and unwrap `{ ok, data }`. */
|
|
39867
41178
|
call<T>(path: string, init?: RequestOptions): Promise<T>;
|
|
39868
41179
|
}
|
|
39869
|
-
//#endregion
|
|
39870
|
-
//#region src/index.d.ts
|
|
39871
41180
|
export interface CodaiClientOptions {
|
|
39872
41181
|
apiKey: string;
|
|
39873
41182
|
/** Defaults to https://ai.codai.ro */
|
|
@@ -39952,6 +41261,11 @@ export declare class Codai {
|
|
|
39952
41261
|
readonly templates: Templates;
|
|
39953
41262
|
/** codai Studio productions (`productions.run({ brief, language: 'ro' })` → a finished promo video + editable creative). */
|
|
39954
41263
|
readonly productions: Productions;
|
|
41264
|
+
/**
|
|
41265
|
+
* codai Studio namespace. `studio.musicRoom.create({ brief, language: 'ro' })` → a team of role agents makes a song;
|
|
41266
|
+
* answer its gates with `studio.musicRoom.choose(id, …)`, poll with `studio.musicRoom.wait(id, { untilGate: true })`.
|
|
41267
|
+
*/
|
|
41268
|
+
readonly studio: Studio;
|
|
39955
41269
|
/** codai Studio media operations (`mediaOps.run('audio.separate_stems', { assetIds })` → job; `mediaOps.wait(id)`). */
|
|
39956
41270
|
readonly mediaOps: MediaOps;
|
|
39957
41271
|
/** codai Studio lyrics (`lyrics.write({ brief, language: 'ro' })`, `lyrics.align({ creative_id, clip_id, lyrics_text })`). */
|
|
@@ -39966,6 +41280,8 @@ export declare class Codai {
|
|
|
39966
41280
|
readonly shares: Shares;
|
|
39967
41281
|
/** Public takedown tickets for voices cloned in codai Studio (`voiceRevocations.create({ email, … })`; no key needed). */
|
|
39968
41282
|
readonly voiceRevocations: VoiceRevocations;
|
|
41283
|
+
/** codai Studio custom voices: the voice passport singing consent (`voices.addSingingConsent(id, { session_id })`). */
|
|
41284
|
+
readonly voices: Voices;
|
|
39969
41285
|
/** Zero-knowledge credentials vault (`vault.items()`, `vault.use({ handle, mode, action })`, `vault.decide(id, …)`). */
|
|
39970
41286
|
readonly vault: Vault;
|
|
39971
41287
|
/** Public abuse reports about codai Studio share / review links (`abuseReports.create({ share_token, … })`; no key needed). */
|
|
@@ -40040,5 +41356,4 @@ export declare class Codai {
|
|
|
40040
41356
|
private legacyBody;
|
|
40041
41357
|
private legacyExt;
|
|
40042
41358
|
}
|
|
40043
|
-
//#endregion
|
|
40044
41359
|
export { Codai as default, type CodaiRequestExtensions, type ErrorCode, type RequestOptions, type components as ResolveComponents, type operations as ResolveOperations, type paths as ResolvePaths, type SseFrame, type components$1 as components, type operations$1 as operations, type paths$1 as paths };
|