@deepraxis/sdk 0.1.1-dev.e47a392 → 0.1.1-dev.e5db771
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/METHODS.md +21 -1
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +50 -9
- package/dist/generated/sdk.gen.js +97 -8
- package/dist/generated/types.gen.d.ts +821 -77
- package/dist/operations.generated.d.ts +192 -4
- package/dist/operations.generated.js +245 -4
- package/dist/resources.generated.d.ts +15 -0
- package/dist/resources.generated.js +15 -0
- package/package.json +1 -1
|
@@ -10250,7 +10250,7 @@ export const operations = [
|
|
|
10250
10250
|
"resource": "cut.projects",
|
|
10251
10251
|
"method": "execute",
|
|
10252
10252
|
"summary": "Execute editing script",
|
|
10253
|
-
"description": "Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project: `const t = AddTrack(\"video\"); Insert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3}); Print(t);`\n\n### Script function reference\n\nFunctions are synchronous globals; do not import them. `project` is the current project ID. TrackId and ClipId are strings returned by AddTrack and Insert or read from GetTimeline. JoinId is the string returned by Join or read from GetTimeline().joins. Reads see earlier writes in the same script.\n\n```ts\nGetTimeline(o?: { from?: number; to?: number; tracks?: TrackId[] }): TimelineView;\nGetItem(id: ClipId): ItemView;\nFindItems<T>(visit: (item: ItemView, ctx: { track: TrackView; index: number }) => T | undefined): T[];\nGetMedia(ref: MediaRef): MediaInfo;\nGetTranscript(ref: MediaRef, o?: { from?: number; to?: number }): Word[];\nGetAnalysis(ref: MediaRef, kind: AnalysisKind): Segment[];\nListTransitions(): TransitionInfo[];\nListFonts(): { family: string; weights: number[]; scripts: (\"latin\"|\"cjk\")[]; source: \"bundled\"|\"catalog\" }[];\nInsert(track: TrackId, item: ItemInit, o?: { ripple?: boolean }): ClipId;\nUpdate(id: ClipId, patch: ItemPatchView): void;\nSetSpeed(id: ClipId, rate: number, o: { keep: \"source\" | \"duration\"; ripple?: boolean }): { length: number; sourceOut: number };\nDelete(id: ClipId, o?: { ripple?: boolean }): void;\nJoin(left: ClipId, right: ClipId, o: { length?: number; effect: TransitionInput }): JoinId;\nUpdateJoin(id: JoinId, patch: { length?: number; effect?: TransitionInput }): void;\nDeleteJoin(id: JoinId): void;\nSplit(id: ClipId, at: number): ClipId;\nTrim(id: ClipId, edge: \"in\" | \"out\", delta: number, o?: { ripple?: boolean }): void;\nMove(id: ClipId, start: number, track?: TrackId): void;\nRippleDeleteRange(from: number, to: number, tracks?: TrackId[]): void;\nAddTrack(kind: \"video\" | \"audio\" | \"caption\", init?: { name?: string }, index?: number): TrackId;\nUpdateTrack(id: TrackId, patch: TrackPatch): void;\nDeleteTrack(id: TrackId): void;\nSetSettings(patch: Partial<ProjectSettingsView>): void;\nAddCaptionsFromTranscript(track: TrackId, source: ClipId, o?: { style?: Partial<CaptionStyle>; maxChars?: number }): ClipId[];\nSetMarker(at: number, label: string): string;\nPrint(...values: unknown[]): void;\nPreview(at: number[]): void;\n```\n\n| Functions | Behavior and arguments |\n| --- | --- |\n| GetTimeline, GetItem | Read compact item views: id, track, type, start, end, length, optional media, playback, sourceIn/sourceOut, text and offline reason. GetTimeline returns duration, tracks (id, kind, name, index, locked, items), and joins (id, track, left, right, length in seconds, normalized effect). from/to and tracks narrow the items and joins; joins are selected by their overlap window. |\n| ListTransitions | Discover the shared validation catalog: each entry contains kind (effect ID), name, description and params. Each parameter has name, type (enum/number/integer), default, description, enum values or numeric min/max. Use the returned kind and parameter names inside effect. |\n| FindItems | Visit items with their track and index; return undefined to omit an item, any other value to collect it. |\n| GetMedia | Read metadata for `{libraryId, assetId}` in a bound library: kind, dimensions, fps, hasAudio and durationUs when available. durationUs is microseconds. |\n| GetTranscript, GetAnalysis | Read available transcript words or silence/filler/scenes segments. Transcript filter from/to is seconds; returned word and segment from/to values are source microseconds (divide by 1,000,000 for editing). Words contain text and optional speaker/filler; segments may include label/confidence. Request analysis first if unavailable. |\n| Insert, Update, Delete | Insert returns the new clip ID; Update changes supplied fields; Delete removes the clip. Optional ripple on Insert/Delete closes or opens space on the track. |\n| SetSpeed | Change video/audio rate in 0.25–4; keep is required. source preserves consumed source and changes length, duration preserves output length. Returns actual length and sourceOut in seconds. Optional ripple explicitly shifts same-track followers when keeping source; otherwise overlaps are rejected. |\n| Join, UpdateJoin, DeleteJoin | Join creates an overlap between two butt-adjacent visual clips on the same track and returns its ID. length defaults to 0.5 seconds; effect is required. The right clip and all same-track followers move left by length, shortening that track and potentially the project. UpdateJoin moves those followers by the difference in length; omitted fields are preserved. DeleteJoin moves them right to restore the butt cut. Other tracks stay in place. |\n| Split, Trim, Move | Split at a timeline position and return the new right-hand clip ID. Trim changes the in or out edge by delta seconds. Move sets the timeline start and optionally a new track. |\n| RippleDeleteRange | Delete a timeline interval and close its gap on the specified tracks, or all unlocked tracks when omitted. |\n| AddTrack, UpdateTrack, DeleteTrack | Add video/audio/caption tracks; index selects layer order (0 is top). TrackPatch supports name, locked, hidden, muted, gainDb and style as appropriate to track kind. |\n| SetSettings | Supply any of width/height (pixels), fps (frames per second), background (color). |\n| AddCaptionsFromTranscript | Create captions from an audio/video clip's kept words. Optional maxChars is 1–1000, default 16; style updates the caption track. Returns caption IDs. |\n| SetMarker | Add a label at a timeline time and return its ID. |\n| Print, Preview | Print appends text to prints. Preview requests up to eight times total per execute and puts images in the result's frames. Each url is an inline PNG data URL, not an HTTP image link. Decode the base64 payload to save an image. Codemode returns at most four images per call; request at most four times there. |\n\n#### Joins between clips\n\nEndpoints may be video, image, text, color or shape; audio and caption are rejected. Require 0 < length < each endpoint's length. Each clip allows at most one incoming and one outgoing join; their summed lengths cannot exceed its length. Three-input overlaps, nonadjacent endpoints and cross-track joins are rejected with OPS_REJECTED. Read the rejection's code and message, shorten or remove conflicting joins, and retry the saved edit.\n\nTransitionInput is an object with kind plus the parameters returned by ListTransitions; omitted parameters use catalog defaults. Unknown kinds and invalid parameters return INVALID_TRANSITION_PARAM with available parameters. Effects: dissolve; dip color black/white default black; push and wipe direction left/right/up/down default left; wipe softness 0–1 default 0; iris centerX/centerY 0–1 default 0.5; blinds integer count 2–64 default 8 and orientation vertical/horizontal default vertical; blur radius 0–100 pixels at 1080-pixel frame height default 24; zoom direction in/out default in, amount 0.1–3 default 1, blur 0–1 default 0.5; clock direction clockwise/counterclockwise default clockwise, startAngle 0–360 degrees default 0 (twelve o'clock), softness 0–1 default 0; flash color white/black default white, intensity 0–1 default 1. Zoom blur uses up to eight radial samples per shot and is slower on server rendering. Join options and UpdateJoin patches accept only length and effect. Effect updates replace the effect object and apply defaults for omitted parameters.\n\nMinimal example on an existing visual track with adjacent clips left and right: `Print(ListTransitions()); const j = Join(left, right, {length: 0.5, effect: {kind: \"dissolve\"}}); Print(GetTimeline().joins); Preview([GetItem(right).start + 0.25]);` Use `UpdateJoin(j, {length: 0.8})` to adjust it in a later edit or `DeleteJoin(j)` to restore the cut. Preview uses server-rendered frames and includes joins. Per-clip transitionIn/transitionOut remain separate entrance/exit effects.\n\n#### Insert fields (ItemInit)\n\nEvery item requires `type` and `start`. Times used for editing are seconds and snap to the project frame rate: start, length, sourceIn, fadeIn/fadeOut, transition length, keyframe at, reveal delay/stagger/duration. Keyframe and reveal times are relative to the clip start. Video/audio may omit length to use the remaining source duration; other types require length.\n\n| type | Required fields beyond type/start | Optional fields |\n| --- | --- | --- |\n| video | media | length, sourceIn, playback, volumeDb, transform, fit, animate, transitionIn, transitionOut |\n| image | media, length | transform, fit, animate, transitionIn, transitionOut |\n| text | text, length | style, transform, reveal, animate, transitionIn, transitionOut |\n| color | color, length | transform, fill, animate, transitionIn, transitionOut |\n| shape | shape, length, width, height, fill | radius, stroke, transform, animate, transitionIn, transitionOut |\n| audio | media | length, sourceIn, playback, volumeDb, fadeIn, fadeOut |\n| caption | text, length | — |\n\nVideo tracks accept video/image/text/color/shape; audio and caption tracks accept their corresponding type. Media is `{libraryId: string, assetId: string}` from a bound library. sourceIn defaults to 0, volumeDb to 0 dB, audio fades to 0 seconds. fit defaults to contain: contain fits the whole image, cover fills and crops, fill stretches, none keeps native dimensions.\n\n| Field | Value |\n| --- | --- |\n| transform | Partial `{x, y, scale, rotation, opacity, crop, blur}`. x/y are normalized canvas center coordinates (default 0.5); scale 1 is fitted size; rotation is degrees (default 0); opacity is 0–1 (default 1). crop is `{top,right,bottom,left}`. blur is 0–100 pixels at 1080-pixel frame height. |\n| style | Partial `{fontFamily, fontSize, fontWeight, color, fill, stroke, strokes, shadows, glow, background, align, maxWidth, position, margin}`. fill accepts a color or linear/radial gradient across the entire text bounding box. strokes draw outside to inside; at most 4, width 0–40. shadows accepts at most 4 `{color,x,y,blur}` entries; blur is 0–100. glow is `{color,radius,strength}` with radius 0–100 and strength 0–1. All dimensions use pixels at 1080 frame height and scale with the text. Glow and large shadow blur increase render time. Invalid colors or ranges return actionable INVALID_STYLE errors. `ListFonts()` discovers family, available weights, scripts and bundled/catalog source. Text and captions share the style fields; caption style additionally supports highlightColor and maxLines: 2. |\n| animate | An object keyed by x, y, scale, rotation, opacity or blur. Each value is an array of `{at: number, value: number, ease?: Ease}` sorted by at with distinct frame-snapped times. Values hold before the first and after the last keyframe, overriding the static transform. |\n| Ease | linear, in, out, inOut, `{bezier: [x1,y1,x2,y2]}` or `{spring: {stiffness, damping, mass?}}`. Easing shapes the segment arriving at that keyframe; springs may overshoot. |\n| reveal | `{by, delay?: number, stagger: number, duration: number, from: {y?, opacity?, scale?, blur?}, ease?: Ease}`. by selects char, word or line. Unit k starts at delay + k * stagger and takes duration seconds to reach its resting state; from.y is a fraction of font size. |\n| fill | A color string (#RRGGBB or #RRGGBBAA), `{linear: {angle, stops: [{at,color}, ...]}}` or `{radial: {stops: [{at,color}, ...]}}`. Stop positions are 0–1; angle is degrees, 0 left to right. On color clips, fill replaces color when supplied. |\n| shape, width, height, radius, stroke | shape is rect or ellipse. width/height are fractions of canvas width/height before scaling. radius rounds rect corners in pixels at 1080-pixel frame height. stroke is `{color: string, width: number}`. |\n| transitionIn, transitionOut | `{kind, length: number}` at the clip's beginning/end. length is seconds. fade changes opacity; dissolve blends; push_left/push_right move horizontally; wipe_left reveals horizontally. |\n\n#### Update fields (ItemPatchView)\n\nAll fields are optional; use only fields relevant to the item's type. Supported fields: start, length, sourceIn, playback, volumeDb, transform, fit, text, style, color, fadeIn, fadeOut, animate, reveal, fill, stroke, shape, width, height, radius, transitionIn, transitionOut. Values and units match Insert. Set animate, reveal, fill, stroke, transitionIn or transitionOut to null to remove that effect; omitting a field preserves it. For example: `Update(id, {volumeDb: -12})` or `Update(id, {transitionIn: null})`.\n\n#### Speed, reverse and freeze\n\nVideo/audio Insert and Update accept playback as `{kind: \"rate\", rate: number, direction: \"forward\" | \"reverse\", audio: \"preservePitch\" | \"resample\" | \"mute\"}` or `{kind: \"freeze\"}`. Rate is finite and inclusive 0.25–4. Omitted playback defaults to 1× forward with preservePitch; supply the complete rate object when changing playback. preservePitch keeps pitch, resample changes pitch with speed, mute removes audio. Reverse requires explicit audio: \"mute\"; preservePitch/resample are rejected with UNSUPPORTED_PLAYBACK rather than silently muted. Freeze holds sourceIn and is silent. GetItem/GetTimeline echo playback and the source interval in seconds; sourceOut is exclusive even for reverse and equals sourceIn for freeze.\n\nUpdate of playback keeps output length unless length is also supplied. SetSpeed preserves direction/audio, rejects frozen and non-video/audio clips, and requires keep: \"source\" or \"duration\". keep: \"source\" computes round(consumed source / new rate × fps) frames, falling back to floor if rounding would exceed the source end; the returned length/sourceOut are actual frame-rounded seconds. keep: \"duration\" keeps output length and changes source consumption. Length conflicts fail with OVERLAP; move/shorten the conflicting clip, keep duration, or explicitly use ripple: true to shift following clips on the same track. Source overflow fails with OUT_OF_SOURCE; rate limits fail with RATE_OUT_OF_RANGE. Unknown playback fields and SetSpeed options are rejected with UNKNOWN_FIELD; options only accept keep and boolean ripple.\n\nExample for an existing four-second video/audio clip id: `Print(SetSpeed(id, 0.5, {keep: \"source\"})); Print(SetSpeed(id, 2, {keep: \"source\"}));` returns lengths 8 then 2, keeping the same source interval. Reverse: `Update(id, {playback: {kind: \"rate\", rate: 1, direction: \"reverse\", audio: \"mute\"}})`. Freeze: `Update(id, {playback: {kind: \"freeze\"}})`. Ensure enough source remains for the chosen length/rate. Browser reverse playback currently displays a placeholder; server-rendered Preview/frames and exports support reverse normally. Speed-adjusted audio is generated asynchronously after the edit transaction commits; exports wait for that audio before rendering.\n\n#### Script names versus HTTP response names\n\nUse camelCase inside scripts, including nested objects. HTTP request/response JSON outside script source uses snake_case. Map media.library_id → media.libraryId, media.asset_id → media.assetId, source_in → sourceIn, volume_db → volumeDb, fade_in/fade_out → fadeIn/fadeOut, transition_in/transition_out → transitionIn/transitionOut, font_family/font_size/font_weight/max_width → fontFamily/fontSize/fontWeight/maxWidth, gain_db → gainDb, highlight_color/max_lines → highlightColor/maxLines. Fields such as animate, reveal, fill, stroke, at and length retain their spelling. GetTimeline/GetItem already return camelCase compact views; the expanded retrieveTimeline HTTP response is not an Insert object.\n\nUnrecognized script fields fail with OPS_REJECTED and rejection code UNKNOWN_FIELD; snake_case mistakes suggest the corresponding camelCase name. The error message lists each rejection's #opIndex, code and reason. Correct the named fields and retry the saved edit; do not assume an ignored field applied an effect.\n",
|
|
10253
|
+
"description": "Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project: `const t = AddTrack(\"video\"); Insert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3}); Print(t);`\n\n### Script function reference\n\nFunctions are synchronous globals; do not import them. `project` is the current project ID. TrackId and ClipId are strings returned by AddTrack and Insert or read from GetTimeline. JoinId is the string returned by Join or read from GetTimeline().joins. Reads see earlier writes in the same script.\n\n```ts\nGetTimeline(o?: { from?: number; to?: number; tracks?: TrackId[] }): TimelineView;\nGetItem(id: ClipId): ItemView;\nFindItems<T>(visit: (item: ItemView, ctx: { track: TrackView; index: number }) => T | undefined): T[];\nGetMedia(ref: MediaRef): MediaInfo;\nGetTranscript(ref: MediaRef, o?: { from?: number; to?: number }): Word[];\nGetAnalysis(ref: MediaRef, kind: AnalysisKind): Segment[];\nListTransitions(): TransitionInfo[];\nListAnimations(): { id: string; version: number; phase: \"in\" | \"out\" | \"loop\"; target: \"any\" | \"text\"; name: string; description: string; defaultDuration: number; params: { name: string; type: string; values?: string[]; default?: string | number; min?: number; max?: number; description: string }[] }[];\nListFonts(): { family: string; weights: number[]; scripts: (\"latin\"|\"cjk\")[]; source: \"bundled\"|\"catalog\" }[];\nInsert(track: TrackId, item: ItemInit, o?: { ripple?: boolean }): ClipId;\nUpdate(id: ClipId, patch: ItemPatchView): void;\nSetSpeed(id: ClipId, rate: number, o: { keep: \"source\" | \"duration\"; ripple?: boolean }): { length: number; sourceOut: number };\nDelete(id: ClipId, o?: { ripple?: boolean }): void;\nJoin(left: ClipId, right: ClipId, o: { length?: number; effect: TransitionInput }): JoinId;\nUpdateJoin(id: JoinId, patch: { length?: number; effect?: TransitionInput }): void;\nDeleteJoin(id: JoinId): void;\nSplit(id: ClipId, at: number): ClipId;\nTrim(id: ClipId, edge: \"in\" | \"out\", delta: number, o?: { ripple?: boolean }): void;\nMove(id: ClipId, start: number, track?: TrackId): void;\nRippleDeleteRange(from: number, to: number, tracks?: TrackId[]): void;\nAddTrack(kind: \"video\" | \"audio\" | \"caption\", init?: { name?: string }, index?: number): TrackId;\nUpdateTrack(id: TrackId, patch: TrackPatch): void;\nDeleteTrack(id: TrackId): void;\nSetSettings(patch: Partial<ProjectSettingsView>): void;\nAddCaptionsFromTranscript(track: TrackId, source: ClipId, o?: { style?: Partial<CaptionStyle>; maxChars?: number }): ClipId[];\nSetMarker(at: number, label: string): string;\nPrint(...values: unknown[]): void;\nPreview(at: number[]): void;\n```\n\n| Functions | Behavior and arguments |\n| --- | --- |\n| GetTimeline, GetItem | Read compact item views: id, track, type, start, end, length, optional media, playback, sourceIn/sourceOut, text and offline reason. GetTimeline returns duration, tracks (id, kind, name, index, locked, items), and joins (id, track, left, right, length in seconds, normalized effect). from/to and tracks narrow the items and joins; joins are selected by their overlap window. |\n| ListTransitions | Discover the shared validation catalog: each entry contains kind (effect ID), name, description and params. Each parameter has name, type (enum/number/integer), default, description, enum values or numeric min/max. Use the returned kind and parameter names inside effect. |\n| ListAnimations | Discover animation presets. Each entry has id, version, phase (`in`, `out`, `loop`), target (`any`, `text`), name, description, defaultDuration (seconds), and params (name, type, values/default/min/max/description as applicable). A slot use is `{preset, duration?, ...params}`; duration is seconds. |\n| FindItems | Visit items with their track and index; return undefined to omit an item, any other value to collect it. |\n| GetMedia | Read metadata for `{libraryId, assetId}` in a bound library: kind, dimensions, fps, hasAudio and durationUs when available. durationUs is microseconds. |\n| GetTranscript, GetAnalysis | Read available transcript words or silence/filler/scenes segments. Transcript filter from/to is seconds; returned word and segment from/to values are source microseconds (divide by 1,000,000 for editing). Words contain text and optional speaker/filler; segments may include label/confidence. Request analysis first if unavailable. |\n| Insert, Update, Delete | Insert returns the new clip ID; Update changes supplied fields; Delete removes the clip. Optional ripple on Insert/Delete closes or opens space on the track. |\n| SetSpeed | Change video/audio rate in 0.25–4; keep is required. source preserves consumed source and changes length, duration preserves output length. Returns actual length and sourceOut in seconds. Optional ripple explicitly shifts same-track followers when keeping source; otherwise overlaps are rejected. |\n| Join, UpdateJoin, DeleteJoin | Join creates an overlap between two butt-adjacent visual clips on the same track and returns its ID. length defaults to 0.5 seconds; effect is required. The right clip and all same-track followers move left by length, shortening that track and potentially the project. UpdateJoin moves those followers by the difference in length; omitted fields are preserved. DeleteJoin moves them right to restore the butt cut. Other tracks stay in place. |\n| Split, Trim, Move | Split at a timeline position and return the new right-hand clip ID. Trim changes the in or out edge by delta seconds. Move sets the timeline start and optionally a new track. |\n| RippleDeleteRange | Delete a timeline interval and close its gap on the specified tracks, or all unlocked tracks when omitted. |\n| AddTrack, UpdateTrack, DeleteTrack | Add video/audio/caption tracks; index selects layer order (0 is top). TrackPatch supports name, locked, hidden, muted, gainDb and style as appropriate to track kind. |\n| SetSettings | Supply any of width/height (pixels), fps (frames per second), background (color). |\n| AddCaptionsFromTranscript | Create captions from an audio/video clip's kept words. Optional maxChars is 1–1000, default 16; style updates the caption track. Returns caption IDs. |\n| SetMarker | Add a label at a timeline time and return its ID. |\n| Print, Preview | Print appends text to prints. Preview requests up to eight times total per execute and puts images in the result's frames. Each url is an inline PNG data URL, not an HTTP image link. Decode the base64 payload to save an image. Codemode returns at most four images per call; request at most four times there. |\n\n#### Joins between clips\n\nEndpoints may be video, image, text, color or shape; audio and caption are rejected. Require 0 < length < each endpoint's length. Each clip allows at most one incoming and one outgoing join; their summed lengths cannot exceed its length. Three-input overlaps, nonadjacent endpoints and cross-track joins are rejected with OPS_REJECTED. Read the rejection's code and message, shorten or remove conflicting joins, and retry the saved edit.\n\nTransitionInput is an object with kind plus the parameters returned by ListTransitions; omitted parameters use catalog defaults. Unknown kinds and invalid parameters return INVALID_TRANSITION_PARAM with available parameters. Effects: dissolve; dip color black/white default black; push and wipe direction left/right/up/down default left; wipe softness 0–1 default 0; iris centerX/centerY 0–1 default 0.5; blinds integer count 2–64 default 8 and orientation vertical/horizontal default vertical; blur radius 0–100 pixels at 1080-pixel frame height default 24; zoom direction in/out default in, amount 0.1–3 default 1, blur 0–1 default 0.5; clock direction clockwise/counterclockwise default clockwise, startAngle 0–360 degrees default 0 (twelve o'clock), softness 0–1 default 0; flash color white/black default white, intensity 0–1 default 1. Zoom blur uses up to eight radial samples per shot and is slower on server rendering. Join options and UpdateJoin patches accept only length and effect. Effect updates replace the effect object and apply defaults for omitted parameters.\n\nMinimal example on an existing visual track with adjacent clips left and right: `Print(ListTransitions()); const j = Join(left, right, {length: 0.5, effect: {kind: \"dissolve\"}}); Print(GetTimeline().joins); Preview([GetItem(right).start + 0.25]);` Use `UpdateJoin(j, {length: 0.8})` to adjust it in a later edit or `DeleteJoin(j)` to restore the cut. Preview uses server-rendered frames and includes joins. Per-clip transitionIn/transitionOut remain separate entrance/exit effects.\n\n#### Insert fields (ItemInit)\n\nEvery item requires `type` and `start`. Times used for editing are seconds and snap to the project frame rate: start, length, sourceIn, fadeIn/fadeOut, transition length, keyframe at, reveal delay/stagger/duration. Keyframe and reveal times are relative to the clip start. Video/audio may omit length to use the remaining source duration; other types require length.\n\n| type | Required fields beyond type/start | Optional fields |\n| --- | --- | --- |\n| video | media | length, sourceIn, playback, volumeDb, transform, fit, animate, animation, transitionIn, transitionOut |\n| image | media, length | transform, fit, animate, animation, transitionIn, transitionOut |\n| text | text, length | style, transform, reveal, animate, animation, transitionIn, transitionOut |\n| color | color, length | transform, fill, animate, animation, transitionIn, transitionOut |\n| shape | shape, length, width, height, fill | radius, stroke, transform, animate, animation, transitionIn, transitionOut |\n| audio | media | length, sourceIn, playback, volumeDb, fadeIn, fadeOut |\n| caption | text, length | — |\n\nVideo tracks accept video/image/text/color/shape; audio and caption tracks accept their corresponding type. Media is `{libraryId: string, assetId: string}` from a bound library. sourceIn defaults to 0, volumeDb to 0 dB, audio fades to 0 seconds. fit defaults to contain: contain fits the whole image, cover fills and crops, fill stretches, none keeps native dimensions.\n\n| Field | Value |\n| --- | --- |\n| transform | Partial `{x, y, scale, rotation, opacity, crop, blur}`. x/y are normalized canvas center coordinates (default 0.5); scale 1 is fitted size; rotation is degrees (default 0); opacity is 0–1 (default 1). crop is `{top,right,bottom,left}`. blur is 0–100 pixels at 1080-pixel frame height. |\n| style | Partial `{fontFamily, fontSize, fontWeight, color, fill, stroke, strokes, shadows, glow, background, align, maxWidth, position, margin}`. fill accepts a color or linear/radial gradient across the entire text bounding box. strokes draw outside to inside; at most 4, width 0–40. shadows accepts at most 4 `{color,x,y,blur}` entries; blur is 0–100. glow is `{color,radius,strength}` with radius 0–100 and strength 0–1. All dimensions use pixels at 1080 frame height and scale with the text. Glow and large shadow blur increase render time. Invalid colors or ranges return actionable INVALID_STYLE errors. `ListFonts()` discovers family, available weights, scripts and bundled/catalog source. Text and captions share the style fields; caption style additionally supports highlightColor and maxLines: 2. |\n| animate | An object keyed by x, y, scale, rotation, opacity or blur. Each value is an array of `{at: number, value: number, ease?: Ease}` sorted by at with distinct frame-snapped times. Values hold before the first and after the last keyframe, overriding the static transform. |\n| animation | `{in?: AnimationUse, out?: AnimationUse, loop?: AnimationUse}` on visual clips. Each use is `{preset: string, duration?: number, ...params}`; duration and parameter units follow `ListAnimations()`. Presets replace existing animate and reveal when applied. Update accepts `animation: null` to clear the preset and its generated effects. |\n| Ease | linear, in, out, inOut, `{bezier: [x1,y1,x2,y2]}` or `{spring: {stiffness, damping, mass?}}`. Easing shapes the segment arriving at that keyframe; springs may overshoot. |\n| reveal | `{by, delay?: number, stagger: number, duration: number, from: {y?, opacity?, scale?, blur?}, ease?: Ease}`. by selects char, word or line. Unit k starts at delay + k * stagger and takes duration seconds to reach its resting state; from.y is a fraction of font size. |\n| fill | A color string (#RRGGBB or #RRGGBBAA), `{linear: {angle, stops: [{at,color}, ...]}}` or `{radial: {stops: [{at,color}, ...]}}`. Stop positions are 0–1; angle is degrees, 0 left to right. On color clips, fill replaces color when supplied. |\n| shape, width, height, radius, stroke | shape is rect or ellipse. width/height are fractions of canvas width/height before scaling. radius rounds rect corners in pixels at 1080-pixel frame height. stroke is `{color: string, width: number}`. |\n| transitionIn, transitionOut | `{kind, length: number}` at the clip's beginning/end. length is seconds. fade changes opacity; dissolve blends; push_left/push_right move horizontally; wipe_left reveals horizontally. |\n\n#### Update fields (ItemPatchView)\n\nAll fields are optional; use only fields relevant to the item's type. Supported fields: start, length, sourceIn, playback, volumeDb, transform, fit, text, style, color, fadeIn, fadeOut, animate, reveal, animation, fill, stroke, shape, width, height, radius, transitionIn, transitionOut. Values and units match Insert. Set animation to null to clear the preset; set animate or reveal to null to remove that effect. Applying a preset replaces existing animate/reveal. Do not set animation together with animate or reveal in one Insert/Update call. Omit a field to preserve it.\n\n#### Animation presets\n\nDiscover the catalog with `ListAnimations()`. Its entries contain id, version, phase (`in`, `out`, `loop`), target (`any` or `text`), name, description, defaultDuration in seconds, and params. Slots may combine one in, one out and one loop preset. A loop runs only in the interval between in and out; if the same property is animated by multiple slots, loop occupies only that middle interval. Text-target presets are entrances. Their duration controls the rhythm per character/word/line, not the total reveal time. Out and loop presets apply to the whole clip, not per text unit.\n\nPresets replace the clip's existing animate and reveal when applied. The source preset is retained, so changing clip length or transform automatically regenerates its keyframes/reveal. If a clip becomes shorter, in/out durations shrink proportionally; when it grows, the requested durations are restored. Split keeps in on the left, out on the right, and loop on both. Writing animate or reveal directly detaches the preset; setting animation to null clears both source and generated effects. Insert/Update reject a call that supplies animation together with animate or reveal.\n\nErrors: UNKNOWN_ANIMATION (unknown preset), INVALID_ANIMATION_PARAM (invalid slot/parameter or frame/keyframe limit), ANIMATION_TOO_LONG (in+out exceed clip length), ANIMATION_TARGET_MISMATCH (text-only preset on a non-text or preset on non-visual clip), ANIMATION_PHASE_MISMATCH (preset in the wrong slot). Each animated property is limited to 600 keyframes; loop duration must be at least 4 frames. `ANIMATION_TOO_LONG` is avoided during later length changes by proportional fitting.\n\n#### Speed, reverse and freeze\n\nVideo/audio Insert and Update accept playback as `{kind: \"rate\", rate: number, direction: \"forward\" | \"reverse\", audio: \"preservePitch\" | \"resample\" | \"mute\"}` or `{kind: \"freeze\"}`. Rate is finite and inclusive 0.25–4. Omitted playback defaults to 1× forward with preservePitch; supply the complete rate object when changing playback. preservePitch keeps pitch, resample changes pitch with speed, mute removes audio. Reverse requires explicit audio: \"mute\"; preservePitch/resample are rejected with UNSUPPORTED_PLAYBACK rather than silently muted. Freeze holds sourceIn and is silent. GetItem/GetTimeline echo playback and the source interval in seconds; sourceOut is exclusive even for reverse and equals sourceIn for freeze.\n\nUpdate of playback keeps output length unless length is also supplied. SetSpeed preserves direction/audio, rejects frozen and non-video/audio clips, and requires keep: \"source\" or \"duration\". keep: \"source\" computes round(consumed source / new rate × fps) frames, falling back to floor if rounding would exceed the source end; the returned length/sourceOut are actual frame-rounded seconds. keep: \"duration\" keeps output length and changes source consumption. Length conflicts fail with OVERLAP; move/shorten the conflicting clip, keep duration, or explicitly use ripple: true to shift following clips on the same track. Source overflow fails with OUT_OF_SOURCE; rate limits fail with RATE_OUT_OF_RANGE. Unknown playback fields and SetSpeed options are rejected with UNKNOWN_FIELD; options only accept keep and boolean ripple.\n\nExample for an existing four-second video/audio clip id: `Print(SetSpeed(id, 0.5, {keep: \"source\"})); Print(SetSpeed(id, 2, {keep: \"source\"}));` returns lengths 8 then 2, keeping the same source interval. Reverse: `Update(id, {playback: {kind: \"rate\", rate: 1, direction: \"reverse\", audio: \"mute\"}})`. Freeze: `Update(id, {playback: {kind: \"freeze\"}})`. Ensure enough source remains for the chosen length/rate. Browser reverse playback currently displays a placeholder; server-rendered Preview/frames and exports support reverse normally. Speed-adjusted audio is generated asynchronously after the edit transaction commits; exports wait for that audio before rendering.\n\n#### Script names versus HTTP response names\n\nUse camelCase inside scripts, including nested objects. HTTP request/response JSON outside script source uses snake_case. Map media.library_id → media.libraryId, media.asset_id → media.assetId, source_in → sourceIn, volume_db → volumeDb, fade_in/fade_out → fadeIn/fadeOut, transition_in/transition_out → transitionIn/transitionOut, font_family/font_size/font_weight/max_width → fontFamily/fontSize/fontWeight/maxWidth, gain_db → gainDb, highlight_color/max_lines → highlightColor/maxLines. Fields such as animate, reveal, fill, stroke, at and length retain their spelling. GetTimeline/GetItem already return camelCase compact views; the expanded retrieveTimeline HTTP response is not an Insert object.\n\nUnrecognized script fields fail with OPS_REJECTED and rejection code UNKNOWN_FIELD; snake_case mistakes suggest the corresponding camelCase name. The error message lists each rejection's #opIndex, code and reason. Correct the named fields and retry the saved edit; do not assume an ignored field applied an effect.\n",
|
|
10254
10254
|
"http": "POST",
|
|
10255
10255
|
"path": "/cut/v1/projects/{project_id}:execute",
|
|
10256
10256
|
"streaming": "no",
|
|
@@ -12475,6 +12475,18 @@ export const operations = [
|
|
|
12475
12475
|
],
|
|
12476
12476
|
"query": []
|
|
12477
12477
|
},
|
|
12478
|
+
{
|
|
12479
|
+
"resource": "media.generation.capabilities",
|
|
12480
|
+
"method": "list",
|
|
12481
|
+
"summary": "Get generation capabilities",
|
|
12482
|
+
"description": "Read supported text-to-video intent, default model, duration and aspect-ratio limits, per-library concurrency and candidate retention. Generation is charged per second; unsaved candidates expire after 7 days.",
|
|
12483
|
+
"http": "GET",
|
|
12484
|
+
"path": "/media/v1/generation/capabilities",
|
|
12485
|
+
"streaming": "no",
|
|
12486
|
+
"pagination": false,
|
|
12487
|
+
"pathParams": [],
|
|
12488
|
+
"query": []
|
|
12489
|
+
},
|
|
12478
12490
|
{
|
|
12479
12491
|
"resource": "media.libraries",
|
|
12480
12492
|
"method": "list",
|
|
@@ -13386,11 +13398,155 @@ export const operations = [
|
|
|
13386
13398
|
}
|
|
13387
13399
|
]
|
|
13388
13400
|
},
|
|
13401
|
+
{
|
|
13402
|
+
"resource": "media.libraries.generations",
|
|
13403
|
+
"method": "create",
|
|
13404
|
+
"summary": "Create video generation",
|
|
13405
|
+
"description": "Create a video.generate job. Generation is charged per second. The response is 202 with a queued Job; poll GET /media/v1/libraries/{library_id}/jobs/{job_id} until terminal, then save successful outputs. Unsaved candidate Files expire after 7 days.",
|
|
13406
|
+
"http": "POST",
|
|
13407
|
+
"path": "/media/v1/libraries/{library_id}/generations",
|
|
13408
|
+
"streaming": "no",
|
|
13409
|
+
"pagination": false,
|
|
13410
|
+
"pathParams": [
|
|
13411
|
+
{
|
|
13412
|
+
"name": "library_id",
|
|
13413
|
+
"sdkName": "library_id",
|
|
13414
|
+
"description": "Library ID returned by creation."
|
|
13415
|
+
}
|
|
13416
|
+
],
|
|
13417
|
+
"query": [],
|
|
13418
|
+
"body": {
|
|
13419
|
+
"required": true,
|
|
13420
|
+
"fields": [
|
|
13421
|
+
{
|
|
13422
|
+
"name": "intent",
|
|
13423
|
+
"type": "string",
|
|
13424
|
+
"required": true,
|
|
13425
|
+
"description": "Generation operation; v1 accepts only video.generate text-to-video requests."
|
|
13426
|
+
},
|
|
13427
|
+
{
|
|
13428
|
+
"name": "prompt",
|
|
13429
|
+
"type": "string",
|
|
13430
|
+
"required": true,
|
|
13431
|
+
"description": "Text prompt describing the video to generate."
|
|
13432
|
+
},
|
|
13433
|
+
{
|
|
13434
|
+
"name": "count",
|
|
13435
|
+
"type": "integer",
|
|
13436
|
+
"required": false,
|
|
13437
|
+
"description": "Number of videos to generate; defaults to 1 and must be from 1 to 4."
|
|
13438
|
+
},
|
|
13439
|
+
{
|
|
13440
|
+
"name": "duration_seconds",
|
|
13441
|
+
"type": "integer",
|
|
13442
|
+
"required": false,
|
|
13443
|
+
"description": "Requested video duration in seconds; Router validates the model-specific supported durations."
|
|
13444
|
+
},
|
|
13445
|
+
{
|
|
13446
|
+
"name": "aspect_ratio",
|
|
13447
|
+
"type": "string",
|
|
13448
|
+
"required": false,
|
|
13449
|
+
"description": "Requested output aspect ratio; defaults to 16:9 and Router validates model support."
|
|
13450
|
+
},
|
|
13451
|
+
{
|
|
13452
|
+
"name": "model",
|
|
13453
|
+
"type": "string",
|
|
13454
|
+
"required": false,
|
|
13455
|
+
"description": "Router model with video_generation capability; defaults to wan2.7-t2v."
|
|
13456
|
+
},
|
|
13457
|
+
{
|
|
13458
|
+
"name": "save",
|
|
13459
|
+
"type": "string",
|
|
13460
|
+
"enum": [
|
|
13461
|
+
"candidate",
|
|
13462
|
+
"library"
|
|
13463
|
+
],
|
|
13464
|
+
"required": false,
|
|
13465
|
+
"description": "candidate keeps outputs temporary for explicit save calls; library saves successful outputs automatically."
|
|
13466
|
+
},
|
|
13467
|
+
{
|
|
13468
|
+
"name": "asset_folder",
|
|
13469
|
+
"type": "string",
|
|
13470
|
+
"required": false,
|
|
13471
|
+
"description": "Folder for assets saved automatically or by later save calls; defaults to the library root. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out."
|
|
13472
|
+
},
|
|
13473
|
+
{
|
|
13474
|
+
"name": "tags",
|
|
13475
|
+
"type": "array",
|
|
13476
|
+
"itemType": "string",
|
|
13477
|
+
"required": false,
|
|
13478
|
+
"description": "Tags applied when an output becomes a library asset."
|
|
13479
|
+
},
|
|
13480
|
+
{
|
|
13481
|
+
"name": "understanding",
|
|
13482
|
+
"type": "string",
|
|
13483
|
+
"enum": [
|
|
13484
|
+
"auto",
|
|
13485
|
+
"skip"
|
|
13486
|
+
],
|
|
13487
|
+
"required": false,
|
|
13488
|
+
"description": "Understanding behavior when a candidate is saved as an asset; defaults to auto."
|
|
13489
|
+
},
|
|
13490
|
+
{
|
|
13491
|
+
"name": "references",
|
|
13492
|
+
"type": "array",
|
|
13493
|
+
"itemType": "object",
|
|
13494
|
+
"required": false,
|
|
13495
|
+
"description": "Not supported in v1; omit this field. Only text-to-video is currently available."
|
|
13496
|
+
}
|
|
13497
|
+
]
|
|
13498
|
+
}
|
|
13499
|
+
},
|
|
13500
|
+
{
|
|
13501
|
+
"resource": "media.libraries.jobs",
|
|
13502
|
+
"method": "list",
|
|
13503
|
+
"summary": "List jobs",
|
|
13504
|
+
"description": "List batch and video-generation jobs in a library. Filter by status and continue with next_cursor. Poll a generation Job until terminal, then save successful candidate outputs before they expire after 7 days.",
|
|
13505
|
+
"http": "GET",
|
|
13506
|
+
"path": "/media/v1/libraries/{library_id}/jobs",
|
|
13507
|
+
"streaming": "no",
|
|
13508
|
+
"pagination": true,
|
|
13509
|
+
"pathParams": [
|
|
13510
|
+
{
|
|
13511
|
+
"name": "library_id",
|
|
13512
|
+
"sdkName": "library_id",
|
|
13513
|
+
"description": "Library ID returned by creation."
|
|
13514
|
+
}
|
|
13515
|
+
],
|
|
13516
|
+
"query": [
|
|
13517
|
+
{
|
|
13518
|
+
"name": "status",
|
|
13519
|
+
"type": "string",
|
|
13520
|
+
"enum": [
|
|
13521
|
+
"queued",
|
|
13522
|
+
"running",
|
|
13523
|
+
"completed",
|
|
13524
|
+
"completed_with_errors",
|
|
13525
|
+
"failed",
|
|
13526
|
+
"cancelled"
|
|
13527
|
+
],
|
|
13528
|
+
"required": false,
|
|
13529
|
+
"description": "Filter jobs by their current status."
|
|
13530
|
+
},
|
|
13531
|
+
{
|
|
13532
|
+
"name": "limit",
|
|
13533
|
+
"type": "integer",
|
|
13534
|
+
"required": false,
|
|
13535
|
+
"description": "Maximum entries in this page, from 1 through 100; defaults to 100."
|
|
13536
|
+
},
|
|
13537
|
+
{
|
|
13538
|
+
"name": "cursor",
|
|
13539
|
+
"type": "string",
|
|
13540
|
+
"required": false,
|
|
13541
|
+
"description": "Job id from the previous page’s next_cursor; omit for the first page."
|
|
13542
|
+
}
|
|
13543
|
+
]
|
|
13544
|
+
},
|
|
13389
13545
|
{
|
|
13390
13546
|
"resource": "media.libraries.jobs",
|
|
13391
13547
|
"method": "retrieve",
|
|
13392
|
-
"summary": "Get job
|
|
13393
|
-
"description": "Read
|
|
13548
|
+
"summary": "Get job",
|
|
13549
|
+
"description": "Read the current batch or video-generation Job status and progress. For generation, inspect outputs and failures, then save successful candidates before their preview and save window expires after 7 days.",
|
|
13394
13550
|
"http": "GET",
|
|
13395
13551
|
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}",
|
|
13396
13552
|
"streaming": "no",
|
|
@@ -13404,11 +13560,96 @@ export const operations = [
|
|
|
13404
13560
|
{
|
|
13405
13561
|
"name": "job_id",
|
|
13406
13562
|
"sdkName": "job_id",
|
|
13407
|
-
"description": "
|
|
13563
|
+
"description": "Job identifier returned by batch creation, video-generation creation or job listing; resolved within this library."
|
|
13564
|
+
}
|
|
13565
|
+
],
|
|
13566
|
+
"query": []
|
|
13567
|
+
},
|
|
13568
|
+
{
|
|
13569
|
+
"resource": "media.libraries.jobs",
|
|
13570
|
+
"method": "cancel",
|
|
13571
|
+
"summary": "Cancel job",
|
|
13572
|
+
"description": "Cancel a queued or running generation job. Already completed outputs remain available to save; poll or read the returned Job to confirm its status.",
|
|
13573
|
+
"http": "POST",
|
|
13574
|
+
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}/cancel",
|
|
13575
|
+
"streaming": "no",
|
|
13576
|
+
"pagination": false,
|
|
13577
|
+
"pathParams": [
|
|
13578
|
+
{
|
|
13579
|
+
"name": "library_id",
|
|
13580
|
+
"sdkName": "library_id",
|
|
13581
|
+
"description": "Library ID returned by creation."
|
|
13582
|
+
},
|
|
13583
|
+
{
|
|
13584
|
+
"name": "job_id",
|
|
13585
|
+
"sdkName": "job_id",
|
|
13586
|
+
"description": "Job identifier returned by batch or generation creation; the job is resolved within the specified library."
|
|
13408
13587
|
}
|
|
13409
13588
|
],
|
|
13410
13589
|
"query": []
|
|
13411
13590
|
},
|
|
13591
|
+
{
|
|
13592
|
+
"resource": "media.libraries.jobs.outputs.save",
|
|
13593
|
+
"method": "create",
|
|
13594
|
+
"summary": "Save generation output",
|
|
13595
|
+
"description": "Save a successful candidate as a library asset. Candidate outputs expire after 7 days; save before expiry. Generation is charged per second when the job runs, not when an output is saved.",
|
|
13596
|
+
"http": "POST",
|
|
13597
|
+
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}/outputs/{index}/save",
|
|
13598
|
+
"streaming": "no",
|
|
13599
|
+
"pagination": false,
|
|
13600
|
+
"pathParams": [
|
|
13601
|
+
{
|
|
13602
|
+
"name": "library_id",
|
|
13603
|
+
"sdkName": "library_id",
|
|
13604
|
+
"description": "Library ID returned by creation."
|
|
13605
|
+
},
|
|
13606
|
+
{
|
|
13607
|
+
"name": "job_id",
|
|
13608
|
+
"sdkName": "job_id",
|
|
13609
|
+
"description": "Job identifier returned by batch or generation creation; the job is resolved within the specified library."
|
|
13610
|
+
},
|
|
13611
|
+
{
|
|
13612
|
+
"name": "index",
|
|
13613
|
+
"sdkName": "index",
|
|
13614
|
+
"description": "Zero-based position of the candidate in the Job outputs array."
|
|
13615
|
+
}
|
|
13616
|
+
],
|
|
13617
|
+
"query": [],
|
|
13618
|
+
"body": {
|
|
13619
|
+
"required": false,
|
|
13620
|
+
"fields": [
|
|
13621
|
+
{
|
|
13622
|
+
"name": "public_id",
|
|
13623
|
+
"type": "string",
|
|
13624
|
+
"required": false,
|
|
13625
|
+
"description": "Delivery identifier for the saved asset; defaults to gen_<job_id>_<index> and is idempotent."
|
|
13626
|
+
},
|
|
13627
|
+
{
|
|
13628
|
+
"name": "asset_folder",
|
|
13629
|
+
"type": "string",
|
|
13630
|
+
"required": false,
|
|
13631
|
+
"description": "Destination folder for the saved asset; defaults to the library root. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out."
|
|
13632
|
+
},
|
|
13633
|
+
{
|
|
13634
|
+
"name": "tags",
|
|
13635
|
+
"type": "array",
|
|
13636
|
+
"itemType": "string",
|
|
13637
|
+
"required": false,
|
|
13638
|
+
"description": "Tags to apply to the saved asset."
|
|
13639
|
+
},
|
|
13640
|
+
{
|
|
13641
|
+
"name": "understanding",
|
|
13642
|
+
"type": "string",
|
|
13643
|
+
"enum": [
|
|
13644
|
+
"auto",
|
|
13645
|
+
"skip"
|
|
13646
|
+
],
|
|
13647
|
+
"required": false,
|
|
13648
|
+
"description": "Understanding behavior for the saved asset; defaults to auto."
|
|
13649
|
+
}
|
|
13650
|
+
]
|
|
13651
|
+
}
|
|
13652
|
+
},
|
|
13412
13653
|
{
|
|
13413
13654
|
"resource": "media.libraries.purge",
|
|
13414
13655
|
"method": "create",
|
|
@@ -4230,6 +4230,11 @@ export declare function createKnowledge(transport: Transport): {
|
|
|
4230
4230
|
};
|
|
4231
4231
|
};
|
|
4232
4232
|
export declare function createMedia(transport: Transport): {
|
|
4233
|
+
generation: {
|
|
4234
|
+
capabilities: {
|
|
4235
|
+
list: (options?: import("./core/transport.js").CallOptions<Types.MediaGetGenerationCapabilitiesData> | undefined) => Promise<Types.MediaGenerationCapabilities>;
|
|
4236
|
+
};
|
|
4237
|
+
};
|
|
4233
4238
|
libraries: {
|
|
4234
4239
|
assets: {
|
|
4235
4240
|
batch: (options: import("./core/transport.js").CallOptions<Types.MediaBatchAssetsData>) => Promise<Types.MediaJob>;
|
|
@@ -4266,7 +4271,17 @@ export declare function createMedia(transport: Transport): {
|
|
|
4266
4271
|
folders: {
|
|
4267
4272
|
list: (options: import("./core/transport.js").CallOptions<Types.MediaListFoldersData>) => Promise<Types.MediaFolders>;
|
|
4268
4273
|
};
|
|
4274
|
+
generations: {
|
|
4275
|
+
create: (options: import("./core/transport.js").CallOptions<Types.MediaCreateGenerationData>) => Promise<Types.MediaJob>;
|
|
4276
|
+
};
|
|
4269
4277
|
jobs: {
|
|
4278
|
+
cancel: (options: import("./core/transport.js").CallOptions<Types.MediaCancelJobData>) => Promise<Types.MediaJob>;
|
|
4279
|
+
list: (options: import("./core/transport.js").CallOptions<Types.MediaListJobsData>) => Promise<import("./automation.js").Page<Types.MediaJob>>;
|
|
4280
|
+
outputs: {
|
|
4281
|
+
save: {
|
|
4282
|
+
create: (options: import("./core/transport.js").CallOptions<Types.MediaSaveGenerationOutputData>) => Promise<Types.MediaAsset>;
|
|
4283
|
+
};
|
|
4284
|
+
};
|
|
4270
4285
|
retrieve: (options: import("./core/transport.js").CallOptions<Types.MediaGetJobData>) => Promise<Types.MediaJob>;
|
|
4271
4286
|
};
|
|
4272
4287
|
list: (options?: import("./core/transport.js").CallOptions<Types.MediaListLibrariesData> | undefined) => Promise<import("./automation.js").Page<Types.MediaLibrary>>;
|
|
@@ -628,6 +628,11 @@ export function createKnowledge(transport) {
|
|
|
628
628
|
}
|
|
629
629
|
export function createMedia(transport) {
|
|
630
630
|
return {
|
|
631
|
+
generation: {
|
|
632
|
+
capabilities: {
|
|
633
|
+
list: bind(transport, sdk.mediaGetGenerationCapabilities),
|
|
634
|
+
},
|
|
635
|
+
},
|
|
631
636
|
libraries: {
|
|
632
637
|
assets: {
|
|
633
638
|
batch: bind(transport, sdk.mediaBatchAssets),
|
|
@@ -664,7 +669,17 @@ export function createMedia(transport) {
|
|
|
664
669
|
folders: {
|
|
665
670
|
list: bind(transport, sdk.mediaListFolders),
|
|
666
671
|
},
|
|
672
|
+
generations: {
|
|
673
|
+
create: bind(transport, sdk.mediaCreateGeneration),
|
|
674
|
+
},
|
|
667
675
|
jobs: {
|
|
676
|
+
cancel: bind(transport, sdk.mediaCancelJob),
|
|
677
|
+
list: bindPage(transport, sdk.mediaListJobs),
|
|
678
|
+
outputs: {
|
|
679
|
+
save: {
|
|
680
|
+
create: bind(transport, sdk.mediaSaveGenerationOutput),
|
|
681
|
+
},
|
|
682
|
+
},
|
|
668
683
|
retrieve: bind(transport, sdk.mediaGetJob),
|
|
669
684
|
},
|
|
670
685
|
list: bindPage(transport, sdk.mediaListLibraries),
|