@deepraxis/sdk 0.1.1-dev.da4893e → 0.1.1-dev.daf3004
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 +91 -1
- package/README.md +2 -2
- package/dist/core/errors.d.ts +6 -0
- package/dist/core/errors.js +8 -0
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +303 -117
- package/dist/generated/sdk.gen.js +546 -116
- package/dist/generated/types.gen.d.ts +3044 -270
- package/dist/operations.generated.d.ts +760 -28
- package/dist/operations.generated.js +1318 -419
- package/dist/resources.generated.d.ts +76 -8
- package/dist/resources.generated.js +58 -0
- package/package.json +2 -2
|
@@ -135,7 +135,7 @@ export const operations = [
|
|
|
135
135
|
"type": "array",
|
|
136
136
|
"itemType": "object",
|
|
137
137
|
"required": false,
|
|
138
|
-
"description": "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; general and personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or
|
|
138
|
+
"description": "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; general and personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search, browser, ticket, crm, canvas or cut. There is no binding by default; enabling one opens every public method of that service. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time."
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
"name": "kind",
|
|
@@ -1160,6 +1160,35 @@ export const operations = [
|
|
|
1160
1160
|
}
|
|
1161
1161
|
]
|
|
1162
1162
|
},
|
|
1163
|
+
{
|
|
1164
|
+
"resource": "agent.computers.files.convert",
|
|
1165
|
+
"method": "create",
|
|
1166
|
+
"summary": "Convert a Computer Document to PDF",
|
|
1167
|
+
"description": "Convert an Office document (docx, doc, ppt, pptx, rtf, odt; up to 16 MiB) to PDF inside a platform-owned ephemeral document sandbox, whatever machine family the computer itself runs on. Returns base64 PDF bytes.\n\nPraxis extension: the preview conversion endpoint. The browser never parses an untrusted document — LibreOffice runs only inside an ephemeral document-family sandbox and the converter instance is killed after use. The file stays tenant-owned; non-convertible types answer EXTENSION_NOT_CONVERTIBLE and a failed conversion answers CONVERSION_FAILED.",
|
|
1168
|
+
"http": "POST",
|
|
1169
|
+
"path": "/agent/v1/computers/{computer_id}/files/convert",
|
|
1170
|
+
"streaming": "no",
|
|
1171
|
+
"pagination": false,
|
|
1172
|
+
"pathParams": [
|
|
1173
|
+
{
|
|
1174
|
+
"name": "computer_id",
|
|
1175
|
+
"sdkName": "computer_id",
|
|
1176
|
+
"description": "Computer id (cmp_...), as returned by computers.create or computers.list."
|
|
1177
|
+
}
|
|
1178
|
+
],
|
|
1179
|
+
"query": [],
|
|
1180
|
+
"body": {
|
|
1181
|
+
"required": true,
|
|
1182
|
+
"fields": [
|
|
1183
|
+
{
|
|
1184
|
+
"name": "name",
|
|
1185
|
+
"type": "string",
|
|
1186
|
+
"required": true,
|
|
1187
|
+
"description": "Name of the entry or object."
|
|
1188
|
+
}
|
|
1189
|
+
]
|
|
1190
|
+
}
|
|
1191
|
+
},
|
|
1163
1192
|
{
|
|
1164
1193
|
"resource": "agent.computers.leases",
|
|
1165
1194
|
"method": "delete",
|
|
@@ -5987,7 +6016,7 @@ export const operations = [
|
|
|
5987
6016
|
"allow"
|
|
5988
6017
|
],
|
|
5989
6018
|
"required": false,
|
|
5990
|
-
"description": "skip
|
|
6019
|
+
"description": "skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow."
|
|
5991
6020
|
},
|
|
5992
6021
|
{
|
|
5993
6022
|
"name": "catchup_window_seconds",
|
|
@@ -6161,7 +6190,7 @@ export const operations = [
|
|
|
6161
6190
|
"allow"
|
|
6162
6191
|
],
|
|
6163
6192
|
"required": false,
|
|
6164
|
-
"description": "skip
|
|
6193
|
+
"description": "skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow."
|
|
6165
6194
|
},
|
|
6166
6195
|
{
|
|
6167
6196
|
"name": "catchup_window_seconds",
|
|
@@ -10027,6 +10056,12 @@ export const operations = [
|
|
|
10027
10056
|
"type": "integer",
|
|
10028
10057
|
"required": false,
|
|
10029
10058
|
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
10059
|
+
},
|
|
10060
|
+
{
|
|
10061
|
+
"name": "loudness",
|
|
10062
|
+
"type": "object",
|
|
10063
|
+
"required": false,
|
|
10064
|
+
"description": "Loudness normalization target. Omitted, the export is normalized to -14 LUFS integrated and -1 dBTP true peak, the level short-video and streaming platforms play at; null renders without normalization. Normalization adds analysis and rendering work."
|
|
10030
10065
|
}
|
|
10031
10066
|
]
|
|
10032
10067
|
}
|
|
@@ -10035,7 +10070,7 @@ export const operations = [
|
|
|
10035
10070
|
"resource": "cut.projects.frames",
|
|
10036
10071
|
"method": "list",
|
|
10037
10072
|
"summary": "Render preview frames",
|
|
10038
|
-
"description": "Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Request at most eight times. Each returned url is an inline PNG data URL (data:image/png;base64,...), not a hosted HTTP image link. The default scale is 0.25; use 0.5 for subtitle layout inspection (1080×1920 renders at 540×960). The maximum is 0.5; values above it return INVALID_PARAMS. Actual width and height are returned per frame. PNGs above 2 MiB or responses above 4 MiB return RESPONSE_TOO_LARGE without silently lowering resolution.
|
|
10073
|
+
"description": "Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Request at most eight times. Each returned url is an inline PNG data URL (data:image/png;base64,...), not a hosted HTTP image link. The default scale is 0.25; use 0.5 for subtitle layout inspection (1080×1920 renders at 540×960). The maximum is 0.5; values above it return INVALID_PARAMS. Actual width and height are returned per frame. PNGs above 2 MiB or responses above 4 MiB return RESPONSE_TOO_LARGE without silently lowering resolution. The response always includes warnings; FRAME_UNAVAILABLE means a source preview could not be obtained and an offline tile was drawn. Its message identifies a timeout, delivery capacity limit, or unavailable source and contains no source URL. Decode each image's base64 payload to save it. Codemode returns at most four images per call, so request at most four times when reviewing there.",
|
|
10039
10074
|
"http": "GET",
|
|
10040
10075
|
"path": "/cut/v1/projects/{project_id}/frames",
|
|
10041
10076
|
"streaming": "no",
|
|
@@ -10109,6 +10144,57 @@ export const operations = [
|
|
|
10109
10144
|
]
|
|
10110
10145
|
}
|
|
10111
10146
|
},
|
|
10147
|
+
{
|
|
10148
|
+
"resource": "cut.projects.renders",
|
|
10149
|
+
"method": "create",
|
|
10150
|
+
"summary": "Create draft range render",
|
|
10151
|
+
"description": "Render one interval of the timeline so you can hear or look at how that passage comes out, without publishing anything to a media library. Choose kind audio for the mixed soundtrack as an .m4a file, or kind video for a draft-quality .mp4 with picture and sound. from and to are seconds on the project clock and must satisfy 0 <= from < to, to <= the timeline duration, and to - from <= 120; a longer passage is requested in several 分段请求 ranges and joined by the caller. The result is a temporary file (purpose user_data) that expires 24 hours after it is stored and is never imported into a library, so it is not a deliverable and carries no cut-export tag. HTTP 202 only accepts the job; poll praxis.cut.renders.retrieve using the returned id until status is done or failed, then read url while it lasts. A draft also bills like a draft export, by rendered seconds. Each project runs at most 2 draft renders at a time, a budget separate from its exports; a third answers HTTP 429 CUT_BUSY and the same call succeeds once one finishes.",
|
|
10152
|
+
"http": "POST",
|
|
10153
|
+
"path": "/cut/v1/projects/{project_id}/renders",
|
|
10154
|
+
"streaming": "no",
|
|
10155
|
+
"pagination": false,
|
|
10156
|
+
"pathParams": [
|
|
10157
|
+
{
|
|
10158
|
+
"name": "project_id",
|
|
10159
|
+
"sdkName": "project_id",
|
|
10160
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
10161
|
+
}
|
|
10162
|
+
],
|
|
10163
|
+
"query": [],
|
|
10164
|
+
"body": {
|
|
10165
|
+
"required": true,
|
|
10166
|
+
"fields": [
|
|
10167
|
+
{
|
|
10168
|
+
"name": "kind",
|
|
10169
|
+
"type": "string",
|
|
10170
|
+
"enum": [
|
|
10171
|
+
"audio",
|
|
10172
|
+
"video"
|
|
10173
|
+
],
|
|
10174
|
+
"required": true,
|
|
10175
|
+
"description": "audio renders the mixed soundtrack alone as an .m4a file for listening; video renders a draft-quality .mp4 with picture and sound for looking at. An audio draft is the cheaper of the two and is what a loudness or mix measurement asks for."
|
|
10176
|
+
},
|
|
10177
|
+
{
|
|
10178
|
+
"name": "from",
|
|
10179
|
+
"type": "number",
|
|
10180
|
+
"required": true,
|
|
10181
|
+
"description": "Start of the interval in seconds on the project clock, inclusive. Must be less than to."
|
|
10182
|
+
},
|
|
10183
|
+
{
|
|
10184
|
+
"name": "to",
|
|
10185
|
+
"type": "number",
|
|
10186
|
+
"required": true,
|
|
10187
|
+
"description": "End of the interval in seconds on the project clock, exclusive. At most 120 seconds after from, and never beyond the timeline duration; a longer passage is requested as several ranges."
|
|
10188
|
+
},
|
|
10189
|
+
{
|
|
10190
|
+
"name": "revision",
|
|
10191
|
+
"type": "integer",
|
|
10192
|
+
"required": false,
|
|
10193
|
+
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
10194
|
+
}
|
|
10195
|
+
]
|
|
10196
|
+
}
|
|
10197
|
+
},
|
|
10112
10198
|
{
|
|
10113
10199
|
"resource": "cut.projects",
|
|
10114
10200
|
"method": "retrieveState",
|
|
@@ -10250,7 +10336,7 @@ export const operations = [
|
|
|
10250
10336
|
"resource": "cut.projects",
|
|
10251
10337
|
"method": "execute",
|
|
10252
10338
|
"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[];\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 the catalog defaults. Unknown kinds and unknown or invalid parameters are rejected. Effects: dissolve (no parameters); dip (color black/white, default black); push and wipe (direction left/right/up/down, default left); wipe also has softness 0–1, default 0; iris has centerX/centerY 0–1, both default 0.5; blinds has integer count 2–64, default 8, and orientation vertical/horizontal, default vertical; blur has radius 0–100 pixels at 1080-pixel frame height, default 24. 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, stroke, background, align, maxWidth, position, margin}`. fontFamily: Geist or Noto Sans SC (default); fontSize defaults to 48; fontWeight: 400 (default), 500 or 700; color defaults to #FFFFFF; align: left, center (default), right; maxWidth is a fraction of canvas width (default 0.9). stroke is `{color,width}`. Text and captions support position (top/middle/bottom; box centers at 12%/50%/85% of height without margin) and optional margin (0–0.4 of canvas height, box edge distance for top/bottom; middle ignores it). Omitted position preserves the text transform (center by default); explicit position controls vertical placement, so omit it for y animation. Caption style additionally supports highlightColor and maxLines: 2. GetItem and GetTimeline return text style and current caption track style. Caption tracks only accept captions; use AddCaptionsFromTranscript, and place text on video tracks. |\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",
|
|
10339
|
+
"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<!-- cut-reference:start -->\n### Script function, field and error reference\n\nEvery script function, clip field and error code has its own section, read one at a time:\n\n```\ncodemode.describe(\"praxis.cut.script.<Name>\") // one function: signature, arguments, return, errors, example\ncodemode.describe(\"praxis.cut.fields.<name>\") // one field: type, unit, range, default, where writable\ncodemode.describe(\"praxis.cut.errors.<CODE>\") // one code: meaning, causes, fix\ncodemode.describe(\"praxis.cut.script\") // names, one page at a time\n```\n\nPublished at https://docs.deepraxis.com/docs/developers/cut/script-reference with one anchor per entry. Names below omit the `praxis.cut.<kind>.` prefix.\n\n#### Script functions (script)\n\n- `GetTimeline` — Duration, tracks, joins; clips are under `items`.\n- `GetItem` — One clip's compact view, by id.\n- `FindItems` — Visit every clip with its track; collect results.\n- `GetMedia` — Media metadata; `durationUs` is microseconds.\n- `GetTranscript` — Transcript words in source microseconds.\n- `GetAnalysis` — Silence, filler or scene segments.\n- `ListTransitions` — Join transition kinds and parameters.\n- `ListEffects` — Visual-effect catalog and parameters.\n- `ListAnimations` — Animation presets by phase and target.\n- `ListFonts` — Font families, weights and scripts.\n- `ListTextStyles` — Text style presets for `style.preset`.\n- `ListTextTemplates` — Multi-layer templates and their slots.\n- `Insert` — Add a clip; a track never overlaps itself.\n- `Append` — Add a clip at the end of a track.\n- `Update` — Change named fields; the rest stay.\n- `SetSpeed` — Change rate, keeping source or duration.\n- `Delete` — Remove a clip. There is no `Remove`.\n- `Join` — Overlap clips; followers shift, track shortens.\n- `UpdateJoin` — Change a join's length or effect.\n- `DeleteJoin` — Remove a join; restore the butt cut.\n- `Split` — Cut a clip in two at a time.\n- `Trim` — Move one clip edge by seconds.\n- `Move` — Set a clip's start or track.\n- `RippleDeleteRange` — Cut a time range and close the gap.\n- `AddTrack` — Add a video, audio or caption track.\n- `UpdateTrack` — Change a track's name, lock, gain or role.\n- `DeleteTrack` — Remove a track and its clips.\n- `SetSettings` — Change canvas, frame rate or background.\n- `AddCaptionsFromTranscript` — Captions from a clip's kept words.\n- `InsertTemplate` — Insert a template and fill its slots.\n- `AlignCaptions` — Rebuild captions from text punctuation.\n- `ImportCaptions` — Import SRT or WebVTT onto captions.\n- `ExportCaptions` — Export captions as SRT or WebVTT.\n- `SetMarker` — Label a timeline position.\n- `Print` — Append values to the result's `prints`.\n- `Preview` — Up to 8 frames as inline PNG data URLs.\n\n#### Fields (fields)\n\n- `type` — Clip kind; decides which fields apply.\n- `start` — Clip start in seconds; snaps to frames.\n- `length` — Duration; optional for video and audio.\n- `media` — Source `{ libraryId, assetId }`.\n- `sourceIn` — First source second kept; default 0.\n- `sourceOut` — Exclusive source end; read-only.\n- `text` — Text of a text or caption clip.\n- `color` — Solid colour of a color clip.\n- `shape` — Shape clip kind: `rect` or `ellipse`.\n- `width` — Shape width, a fraction of canvas width.\n- `height` — Shape height, a fraction of canvas height.\n- `radius` — Rect corner rounding, in 1080-height px.\n- `fill` — Shape or text paint: colour or gradient.\n- `stroke` — Shape outline: colour and width.\n- `transform` — Position, scale, rotation, opacity, crop, blur.\n- `fit` — contain, cover, fill or none.\n- `blend` — Layer blend mode; null clears.\n- `style` — Text styling: font, fill, strokes, glow, position.\n- `style.position` — top, middle or bottom; omit it, never null.\n- `playback` — Rate, direction, audio policy, or freeze.\n- `volumeDb` — Audio level in dB; 0 is source level.\n- `gain` — Keyframed audio level in dB.\n- `fadeIn` — Fade-in seconds at the clip's start.\n- `fadeOut` — Fade-out seconds at the clip's end.\n- `duck` — Lower this clip while another track plays.\n- `animate` — Transform keyframes; `at` is clip-relative seconds.\n- `reveal` — Per-character, word or line reveal timing.\n- `animation` — Preset slots `{ in, out, loop }`; null clears.\n- `effects` — Effect stack, at most 8; null clears.\n- `transitionIn` — Entrance effect: kind plus seconds.\n- `transitionOut` — Exit effect: kind plus seconds.\n- `mask` — Shape, path or track matte.\n- `words` — Caption words with clip-local times.\n\n#### Error codes (errors)\n\n- `JOIN_CONFLICT` — A join is invalid or blocks this edit.\n- `INVALID_TRANSITION` — Bad transition kind, parameter or length.\n- `INVALID_STYLE` — A style value is out of range.\n- `INVALID_MASK` — A mask definition is malformed.\n- `MASK_IN_USE` — The edit would break a live mask.\n- `TOO_MANY_MASKS` — At most 16 masks per project.\n- `RATE_OUT_OF_RANGE` — A rate is outside 0.25-4.\n- `UNSUPPORTED_PLAYBACK` — Reverse without an explicit mute.\n- `INVALID_PLAYBACK` — A playback object is partial or malformed.\n- `UNKNOWN_FONT` — The family is not in `ListFonts()`.\n- `UNKNOWN_FIELD` — The field name is not accepted here.\n- `UNKNOWN_TEXT_STYLE` — `style.preset` is not in the catalog.\n- `TEXT_STYLE_TARGET_MISMATCH` — Preset on the wrong clip type.\n- `CAPTION_ALIGN_LOW_CONFIDENCE` — Alignment confidence too low; nothing changed.\n- `OVERLAP` — Two clips on one track would share time.\n- `OUT_OF_SOURCE` — The clip would read past its source.\n- `LOCKED_TRACK` — The edit targets a locked track.\n- `UNBOUND_LIBRARY` — The library is not bound to the project.\n- `TRACK_KIND_MISMATCH` — The clip type does not fit the track.\n- `NOT_FOUND` — The named id is not in this project.\n- `TOO_SHORT` — The result would be under one frame.\n- `INVALID_DUCK` — Bad `duck` level or a missing track.\n- `UNKNOWN_ANIMATION` — The preset is not in `ListAnimations()`.\n- `INVALID_ANIMATION_PARAM` — Bad slot, parameter or keyframe limit.\n- `ANIMATION_TOO_LONG` — In plus out exceed the clip length.\n- `ANIMATION_TARGET_MISMATCH` — The preset does not match the clip type.\n- `ANIMATION_PHASE_MISMATCH` — The preset is in the wrong slot.\n- `UNKNOWN_EFFECT` — The effect is not in `ListEffects()`.\n- `INVALID_EFFECT_PARAM` — Bad effect parameter or keyframe.\n- `TOO_MANY_EFFECTS` — More than 8 effects on one clip.\n- `PROJECT_NOT_FOUND` — No visible project has this id.\n- `EXPORT_NOT_FOUND` — No such export in this project.\n- `VERSION_NOT_FOUND` — No saved version has this revision.\n- `LIBRARY_NOT_FOUND` — The library is missing or invisible.\n- `BINDING_INVALID` — The binding request is malformed.\n- `BINDING_IN_USE` — Clips still use this library's assets.\n- `NOTHING_TO_UNDO` — No earlier revision to return to.\n- `NOTHING_TO_REDO` — No undone revision is waiting.\n- `UNDO_CONFLICT` — The revision to undo is no longer head.\n- `REVISION_CONFLICT` — The project moved; your revision is stale.\n- `CUT_BUSY` — The project is busy; retry.\n- `INVALID_CAPTION_FILE` — The subtitle file is malformed or too big.\n- `SCRIPT_ERROR` — The script threw or did not parse.\n- `SCRIPT_LIMIT` — An execute budget was exceeded.\n- `OPS_REJECTED` — An op failed; the whole edit rolled back.\n- `EDIT_EXPIRED` — The saved edit id is over ten minutes old.\n- `MEDIA_OFFLINE` — The asset cannot be fetched right now.\n- `MEDIA_UNAVAILABLE` — The asset is not usable for rendering.\n- `MEDIA_IMPORT_FAILED` — Importing media failed.\n- `FRAME_OUT_OF_RANGE` — The preview time is outside the project.\n- `PROJECT_TOO_LARGE` — The project exceeds the size limit.\n- `RESPONSE_TOO_LARGE` — The response would exceed its budget.\n- `EXPORT_FAILED` — The render failed; read `error.cause`.\n- `INVALID_PARAMS` — The request is malformed.\n- `PERMISSION_DENIED` — This credential may not do that here.\n- `NOT_IMPLEMENTED` — Not available on this platform yet.\n- `INTERNAL` — Unexpected failure; retry with the request id.\n<!-- cut-reference:end -->\n",
|
|
10254
10340
|
"http": "POST",
|
|
10255
10341
|
"path": "/cut/v1/projects/{project_id}:execute",
|
|
10256
10342
|
"streaming": "no",
|
|
@@ -10312,6 +10398,24 @@ export const operations = [
|
|
|
10312
10398
|
],
|
|
10313
10399
|
"query": []
|
|
10314
10400
|
},
|
|
10401
|
+
{
|
|
10402
|
+
"resource": "cut.renders",
|
|
10403
|
+
"method": "retrieve",
|
|
10404
|
+
"summary": "Retrieve draft range render",
|
|
10405
|
+
"description": "Poll a draft render id returned by projects.renders.create to see whether the interval is ready, then read url while it lasts. queued and rendering are in progress; done provides file_id and a short-lived url for the rendered .m4a or .mp4; failed provides error. Only done yields a url, and the file behind it disappears 24 hours after it was stored, so retrieve again when the link has expired.",
|
|
10406
|
+
"http": "GET",
|
|
10407
|
+
"path": "/cut/v1/renders/{render_id}",
|
|
10408
|
+
"streaming": "no",
|
|
10409
|
+
"pagination": false,
|
|
10410
|
+
"pathParams": [
|
|
10411
|
+
{
|
|
10412
|
+
"name": "render_id",
|
|
10413
|
+
"sdkName": "render_id",
|
|
10414
|
+
"description": "Draft render id (cutr_…) returned by projects.renders.create."
|
|
10415
|
+
}
|
|
10416
|
+
],
|
|
10417
|
+
"query": []
|
|
10418
|
+
},
|
|
10315
10419
|
{
|
|
10316
10420
|
"resource": "cut.versions",
|
|
10317
10421
|
"method": "restore",
|
|
@@ -11492,7 +11596,7 @@ export const operations = [
|
|
|
11492
11596
|
"resource": "file.uploads",
|
|
11493
11597
|
"method": "create",
|
|
11494
11598
|
"summary": "Create an upload",
|
|
11495
|
-
"description": "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most
|
|
11599
|
+
"description": "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 20 GiB (21474836480 bytes) and only user_data, assistants and vision purposes. Send parts of at most 64000000 bytes; an unfinished upload waits for them for 7 days, so a client can create → send parts → query GET /file/v1/uploads/{upload_id} → resend only the missing parts → complete. Optional part_size fixes every part length and makes each numbered part retryable with identical bytes. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.",
|
|
11496
11600
|
"http": "POST",
|
|
11497
11601
|
"path": "/file/v1/uploads",
|
|
11498
11602
|
"streaming": "no",
|
|
@@ -11506,7 +11610,7 @@ export const operations = [
|
|
|
11506
11610
|
"name": "bytes",
|
|
11507
11611
|
"type": "integer",
|
|
11508
11612
|
"required": true,
|
|
11509
|
-
"description": "Exact complete file length in bytes, from 1 through
|
|
11613
|
+
"description": "Exact complete file length in bytes, from 1 through 21474836480 (20 GiB); the sum of completed parts must match."
|
|
11510
11614
|
},
|
|
11511
11615
|
{
|
|
11512
11616
|
"name": "filename",
|
|
@@ -11550,7 +11654,7 @@ export const operations = [
|
|
|
11550
11654
|
"resource": "file.uploads",
|
|
11551
11655
|
"method": "createSigned",
|
|
11552
11656
|
"summary": "Create a one-time upload URL",
|
|
11553
|
-
"description": "Upload a local file of up to
|
|
11657
|
+
"description": "Upload a local file of up to 20 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes) and PUT each chunk to its numbered parts[].url in any order; an interrupted client GETs status_url to see the received parts and resends only what is missing, then POSTs complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 604800 (7 days) for multipart, at most 604800; all multipart URLs, including status_url, share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {\"filename\":\"photo.png\",\"bytes\":2048,\"content_type\":\"image/png\"}.",
|
|
11554
11658
|
"http": "POST",
|
|
11555
11659
|
"path": "/file/v1/uploads/signed",
|
|
11556
11660
|
"streaming": "no",
|
|
@@ -11570,7 +11674,7 @@ export const operations = [
|
|
|
11570
11674
|
"name": "bytes",
|
|
11571
11675
|
"type": "integer",
|
|
11572
11676
|
"required": true,
|
|
11573
|
-
"description": "Exact local file size in bytes, from 1 through
|
|
11677
|
+
"description": "Exact local file size in bytes, from 1 through 21474836480 (20 GiB). Up to 104857600 bytes returns one PUT URL; larger files return numbered part URLs, a completion URL and a status URL. Every PUT requires its exact signed Content-Length."
|
|
11574
11678
|
},
|
|
11575
11679
|
{
|
|
11576
11680
|
"name": "content_type",
|
|
@@ -11593,7 +11697,7 @@ export const operations = [
|
|
|
11593
11697
|
"name": "expires_in",
|
|
11594
11698
|
"type": "integer",
|
|
11595
11699
|
"required": false,
|
|
11596
|
-
"description": "Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or
|
|
11700
|
+
"description": "Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or 604800 (7 days) for multipart. All part URLs, the status URL and the completion URL share one expiry. This does not set the resulting file's lifetime."
|
|
11597
11701
|
},
|
|
11598
11702
|
{
|
|
11599
11703
|
"name": "part_size",
|
|
@@ -11604,6 +11708,24 @@ export const operations = [
|
|
|
11604
11708
|
]
|
|
11605
11709
|
}
|
|
11606
11710
|
},
|
|
11711
|
+
{
|
|
11712
|
+
"resource": "file.uploads",
|
|
11713
|
+
"method": "retrieve",
|
|
11714
|
+
"summary": "Retrieve an upload",
|
|
11715
|
+
"description": "Read the state of an unfinished upload — its status, declared bytes, fixed part_size and the parts it already holds (received_parts, each with part_number, bytes and sha256). After a break or a failed part, call it to resend only the missing numbers, then complete. A cancelled or expired upload is refused; a completed one returns its file. A missing or other-organization upload returns 404.",
|
|
11716
|
+
"http": "GET",
|
|
11717
|
+
"path": "/file/v1/uploads/{upload_id}",
|
|
11718
|
+
"streaming": "no",
|
|
11719
|
+
"pagination": false,
|
|
11720
|
+
"pathParams": [
|
|
11721
|
+
{
|
|
11722
|
+
"name": "upload_id",
|
|
11723
|
+
"sdkName": "upload_id",
|
|
11724
|
+
"description": "Upload identifier returned by create; the upload must belong to your organization."
|
|
11725
|
+
}
|
|
11726
|
+
],
|
|
11727
|
+
"query": []
|
|
11728
|
+
},
|
|
11607
11729
|
{
|
|
11608
11730
|
"resource": "file.uploads",
|
|
11609
11731
|
"method": "cancel",
|
|
@@ -11626,7 +11748,7 @@ export const operations = [
|
|
|
11626
11748
|
"resource": "file.uploads",
|
|
11627
11749
|
"method": "complete",
|
|
11628
11750
|
"summary": "Complete an upload",
|
|
11629
|
-
"description": "Assemble the uploaded parts into a file. Supply upload_id from create and part_ids from addPart in file byte order; their sizes must total the declared bytes. Optional md5 verifies the assembled content. Retrying identical part_ids and normalized md5 returns the same result; different inputs return 409. Unlike OpenAI, completed can contain a file still processing (status uploaded). Poll files.retrieve using file.id until status processed (own face state active); error, expiry or 404 means processing failed and the file cannot be used.",
|
|
11751
|
+
"description": "Assemble the uploaded parts into a file. Supply upload_id from create and part_ids from addPart in file byte order; their sizes must total the declared bytes. When parts were lost, query GET /file/v1/uploads/{upload_id} and resend them before completing. Optional md5 verifies the assembled content. Retrying identical part_ids and normalized md5 returns the same result; different inputs return 409. Unlike OpenAI, completed can contain a file still processing (status uploaded). Poll files.retrieve using file.id until status processed (own face state active); error, expiry or 404 means processing failed and the file cannot be used.",
|
|
11630
11752
|
"http": "POST",
|
|
11631
11753
|
"path": "/file/v1/uploads/{upload_id}/complete",
|
|
11632
11754
|
"streaming": "no",
|
|
@@ -11662,7 +11784,7 @@ export const operations = [
|
|
|
11662
11784
|
"resource": "file.uploads.parts",
|
|
11663
11785
|
"method": "create",
|
|
11664
11786
|
"summary": "Add an upload part",
|
|
11665
|
-
"description": "Send one nonempty part as the multipart data field, at most 64000000 bytes. Parts may arrive concurrently in any order. Use upload_id from create. For a fixed-size upload, supply part_number starting at 1 and exactly part_size bytes except for the final remainder; retry the same number with identical bytes to recover its part ID. Without part_size, each request creates a new part and part_number is ignored. Save the returned part IDs for complete.",
|
|
11787
|
+
"description": "Send one nonempty part as the multipart data field, at most 64000000 bytes. Parts may arrive concurrently in any order. Use upload_id from create. For a fixed-size upload, supply part_number starting at 1 and exactly part_size bytes except for the final remainder; retry the same number with identical bytes to recover its part ID, and query GET /file/v1/uploads/{upload_id} to see which numbers already arrived. Without part_size, each request creates a new part and part_number is ignored. Save the returned part IDs for complete.",
|
|
11666
11788
|
"http": "POST",
|
|
11667
11789
|
"path": "/file/v1/uploads/{upload_id}/parts",
|
|
11668
11790
|
"streaming": "no",
|
|
@@ -12475,6 +12597,18 @@ export const operations = [
|
|
|
12475
12597
|
],
|
|
12476
12598
|
"query": []
|
|
12477
12599
|
},
|
|
12600
|
+
{
|
|
12601
|
+
"resource": "media.generation.capabilities",
|
|
12602
|
+
"method": "list",
|
|
12603
|
+
"summary": "Get generation capabilities",
|
|
12604
|
+
"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.",
|
|
12605
|
+
"http": "GET",
|
|
12606
|
+
"path": "/media/v1/generation/capabilities",
|
|
12607
|
+
"streaming": "no",
|
|
12608
|
+
"pagination": false,
|
|
12609
|
+
"pathParams": [],
|
|
12610
|
+
"query": []
|
|
12611
|
+
},
|
|
12478
12612
|
{
|
|
12479
12613
|
"resource": "media.libraries",
|
|
12480
12614
|
"method": "list",
|
|
@@ -12699,7 +12833,7 @@ export const operations = [
|
|
|
12699
12833
|
"resource": "media.libraries.assets",
|
|
12700
12834
|
"method": "create",
|
|
12701
12835
|
"summary": "Upload asset",
|
|
12702
|
-
"description": " For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged.
|
|
12836
|
+
"description": " For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.",
|
|
12703
12837
|
"http": "POST",
|
|
12704
12838
|
"path": "/media/v1/libraries/{library_id}/assets",
|
|
12705
12839
|
"streaming": "no",
|
|
@@ -12823,7 +12957,7 @@ export const operations = [
|
|
|
12823
12957
|
"resource": "media.libraries.assets.import",
|
|
12824
12958
|
"method": "create",
|
|
12825
12959
|
"summary": "Import file",
|
|
12826
|
-
"description": "Copy a File into an independent Media asset. New assets default to organization-private delivery (type=authenticated); explicitly set type=upload for public originals and derivatives. Omitting type on overwrite preserves the current type. Deleting the source File does not delete this copy. For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged.
|
|
12960
|
+
"description": "Copy a File into an independent Media asset. New assets default to organization-private delivery (type=authenticated); explicitly set type=upload for public originals and derivatives. Omitting type on overwrite preserves the current type. Deleting the source File does not delete this copy. For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.",
|
|
12827
12961
|
"http": "POST",
|
|
12828
12962
|
"path": "/media/v1/libraries/{library_id}/assets/import",
|
|
12829
12963
|
"streaming": "no",
|
|
@@ -13091,7 +13225,7 @@ export const operations = [
|
|
|
13091
13225
|
"resource": "media.libraries.assets.reprocess",
|
|
13092
13226
|
"method": "create",
|
|
13093
13227
|
"summary": "Reprocess asset",
|
|
13094
|
-
"description": " For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged.
|
|
13228
|
+
"description": " For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.",
|
|
13095
13229
|
"http": "POST",
|
|
13096
13230
|
"path": "/media/v1/libraries/{library_id}/assets/{asset_id}/reprocess",
|
|
13097
13231
|
"streaming": "no",
|
|
@@ -13167,10 +13301,13 @@ export const operations = [
|
|
|
13167
13301
|
"frame",
|
|
13168
13302
|
"overview",
|
|
13169
13303
|
"audio",
|
|
13304
|
+
"loudness",
|
|
13305
|
+
"beats",
|
|
13306
|
+
"content",
|
|
13170
13307
|
"embedding"
|
|
13171
13308
|
],
|
|
13172
13309
|
"required": false,
|
|
13173
|
-
"description": "Return one output kind: caption is a visual description, tags are generated labels, ocr is visible text, transcript is speech, frame is a video shot, overview is a video summary, audio is sampled audio understanding, and embedding reports a failed embedding step."
|
|
13310
|
+
"description": "Return one output kind: caption is a visual description, tags are generated labels, ocr is visible text, transcript is speech, frame is a video shot, overview is a video summary, audio is sampled audio understanding, loudness is measured loudness, beats is the measured tempo and beat grid, content is the derived speech, music and silence split, and embedding reports a failed embedding step."
|
|
13174
13311
|
},
|
|
13175
13312
|
{
|
|
13176
13313
|
"name": "cursor",
|
|
@@ -13190,7 +13327,7 @@ export const operations = [
|
|
|
13190
13327
|
"resource": "media.libraries.assets",
|
|
13191
13328
|
"method": "batch",
|
|
13192
13329
|
"summary": "Batch assets alias",
|
|
13193
|
-
"description": "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged.
|
|
13330
|
+
"description": "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.",
|
|
13194
13331
|
"http": "POST",
|
|
13195
13332
|
"path": "/media/v1/libraries/{library_id}/assets:batch",
|
|
13196
13333
|
"streaming": "no",
|
|
@@ -13225,7 +13362,7 @@ export const operations = [
|
|
|
13225
13362
|
"resource": "media.libraries.batches",
|
|
13226
13363
|
"method": "create",
|
|
13227
13364
|
"summary": "Create batch",
|
|
13228
|
-
"description": "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged.
|
|
13365
|
+
"description": "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.",
|
|
13229
13366
|
"http": "POST",
|
|
13230
13367
|
"path": "/media/v1/libraries/{library_id}/batches",
|
|
13231
13368
|
"streaming": "no",
|
|
@@ -13387,71 +13524,12 @@ export const operations = [
|
|
|
13387
13524
|
]
|
|
13388
13525
|
},
|
|
13389
13526
|
{
|
|
13390
|
-
"resource": "media.libraries.
|
|
13391
|
-
"method": "retrieve",
|
|
13392
|
-
"summary": "Get job alias",
|
|
13393
|
-
"description": "Read library events in sequence order, including while the library is deleting. Page forward with asc and after_seq, or backward with desc and before_seq; never combine the two sequence cursors.",
|
|
13394
|
-
"http": "GET",
|
|
13395
|
-
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}",
|
|
13396
|
-
"streaming": "no",
|
|
13397
|
-
"pagination": false,
|
|
13398
|
-
"pathParams": [
|
|
13399
|
-
{
|
|
13400
|
-
"name": "library_id",
|
|
13401
|
-
"sdkName": "library_id",
|
|
13402
|
-
"description": "Library ID returned by creation."
|
|
13403
|
-
},
|
|
13404
|
-
{
|
|
13405
|
-
"name": "job_id",
|
|
13406
|
-
"sdkName": "job_id",
|
|
13407
|
-
"description": "Batch identifier returned by createBatch or batchAssets; resolved within this library."
|
|
13408
|
-
}
|
|
13409
|
-
],
|
|
13410
|
-
"query": []
|
|
13411
|
-
},
|
|
13412
|
-
{
|
|
13413
|
-
"resource": "media.libraries.purge",
|
|
13414
|
-
"method": "create",
|
|
13415
|
-
"summary": "Purge library",
|
|
13416
|
-
"description": "List assets in an active library, newest first, optionally filtering by exact folder and stored resource type. Continue using next_cursor; video includes audio-only assets.",
|
|
13417
|
-
"http": "POST",
|
|
13418
|
-
"path": "/media/v1/libraries/{library_id}/purge",
|
|
13419
|
-
"streaming": "no",
|
|
13420
|
-
"pagination": false,
|
|
13421
|
-
"pathParams": [
|
|
13422
|
-
{
|
|
13423
|
-
"name": "library_id",
|
|
13424
|
-
"sdkName": "library_id",
|
|
13425
|
-
"description": "Library ID returned by creation."
|
|
13426
|
-
}
|
|
13427
|
-
],
|
|
13428
|
-
"query": []
|
|
13429
|
-
},
|
|
13430
|
-
{
|
|
13431
|
-
"resource": "media.libraries",
|
|
13432
|
-
"method": "restore",
|
|
13433
|
-
"summary": "Restore library",
|
|
13434
|
-
"description": "Permanently remove a library that is already deleting, without waiting for purge_at. Its assets and related resources are removed and cannot be restored; first soft-delete an active library.",
|
|
13435
|
-
"http": "POST",
|
|
13436
|
-
"path": "/media/v1/libraries/{library_id}/restore",
|
|
13437
|
-
"streaming": "no",
|
|
13438
|
-
"pagination": false,
|
|
13439
|
-
"pathParams": [
|
|
13440
|
-
{
|
|
13441
|
-
"name": "library_id",
|
|
13442
|
-
"sdkName": "library_id",
|
|
13443
|
-
"description": "Library ID returned by creation."
|
|
13444
|
-
}
|
|
13445
|
-
],
|
|
13446
|
-
"query": []
|
|
13447
|
-
},
|
|
13448
|
-
{
|
|
13449
|
-
"resource": "media.libraries.search",
|
|
13527
|
+
"resource": "media.libraries.generations",
|
|
13450
13528
|
"method": "create",
|
|
13451
|
-
"summary": "
|
|
13452
|
-
"description": "
|
|
13529
|
+
"summary": "Create video generation",
|
|
13530
|
+
"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.",
|
|
13453
13531
|
"http": "POST",
|
|
13454
|
-
"path": "/media/v1/libraries/{library_id}/
|
|
13532
|
+
"path": "/media/v1/libraries/{library_id}/generations",
|
|
13455
13533
|
"streaming": "no",
|
|
13456
13534
|
"pagination": false,
|
|
13457
13535
|
"pathParams": [
|
|
@@ -13466,117 +13544,282 @@ export const operations = [
|
|
|
13466
13544
|
"required": true,
|
|
13467
13545
|
"fields": [
|
|
13468
13546
|
{
|
|
13469
|
-
"name": "
|
|
13547
|
+
"name": "intent",
|
|
13470
13548
|
"type": "string",
|
|
13471
13549
|
"required": true,
|
|
13472
|
-
"description": "
|
|
13550
|
+
"description": "Generation operation; v1 accepts only video.generate text-to-video requests."
|
|
13473
13551
|
},
|
|
13474
13552
|
{
|
|
13475
|
-
"name": "
|
|
13553
|
+
"name": "prompt",
|
|
13476
13554
|
"type": "string",
|
|
13477
|
-
"required":
|
|
13478
|
-
"description": "
|
|
13555
|
+
"required": true,
|
|
13556
|
+
"description": "Text prompt describing the video to generate."
|
|
13479
13557
|
},
|
|
13480
13558
|
{
|
|
13481
|
-
"name": "
|
|
13559
|
+
"name": "count",
|
|
13482
13560
|
"type": "integer",
|
|
13483
13561
|
"required": false,
|
|
13484
|
-
"description": "
|
|
13562
|
+
"description": "Number of videos to generate; defaults to 1 and must be from 1 to 4."
|
|
13485
13563
|
},
|
|
13486
13564
|
{
|
|
13487
|
-
"name": "
|
|
13488
|
-
"type": "
|
|
13489
|
-
"enum": [
|
|
13490
|
-
"hybrid",
|
|
13491
|
-
"semantic"
|
|
13492
|
-
],
|
|
13565
|
+
"name": "duration_seconds",
|
|
13566
|
+
"type": "integer",
|
|
13493
13567
|
"required": false,
|
|
13494
|
-
"description": "
|
|
13495
|
-
}
|
|
13496
|
-
]
|
|
13497
|
-
}
|
|
13498
|
-
},
|
|
13499
|
-
{
|
|
13500
|
-
"resource": "media.libraries.search.expression",
|
|
13501
|
-
"method": "create",
|
|
13502
|
-
"summary": "Expression search",
|
|
13503
|
-
"description": "Find visually similar assets using exactly one of asset_id or an inline base64 image. The library must support image search; an asset query needs a current image embedding and excludes that source asset from results.",
|
|
13504
|
-
"http": "POST",
|
|
13505
|
-
"path": "/media/v1/libraries/{library_id}/search/expression",
|
|
13506
|
-
"streaming": "no",
|
|
13507
|
-
"pagination": false,
|
|
13508
|
-
"pathParams": [
|
|
13509
|
-
{
|
|
13510
|
-
"name": "library_id",
|
|
13511
|
-
"sdkName": "library_id",
|
|
13512
|
-
"description": "Library ID returned by creation."
|
|
13513
|
-
}
|
|
13514
|
-
],
|
|
13515
|
-
"query": [],
|
|
13516
|
-
"body": {
|
|
13517
|
-
"required": true,
|
|
13518
|
-
"fields": [
|
|
13568
|
+
"description": "Requested video duration in seconds; Router validates the model-specific supported durations."
|
|
13569
|
+
},
|
|
13519
13570
|
{
|
|
13520
|
-
"name": "
|
|
13571
|
+
"name": "aspect_ratio",
|
|
13521
13572
|
"type": "string",
|
|
13522
13573
|
"required": false,
|
|
13523
|
-
"description": "
|
|
13574
|
+
"description": "Requested output aspect ratio; defaults to 16:9 and Router validates model support."
|
|
13524
13575
|
},
|
|
13525
13576
|
{
|
|
13526
|
-
"name": "
|
|
13527
|
-
"type": "
|
|
13528
|
-
"itemType": "object",
|
|
13577
|
+
"name": "model",
|
|
13578
|
+
"type": "string",
|
|
13529
13579
|
"required": false,
|
|
13530
|
-
"description": "
|
|
13580
|
+
"description": "Router model with video_generation capability; defaults to wan2.7-t2v."
|
|
13531
13581
|
},
|
|
13532
13582
|
{
|
|
13533
|
-
"name": "
|
|
13534
|
-
"type": "
|
|
13583
|
+
"name": "save",
|
|
13584
|
+
"type": "string",
|
|
13585
|
+
"enum": [
|
|
13586
|
+
"candidate",
|
|
13587
|
+
"library"
|
|
13588
|
+
],
|
|
13535
13589
|
"required": false,
|
|
13536
|
-
"description": "
|
|
13590
|
+
"description": "candidate keeps outputs temporary for explicit save calls; library saves successful outputs automatically."
|
|
13537
13591
|
},
|
|
13538
13592
|
{
|
|
13539
|
-
"name": "
|
|
13593
|
+
"name": "asset_folder",
|
|
13540
13594
|
"type": "string",
|
|
13541
13595
|
"required": false,
|
|
13542
|
-
"description": "
|
|
13596
|
+
"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."
|
|
13543
13597
|
},
|
|
13544
13598
|
{
|
|
13545
|
-
"name": "
|
|
13599
|
+
"name": "tags",
|
|
13546
13600
|
"type": "array",
|
|
13547
13601
|
"itemType": "string",
|
|
13602
|
+
"required": false,
|
|
13603
|
+
"description": "Tags applied when an output becomes a library asset."
|
|
13604
|
+
},
|
|
13605
|
+
{
|
|
13606
|
+
"name": "understanding",
|
|
13607
|
+
"type": "string",
|
|
13548
13608
|
"enum": [
|
|
13549
|
-
"
|
|
13550
|
-
"
|
|
13609
|
+
"auto",
|
|
13610
|
+
"skip"
|
|
13551
13611
|
],
|
|
13552
13612
|
"required": false,
|
|
13553
|
-
"description": "
|
|
13613
|
+
"description": "Understanding behavior when a candidate is saved as an asset; defaults to auto."
|
|
13554
13614
|
},
|
|
13555
13615
|
{
|
|
13556
|
-
"name": "
|
|
13616
|
+
"name": "references",
|
|
13557
13617
|
"type": "array",
|
|
13558
|
-
"itemType": "
|
|
13559
|
-
"enum": [
|
|
13560
|
-
"resource_type",
|
|
13561
|
-
"format",
|
|
13562
|
-
"asset_folder",
|
|
13563
|
-
"processing_state"
|
|
13564
|
-
],
|
|
13618
|
+
"itemType": "object",
|
|
13565
13619
|
"required": false,
|
|
13566
|
-
"description": "
|
|
13620
|
+
"description": "Not supported in v1; omit this field. Only text-to-video is currently available."
|
|
13567
13621
|
}
|
|
13568
13622
|
]
|
|
13569
13623
|
}
|
|
13570
13624
|
},
|
|
13571
13625
|
{
|
|
13572
|
-
"resource": "media.libraries.
|
|
13573
|
-
"method": "
|
|
13574
|
-
"summary": "
|
|
13575
|
-
"description": "
|
|
13576
|
-
"http": "
|
|
13577
|
-
"path": "/media/v1/libraries/{library_id}/
|
|
13626
|
+
"resource": "media.libraries.jobs",
|
|
13627
|
+
"method": "list",
|
|
13628
|
+
"summary": "List jobs",
|
|
13629
|
+
"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.",
|
|
13630
|
+
"http": "GET",
|
|
13631
|
+
"path": "/media/v1/libraries/{library_id}/jobs",
|
|
13578
13632
|
"streaming": "no",
|
|
13579
|
-
"pagination":
|
|
13633
|
+
"pagination": true,
|
|
13634
|
+
"pathParams": [
|
|
13635
|
+
{
|
|
13636
|
+
"name": "library_id",
|
|
13637
|
+
"sdkName": "library_id",
|
|
13638
|
+
"description": "Library ID returned by creation."
|
|
13639
|
+
}
|
|
13640
|
+
],
|
|
13641
|
+
"query": [
|
|
13642
|
+
{
|
|
13643
|
+
"name": "status",
|
|
13644
|
+
"type": "string",
|
|
13645
|
+
"enum": [
|
|
13646
|
+
"queued",
|
|
13647
|
+
"running",
|
|
13648
|
+
"completed",
|
|
13649
|
+
"completed_with_errors",
|
|
13650
|
+
"failed",
|
|
13651
|
+
"cancelled"
|
|
13652
|
+
],
|
|
13653
|
+
"required": false,
|
|
13654
|
+
"description": "Filter jobs by their current status."
|
|
13655
|
+
},
|
|
13656
|
+
{
|
|
13657
|
+
"name": "limit",
|
|
13658
|
+
"type": "integer",
|
|
13659
|
+
"required": false,
|
|
13660
|
+
"description": "Maximum entries in this page, from 1 through 100; defaults to 100."
|
|
13661
|
+
},
|
|
13662
|
+
{
|
|
13663
|
+
"name": "cursor",
|
|
13664
|
+
"type": "string",
|
|
13665
|
+
"required": false,
|
|
13666
|
+
"description": "Job id from the previous page’s next_cursor; omit for the first page."
|
|
13667
|
+
}
|
|
13668
|
+
]
|
|
13669
|
+
},
|
|
13670
|
+
{
|
|
13671
|
+
"resource": "media.libraries.jobs",
|
|
13672
|
+
"method": "retrieve",
|
|
13673
|
+
"summary": "Get job",
|
|
13674
|
+
"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.",
|
|
13675
|
+
"http": "GET",
|
|
13676
|
+
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}",
|
|
13677
|
+
"streaming": "no",
|
|
13678
|
+
"pagination": false,
|
|
13679
|
+
"pathParams": [
|
|
13680
|
+
{
|
|
13681
|
+
"name": "library_id",
|
|
13682
|
+
"sdkName": "library_id",
|
|
13683
|
+
"description": "Library ID returned by creation."
|
|
13684
|
+
},
|
|
13685
|
+
{
|
|
13686
|
+
"name": "job_id",
|
|
13687
|
+
"sdkName": "job_id",
|
|
13688
|
+
"description": "Job identifier returned by batch creation, video-generation creation or job listing; resolved within this library."
|
|
13689
|
+
}
|
|
13690
|
+
],
|
|
13691
|
+
"query": []
|
|
13692
|
+
},
|
|
13693
|
+
{
|
|
13694
|
+
"resource": "media.libraries.jobs",
|
|
13695
|
+
"method": "cancel",
|
|
13696
|
+
"summary": "Cancel job",
|
|
13697
|
+
"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.",
|
|
13698
|
+
"http": "POST",
|
|
13699
|
+
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}/cancel",
|
|
13700
|
+
"streaming": "no",
|
|
13701
|
+
"pagination": false,
|
|
13702
|
+
"pathParams": [
|
|
13703
|
+
{
|
|
13704
|
+
"name": "library_id",
|
|
13705
|
+
"sdkName": "library_id",
|
|
13706
|
+
"description": "Library ID returned by creation."
|
|
13707
|
+
},
|
|
13708
|
+
{
|
|
13709
|
+
"name": "job_id",
|
|
13710
|
+
"sdkName": "job_id",
|
|
13711
|
+
"description": "Job identifier returned by batch or generation creation; the job is resolved within the specified library."
|
|
13712
|
+
}
|
|
13713
|
+
],
|
|
13714
|
+
"query": []
|
|
13715
|
+
},
|
|
13716
|
+
{
|
|
13717
|
+
"resource": "media.libraries.jobs.outputs.save",
|
|
13718
|
+
"method": "create",
|
|
13719
|
+
"summary": "Save generation output",
|
|
13720
|
+
"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.",
|
|
13721
|
+
"http": "POST",
|
|
13722
|
+
"path": "/media/v1/libraries/{library_id}/jobs/{job_id}/outputs/{index}/save",
|
|
13723
|
+
"streaming": "no",
|
|
13724
|
+
"pagination": false,
|
|
13725
|
+
"pathParams": [
|
|
13726
|
+
{
|
|
13727
|
+
"name": "library_id",
|
|
13728
|
+
"sdkName": "library_id",
|
|
13729
|
+
"description": "Library ID returned by creation."
|
|
13730
|
+
},
|
|
13731
|
+
{
|
|
13732
|
+
"name": "job_id",
|
|
13733
|
+
"sdkName": "job_id",
|
|
13734
|
+
"description": "Job identifier returned by batch or generation creation; the job is resolved within the specified library."
|
|
13735
|
+
},
|
|
13736
|
+
{
|
|
13737
|
+
"name": "index",
|
|
13738
|
+
"sdkName": "index",
|
|
13739
|
+
"description": "Zero-based position of the candidate in the Job outputs array."
|
|
13740
|
+
}
|
|
13741
|
+
],
|
|
13742
|
+
"query": [],
|
|
13743
|
+
"body": {
|
|
13744
|
+
"required": false,
|
|
13745
|
+
"fields": [
|
|
13746
|
+
{
|
|
13747
|
+
"name": "public_id",
|
|
13748
|
+
"type": "string",
|
|
13749
|
+
"required": false,
|
|
13750
|
+
"description": "Delivery identifier for the saved asset; defaults to gen_<job_id>_<index> and is idempotent."
|
|
13751
|
+
},
|
|
13752
|
+
{
|
|
13753
|
+
"name": "asset_folder",
|
|
13754
|
+
"type": "string",
|
|
13755
|
+
"required": false,
|
|
13756
|
+
"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."
|
|
13757
|
+
},
|
|
13758
|
+
{
|
|
13759
|
+
"name": "tags",
|
|
13760
|
+
"type": "array",
|
|
13761
|
+
"itemType": "string",
|
|
13762
|
+
"required": false,
|
|
13763
|
+
"description": "Tags to apply to the saved asset."
|
|
13764
|
+
},
|
|
13765
|
+
{
|
|
13766
|
+
"name": "understanding",
|
|
13767
|
+
"type": "string",
|
|
13768
|
+
"enum": [
|
|
13769
|
+
"auto",
|
|
13770
|
+
"skip"
|
|
13771
|
+
],
|
|
13772
|
+
"required": false,
|
|
13773
|
+
"description": "Understanding behavior for the saved asset; defaults to auto."
|
|
13774
|
+
}
|
|
13775
|
+
]
|
|
13776
|
+
}
|
|
13777
|
+
},
|
|
13778
|
+
{
|
|
13779
|
+
"resource": "media.libraries.purge",
|
|
13780
|
+
"method": "create",
|
|
13781
|
+
"summary": "Purge library",
|
|
13782
|
+
"description": "List assets in an active library, newest first, optionally filtering by exact folder and stored resource type. Continue using next_cursor; video includes audio-only assets.",
|
|
13783
|
+
"http": "POST",
|
|
13784
|
+
"path": "/media/v1/libraries/{library_id}/purge",
|
|
13785
|
+
"streaming": "no",
|
|
13786
|
+
"pagination": false,
|
|
13787
|
+
"pathParams": [
|
|
13788
|
+
{
|
|
13789
|
+
"name": "library_id",
|
|
13790
|
+
"sdkName": "library_id",
|
|
13791
|
+
"description": "Library ID returned by creation."
|
|
13792
|
+
}
|
|
13793
|
+
],
|
|
13794
|
+
"query": []
|
|
13795
|
+
},
|
|
13796
|
+
{
|
|
13797
|
+
"resource": "media.libraries",
|
|
13798
|
+
"method": "restore",
|
|
13799
|
+
"summary": "Restore library",
|
|
13800
|
+
"description": "Permanently remove a library that is already deleting, without waiting for purge_at. Its assets and related resources are removed and cannot be restored; first soft-delete an active library.",
|
|
13801
|
+
"http": "POST",
|
|
13802
|
+
"path": "/media/v1/libraries/{library_id}/restore",
|
|
13803
|
+
"streaming": "no",
|
|
13804
|
+
"pagination": false,
|
|
13805
|
+
"pathParams": [
|
|
13806
|
+
{
|
|
13807
|
+
"name": "library_id",
|
|
13808
|
+
"sdkName": "library_id",
|
|
13809
|
+
"description": "Library ID returned by creation."
|
|
13810
|
+
}
|
|
13811
|
+
],
|
|
13812
|
+
"query": []
|
|
13813
|
+
},
|
|
13814
|
+
{
|
|
13815
|
+
"resource": "media.libraries.search",
|
|
13816
|
+
"method": "create",
|
|
13817
|
+
"summary": "Semantic search alias",
|
|
13818
|
+
"description": "List all immediate child folders under parent, or under the root when parent is omitted. Counts include descendant assets. The result is unpaginated; limit and cursor are rejected.",
|
|
13819
|
+
"http": "POST",
|
|
13820
|
+
"path": "/media/v1/libraries/{library_id}/search",
|
|
13821
|
+
"streaming": "no",
|
|
13822
|
+
"pagination": false,
|
|
13580
13823
|
"pathParams": [
|
|
13581
13824
|
{
|
|
13582
13825
|
"name": "library_id",
|
|
@@ -13620,12 +13863,12 @@ export const operations = [
|
|
|
13620
13863
|
}
|
|
13621
13864
|
},
|
|
13622
13865
|
{
|
|
13623
|
-
"resource": "media.libraries.search.
|
|
13866
|
+
"resource": "media.libraries.search.expression",
|
|
13624
13867
|
"method": "create",
|
|
13625
|
-
"summary": "
|
|
13626
|
-
"description": "
|
|
13868
|
+
"summary": "Expression search",
|
|
13869
|
+
"description": "Find visually similar assets using exactly one of asset_id or an inline base64 image. The library must support image search; an asset query needs a current image embedding and excludes that source asset from results.",
|
|
13627
13870
|
"http": "POST",
|
|
13628
|
-
"path": "/media/v1/libraries/{library_id}/search/
|
|
13871
|
+
"path": "/media/v1/libraries/{library_id}/search/expression",
|
|
13629
13872
|
"streaming": "no",
|
|
13630
13873
|
"pagination": false,
|
|
13631
13874
|
"pathParams": [
|
|
@@ -13640,41 +13883,66 @@ export const operations = [
|
|
|
13640
13883
|
"required": true,
|
|
13641
13884
|
"fields": [
|
|
13642
13885
|
{
|
|
13643
|
-
"name": "
|
|
13886
|
+
"name": "expression",
|
|
13644
13887
|
"type": "string",
|
|
13645
13888
|
"required": false,
|
|
13646
|
-
"description": "Asset
|
|
13889
|
+
"description": "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets. For business metadata use context.sku=KETTLE-RED AND context.revision=2; request with_field: [\"context\"] to include context. Quality filters: flags:watermark matches any current shot with a watermark; flags.watermark:false requires an assessed video with no positive watermark judgment. The same syntax supports slideshow, hand_frame, text_sticker and low_quality. folder_mismatch:true selects lexical folder/location hints. Geometry filters support width, height, resolution:1920x1080, numeric aspect_ratio (width/height), and orientation:landscape, portrait or square. Missing geometry or unassessed legacy flags do not match positive filters. has_music:true AND audio_genre:jazz AND audio_mood:calm selects current-version audio profiles with music and matching model labels; has_music:false applies only to sampled ranges, not the entire source. failure_code=UPSTREAM_FAILED selects assets with a current failed understanding carrying that code; combine with processing_state=failed or processing_state=partial."
|
|
13647
13890
|
},
|
|
13648
13891
|
{
|
|
13649
|
-
"name": "
|
|
13650
|
-
"type": "
|
|
13892
|
+
"name": "sort_by",
|
|
13893
|
+
"type": "array",
|
|
13894
|
+
"itemType": "object",
|
|
13651
13895
|
"required": false,
|
|
13652
|
-
"description": "
|
|
13896
|
+
"description": "Ordered list of single-field sort objects. Allowed fields are created_at, public_id, display_name, bytes and uploaded_at; directions are asc or desc. Fields cannot repeat. Defaults to created_at descending."
|
|
13653
13897
|
},
|
|
13654
13898
|
{
|
|
13655
|
-
"name": "
|
|
13899
|
+
"name": "max_results",
|
|
13656
13900
|
"type": "integer",
|
|
13657
13901
|
"required": false,
|
|
13658
|
-
"description": "Maximum
|
|
13902
|
+
"description": "Maximum assets per page, from 1 to 500; defaults to 100."
|
|
13659
13903
|
},
|
|
13660
13904
|
{
|
|
13661
|
-
"name": "
|
|
13905
|
+
"name": "next_cursor",
|
|
13662
13906
|
"type": "string",
|
|
13663
13907
|
"required": false,
|
|
13664
|
-
"description": "
|
|
13908
|
+
"description": "Continuation token returned by the previous expression-search page. Keep sort_by unchanged when continuing."
|
|
13909
|
+
},
|
|
13910
|
+
{
|
|
13911
|
+
"name": "with_field",
|
|
13912
|
+
"type": "array",
|
|
13913
|
+
"itemType": "string",
|
|
13914
|
+
"enum": [
|
|
13915
|
+
"tags",
|
|
13916
|
+
"context"
|
|
13917
|
+
],
|
|
13918
|
+
"required": false,
|
|
13919
|
+
"description": "Additional resource fields to include: tags adds asset labels and context adds custom metadata. Both are omitted unless requested."
|
|
13920
|
+
},
|
|
13921
|
+
{
|
|
13922
|
+
"name": "aggregate",
|
|
13923
|
+
"type": "array",
|
|
13924
|
+
"itemType": "string",
|
|
13925
|
+
"enum": [
|
|
13926
|
+
"resource_type",
|
|
13927
|
+
"format",
|
|
13928
|
+
"asset_folder",
|
|
13929
|
+
"processing_state"
|
|
13930
|
+
],
|
|
13931
|
+
"required": false,
|
|
13932
|
+
"description": "Facets to count over matching assets, returned under aggregations."
|
|
13665
13933
|
}
|
|
13666
13934
|
]
|
|
13667
13935
|
}
|
|
13668
13936
|
},
|
|
13669
13937
|
{
|
|
13670
|
-
"resource": "media.libraries.
|
|
13671
|
-
"method": "
|
|
13672
|
-
"summary": "
|
|
13673
|
-
"description": "
|
|
13674
|
-
"http": "
|
|
13675
|
-
"path": "/media/v1/libraries/{library_id}/
|
|
13938
|
+
"resource": "media.libraries.search.semantic",
|
|
13939
|
+
"method": "create",
|
|
13940
|
+
"summary": "Semantic search",
|
|
13941
|
+
"description": "Alias of semantic search. Search assets with a nonblank text query, optional expression filter and top_k; hybrid combines semantic and keyword matches, while semantic uses vector similarity only.",
|
|
13942
|
+
"http": "POST",
|
|
13943
|
+
"path": "/media/v1/libraries/{library_id}/search/semantic",
|
|
13676
13944
|
"streaming": "no",
|
|
13677
|
-
"pagination":
|
|
13945
|
+
"pagination": false,
|
|
13678
13946
|
"pathParams": [
|
|
13679
13947
|
{
|
|
13680
13948
|
"name": "library_id",
|
|
@@ -13682,32 +13950,130 @@ export const operations = [
|
|
|
13682
13950
|
"description": "Library ID returned by creation."
|
|
13683
13951
|
}
|
|
13684
13952
|
],
|
|
13685
|
-
"query": [
|
|
13686
|
-
|
|
13687
|
-
|
|
13688
|
-
|
|
13689
|
-
|
|
13690
|
-
|
|
13691
|
-
|
|
13692
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
|
|
13696
|
-
|
|
13697
|
-
|
|
13698
|
-
|
|
13699
|
-
|
|
13700
|
-
|
|
13701
|
-
|
|
13702
|
-
|
|
13703
|
-
|
|
13704
|
-
|
|
13705
|
-
|
|
13706
|
-
|
|
13707
|
-
|
|
13708
|
-
|
|
13709
|
-
|
|
13710
|
-
|
|
13953
|
+
"query": [],
|
|
13954
|
+
"body": {
|
|
13955
|
+
"required": true,
|
|
13956
|
+
"fields": [
|
|
13957
|
+
{
|
|
13958
|
+
"name": "query",
|
|
13959
|
+
"type": "string",
|
|
13960
|
+
"required": true,
|
|
13961
|
+
"description": "Nonblank text to search against asset content and metadata."
|
|
13962
|
+
},
|
|
13963
|
+
{
|
|
13964
|
+
"name": "filter",
|
|
13965
|
+
"type": "string",
|
|
13966
|
+
"required": false,
|
|
13967
|
+
"description": "Optional expression filter restricting eligible assets; uses the expression-search syntax."
|
|
13968
|
+
},
|
|
13969
|
+
{
|
|
13970
|
+
"name": "top_k",
|
|
13971
|
+
"type": "integer",
|
|
13972
|
+
"required": false,
|
|
13973
|
+
"description": "Maximum search hits, from 1 to 50; defaults to 20."
|
|
13974
|
+
},
|
|
13975
|
+
{
|
|
13976
|
+
"name": "mode",
|
|
13977
|
+
"type": "string",
|
|
13978
|
+
"enum": [
|
|
13979
|
+
"hybrid",
|
|
13980
|
+
"semantic"
|
|
13981
|
+
],
|
|
13982
|
+
"required": false,
|
|
13983
|
+
"description": "Ranking mode: hybrid combines semantic and keyword matches; semantic uses vector similarity only. Defaults to hybrid."
|
|
13984
|
+
}
|
|
13985
|
+
]
|
|
13986
|
+
}
|
|
13987
|
+
},
|
|
13988
|
+
{
|
|
13989
|
+
"resource": "media.libraries.search.visual",
|
|
13990
|
+
"method": "create",
|
|
13991
|
+
"summary": "Visual search",
|
|
13992
|
+
"description": "Search assets with a nonblank text query and optional expression filter. Hybrid mode combines semantic and keyword matches; semantic mode uses vector similarity only. Results are ranked and limited by top_k.",
|
|
13993
|
+
"http": "POST",
|
|
13994
|
+
"path": "/media/v1/libraries/{library_id}/search/visual",
|
|
13995
|
+
"streaming": "no",
|
|
13996
|
+
"pagination": false,
|
|
13997
|
+
"pathParams": [
|
|
13998
|
+
{
|
|
13999
|
+
"name": "library_id",
|
|
14000
|
+
"sdkName": "library_id",
|
|
14001
|
+
"description": "Library ID returned by creation."
|
|
14002
|
+
}
|
|
14003
|
+
],
|
|
14004
|
+
"query": [],
|
|
14005
|
+
"body": {
|
|
14006
|
+
"required": true,
|
|
14007
|
+
"fields": [
|
|
14008
|
+
{
|
|
14009
|
+
"name": "asset_id",
|
|
14010
|
+
"type": "string",
|
|
14011
|
+
"required": false,
|
|
14012
|
+
"description": "Asset identifier returned by upload or asset listing; distinct from public_id and content hashes."
|
|
14013
|
+
},
|
|
14014
|
+
{
|
|
14015
|
+
"name": "image",
|
|
14016
|
+
"type": "object",
|
|
14017
|
+
"required": false,
|
|
14018
|
+
"description": "Inline image used as the visual query; mutually exclusive with asset_id."
|
|
14019
|
+
},
|
|
14020
|
+
{
|
|
14021
|
+
"name": "top_k",
|
|
14022
|
+
"type": "integer",
|
|
14023
|
+
"required": false,
|
|
14024
|
+
"description": "Maximum visual-search hits, from 1 to 50; defaults to 20."
|
|
14025
|
+
},
|
|
14026
|
+
{
|
|
14027
|
+
"name": "filter",
|
|
14028
|
+
"type": "string",
|
|
14029
|
+
"required": false,
|
|
14030
|
+
"description": "Expression filter restricting eligible result assets."
|
|
14031
|
+
}
|
|
14032
|
+
]
|
|
14033
|
+
}
|
|
14034
|
+
},
|
|
14035
|
+
{
|
|
14036
|
+
"resource": "media.libraries.understandings",
|
|
14037
|
+
"method": "list",
|
|
14038
|
+
"summary": "List understanding results across a library",
|
|
14039
|
+
"description": "Read current understanding entries across one library without fetching every asset separately. Use library_id from creation or listing. folder includes descendants; kinds is a comma-separated list of output kinds. Entries are ordered by asset_id and then understanding id. Continue with next_cursor and the same folder and kinds; limit defaults to 100 and cannot exceed 100. Superseded, deleted and old-version entries are excluded. During historical backfill, this method returns 503 CAPACITY rather than incomplete pages; poll failureSummary until counts_complete is true, then start pagination. Example: GET /media/v1/libraries/lib_example/understandings?folder=travel&kinds=caption,transcript&limit=100.",
|
|
14040
|
+
"http": "GET",
|
|
14041
|
+
"path": "/media/v1/libraries/{library_id}/understandings",
|
|
14042
|
+
"streaming": "no",
|
|
14043
|
+
"pagination": true,
|
|
14044
|
+
"pathParams": [
|
|
14045
|
+
{
|
|
14046
|
+
"name": "library_id",
|
|
14047
|
+
"sdkName": "library_id",
|
|
14048
|
+
"description": "Library ID returned by creation."
|
|
14049
|
+
}
|
|
14050
|
+
],
|
|
14051
|
+
"query": [
|
|
14052
|
+
{
|
|
14053
|
+
"name": "folder",
|
|
14054
|
+
"type": "string",
|
|
14055
|
+
"required": false,
|
|
14056
|
+
"description": "Folder path including all descendants; omitted or empty selects the entire library."
|
|
14057
|
+
},
|
|
14058
|
+
{
|
|
14059
|
+
"name": "kinds",
|
|
14060
|
+
"type": "string",
|
|
14061
|
+
"required": false,
|
|
14062
|
+
"description": "Comma-separated output kinds: caption, tags, ocr, frame, transcript, overview, audio, loudness, beats, content, embedding. Omit or empty to include every kind."
|
|
14063
|
+
},
|
|
14064
|
+
{
|
|
14065
|
+
"name": "cursor",
|
|
14066
|
+
"type": "string",
|
|
14067
|
+
"required": false,
|
|
14068
|
+
"description": "Cursor from the previous next_cursor."
|
|
14069
|
+
},
|
|
14070
|
+
{
|
|
14071
|
+
"name": "limit",
|
|
14072
|
+
"type": "integer",
|
|
14073
|
+
"required": false,
|
|
14074
|
+
"description": "Maximum entries in this page, from 1 through 100; defaults to 100."
|
|
14075
|
+
}
|
|
14076
|
+
]
|
|
13711
14077
|
},
|
|
13712
14078
|
{
|
|
13713
14079
|
"resource": "media.libraries.understandings",
|
|
@@ -15698,48 +16064,736 @@ export const operations = [
|
|
|
15698
16064
|
"query": []
|
|
15699
16065
|
},
|
|
15700
16066
|
{
|
|
15701
|
-
"resource": "model.responses",
|
|
15702
|
-
"method": "cancel",
|
|
15703
|
-
"summary": "Cancel Response",
|
|
15704
|
-
"description": "Cancel an in-progress background response using its id from creation. Unlike OpenAI, cancellation cannot guarantee that upstream compute stops; usage is settled for the output received. Repeating cancellation returns the terminal response; a synchronous response can return 400 native_responses_operation_unsupported or 404 if absent.",
|
|
15705
|
-
"http": "POST",
|
|
15706
|
-
"path": "/model/v1/responses/{response_id}/cancel",
|
|
16067
|
+
"resource": "model.responses",
|
|
16068
|
+
"method": "cancel",
|
|
16069
|
+
"summary": "Cancel Response",
|
|
16070
|
+
"description": "Cancel an in-progress background response using its id from creation. Unlike OpenAI, cancellation cannot guarantee that upstream compute stops; usage is settled for the output received. Repeating cancellation returns the terminal response; a synchronous response can return 400 native_responses_operation_unsupported or 404 if absent.",
|
|
16071
|
+
"http": "POST",
|
|
16072
|
+
"path": "/model/v1/responses/{response_id}/cancel",
|
|
16073
|
+
"streaming": "no",
|
|
16074
|
+
"pagination": false,
|
|
16075
|
+
"pathParams": [
|
|
16076
|
+
{
|
|
16077
|
+
"name": "response_id",
|
|
16078
|
+
"sdkName": "response_id",
|
|
16079
|
+
"description": "Id of the stored response, the `id` returned by createResponse (it looks like resp_...). An unknown id, a response created with store false, an expired response and another tenant's response all answer 404."
|
|
16080
|
+
}
|
|
16081
|
+
],
|
|
16082
|
+
"query": []
|
|
16083
|
+
},
|
|
16084
|
+
{
|
|
16085
|
+
"resource": "model.responses.inputItems",
|
|
16086
|
+
"method": "list",
|
|
16087
|
+
"summary": "List Response Input Items",
|
|
16088
|
+
"description": "Read the input items of a stored response using its id from creation. Use the returned items to inspect the input that produced that response.",
|
|
16089
|
+
"http": "GET",
|
|
16090
|
+
"path": "/model/v1/responses/{response_id}/input_items",
|
|
16091
|
+
"streaming": "no",
|
|
16092
|
+
"pagination": false,
|
|
16093
|
+
"pathParams": [
|
|
16094
|
+
{
|
|
16095
|
+
"name": "response_id",
|
|
16096
|
+
"sdkName": "response_id",
|
|
16097
|
+
"description": "Id of the stored response, the `id` returned by createResponse (it looks like resp_...). An unknown id, a response created with store false, an expired response and another tenant's response all answer 404."
|
|
16098
|
+
}
|
|
16099
|
+
],
|
|
16100
|
+
"query": []
|
|
16101
|
+
},
|
|
16102
|
+
{
|
|
16103
|
+
"resource": "model.systemone",
|
|
16104
|
+
"method": "create",
|
|
16105
|
+
"summary": "Ask structured decision questions",
|
|
16106
|
+
"description": "Ask typed questions about a state and get calibrated probabilities instead of generated text. Same request and response as TypeSafe System One. Use model ids from model.models.list declaring typesafe.systemone. Send one or more noul, choice or score questions; answers use the same question ids. Input tokens are charged at the catalog input price; output tokens are free. usage.cost and X-Praxis-Cost-Usd expose the same customer charge in USD. box questions and assets are unsupported and return 400: images are not supported. Unknown top-level fields pass unchanged to the native upstream.",
|
|
16107
|
+
"http": "POST",
|
|
16108
|
+
"path": "/model/v1/systemone",
|
|
16109
|
+
"streaming": "no",
|
|
16110
|
+
"pagination": false,
|
|
16111
|
+
"pathParams": [],
|
|
16112
|
+
"query": [],
|
|
16113
|
+
"body": {
|
|
16114
|
+
"required": true,
|
|
16115
|
+
"fields": [
|
|
16116
|
+
{
|
|
16117
|
+
"name": "model",
|
|
16118
|
+
"type": "string",
|
|
16119
|
+
"required": true,
|
|
16120
|
+
"description": "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response."
|
|
16121
|
+
},
|
|
16122
|
+
{
|
|
16123
|
+
"name": "state",
|
|
16124
|
+
"type": "object",
|
|
16125
|
+
"required": true,
|
|
16126
|
+
"description": "Shared content evaluated by every question, supplied as text, a JSON object or an array."
|
|
16127
|
+
},
|
|
16128
|
+
{
|
|
16129
|
+
"name": "questions",
|
|
16130
|
+
"type": "object",
|
|
16131
|
+
"required": true,
|
|
16132
|
+
"description": "Non-empty map of caller-chosen question ids to typed questions; answers preserve these ids. noul evaluates yes/no, choice selects a named option, score rates ordered levels. box is unsupported."
|
|
16133
|
+
},
|
|
16134
|
+
{
|
|
16135
|
+
"name": "assets",
|
|
16136
|
+
"type": "object",
|
|
16137
|
+
"required": false,
|
|
16138
|
+
"description": "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported."
|
|
16139
|
+
}
|
|
16140
|
+
]
|
|
16141
|
+
}
|
|
16142
|
+
},
|
|
16143
|
+
{
|
|
16144
|
+
"resource": "model.videos",
|
|
16145
|
+
"method": "list",
|
|
16146
|
+
"summary": "List videos",
|
|
16147
|
+
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16148
|
+
"http": "GET",
|
|
16149
|
+
"path": "/model/v1/videos",
|
|
16150
|
+
"streaming": "no",
|
|
16151
|
+
"pagination": false,
|
|
16152
|
+
"pathParams": [],
|
|
16153
|
+
"query": [
|
|
16154
|
+
{
|
|
16155
|
+
"name": "after",
|
|
16156
|
+
"type": "string",
|
|
16157
|
+
"required": false,
|
|
16158
|
+
"description": "Cursor: the id of the video job after which the page starts, normally the `last_id` of the previous page. It must refer to an existing job of yours, otherwise the call fails."
|
|
16159
|
+
},
|
|
16160
|
+
{
|
|
16161
|
+
"name": "limit",
|
|
16162
|
+
"type": "integer",
|
|
16163
|
+
"required": false,
|
|
16164
|
+
"description": "Maximum number of jobs per page, from 1 to 100; defaults to 20."
|
|
16165
|
+
},
|
|
16166
|
+
{
|
|
16167
|
+
"name": "order",
|
|
16168
|
+
"type": "string",
|
|
16169
|
+
"enum": [
|
|
16170
|
+
"asc",
|
|
16171
|
+
"desc"
|
|
16172
|
+
],
|
|
16173
|
+
"required": false,
|
|
16174
|
+
"description": "Sort order by creation time: desc (default) lists the newest job first, asc the oldest first."
|
|
16175
|
+
}
|
|
16176
|
+
]
|
|
16177
|
+
},
|
|
16178
|
+
{
|
|
16179
|
+
"resource": "model.videos",
|
|
16180
|
+
"method": "create",
|
|
16181
|
+
"summary": "Create video",
|
|
16182
|
+
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16183
|
+
"http": "POST",
|
|
16184
|
+
"path": "/model/v1/videos",
|
|
16185
|
+
"streaming": "no",
|
|
16186
|
+
"pagination": false,
|
|
16187
|
+
"multipart": true,
|
|
16188
|
+
"pathParams": [],
|
|
16189
|
+
"query": [],
|
|
16190
|
+
"body": {
|
|
16191
|
+
"required": true,
|
|
16192
|
+
"fields": [
|
|
16193
|
+
{
|
|
16194
|
+
"name": "model",
|
|
16195
|
+
"type": "string",
|
|
16196
|
+
"required": false,
|
|
16197
|
+
"description": "Video model id, for example `wan2.7-t2v`; list candidates with listModels?type=video. Router support (partial): Select a registered video model explicitly, for example wan2.7-t2v (size=1280x720, seconds=4). Capability preflight errors are reported before creation."
|
|
16198
|
+
},
|
|
16199
|
+
{
|
|
16200
|
+
"name": "prompt",
|
|
16201
|
+
"type": "string",
|
|
16202
|
+
"required": true,
|
|
16203
|
+
"description": "Text description of the video, at least 1 character. Router support (supported): Controls video content; missing or empty values return 400."
|
|
16204
|
+
},
|
|
16205
|
+
{
|
|
16206
|
+
"name": "seconds",
|
|
16207
|
+
"type": "object",
|
|
16208
|
+
"required": false,
|
|
16209
|
+
"description": "Takes precedence over duration."
|
|
16210
|
+
},
|
|
16211
|
+
{
|
|
16212
|
+
"name": "duration",
|
|
16213
|
+
"type": "integer",
|
|
16214
|
+
"required": false,
|
|
16215
|
+
"description": "Length of the video in whole seconds. `seconds` takes precedence when both are given."
|
|
16216
|
+
},
|
|
16217
|
+
{
|
|
16218
|
+
"name": "size",
|
|
16219
|
+
"type": "string",
|
|
16220
|
+
"required": false,
|
|
16221
|
+
"description": "Output resolution as `WIDTHxHEIGHT`, for example `1280x720`. Router support (partial): Subject to model capability preflight. Earlier wan2.7-t2v samples always produced 1280x720; accepted sizes are not guaranteed pixel-for-pixel."
|
|
16222
|
+
},
|
|
16223
|
+
{
|
|
16224
|
+
"name": "input_reference",
|
|
16225
|
+
"type": "object",
|
|
16226
|
+
"required": false,
|
|
16227
|
+
"description": "Reference image for image-to-video: a URL or base64 data URL, an object with `image_url`, or an uploaded image file (multipart, at most 20 MiB)."
|
|
16228
|
+
},
|
|
16229
|
+
{
|
|
16230
|
+
"name": "input_references",
|
|
16231
|
+
"type": "array",
|
|
16232
|
+
"itemType": "object",
|
|
16233
|
+
"required": false,
|
|
16234
|
+
"description": "Several reference images; each entry is a URL or base64 data URL, or an object with `image_url`."
|
|
16235
|
+
},
|
|
16236
|
+
{
|
|
16237
|
+
"name": "frame_images",
|
|
16238
|
+
"type": "array",
|
|
16239
|
+
"itemType": "object",
|
|
16240
|
+
"required": false,
|
|
16241
|
+
"description": "Images that pin the first and last frame; at most 2 entries."
|
|
16242
|
+
},
|
|
16243
|
+
{
|
|
16244
|
+
"name": "resolution",
|
|
16245
|
+
"type": "string",
|
|
16246
|
+
"required": false,
|
|
16247
|
+
"description": "Output resolution label such as `720p`, for models that take a label instead of `size`."
|
|
16248
|
+
},
|
|
16249
|
+
{
|
|
16250
|
+
"name": "aspect_ratio",
|
|
16251
|
+
"type": "string",
|
|
16252
|
+
"required": false,
|
|
16253
|
+
"description": "Aspect ratio of the video such as `16:9`."
|
|
16254
|
+
},
|
|
16255
|
+
{
|
|
16256
|
+
"name": "generate_audio",
|
|
16257
|
+
"type": "boolean",
|
|
16258
|
+
"required": false,
|
|
16259
|
+
"description": "Whether the video carries a generated audio track. Router support (supported): false produces no audio track on wan2.7-t2v; the default output includes audio."
|
|
16260
|
+
},
|
|
16261
|
+
{
|
|
16262
|
+
"name": "seed",
|
|
16263
|
+
"type": "integer",
|
|
16264
|
+
"required": false,
|
|
16265
|
+
"description": "Seed for reproducible generation, on models that support it."
|
|
16266
|
+
},
|
|
16267
|
+
{
|
|
16268
|
+
"name": "callback_url",
|
|
16269
|
+
"type": "string",
|
|
16270
|
+
"required": false,
|
|
16271
|
+
"description": "HTTP or HTTPS callback URL, forwarded to models that support completion callbacks."
|
|
16272
|
+
},
|
|
16273
|
+
{
|
|
16274
|
+
"name": "quality",
|
|
16275
|
+
"type": "string",
|
|
16276
|
+
"required": false,
|
|
16277
|
+
"description": "Provider-specific quality setting."
|
|
16278
|
+
}
|
|
16279
|
+
]
|
|
16280
|
+
}
|
|
16281
|
+
},
|
|
16282
|
+
{
|
|
16283
|
+
"resource": "model.videos",
|
|
16284
|
+
"method": "delete",
|
|
16285
|
+
"summary": "Delete video",
|
|
16286
|
+
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16287
|
+
"http": "DELETE",
|
|
16288
|
+
"path": "/model/v1/videos/{video_id}",
|
|
16289
|
+
"streaming": "no",
|
|
16290
|
+
"pagination": false,
|
|
16291
|
+
"pathParams": [
|
|
16292
|
+
{
|
|
16293
|
+
"name": "video_id",
|
|
16294
|
+
"sdkName": "video_id",
|
|
16295
|
+
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
16296
|
+
}
|
|
16297
|
+
],
|
|
16298
|
+
"query": []
|
|
16299
|
+
},
|
|
16300
|
+
{
|
|
16301
|
+
"resource": "model.videos",
|
|
16302
|
+
"method": "retrieve",
|
|
16303
|
+
"summary": "Retrieve video",
|
|
16304
|
+
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16305
|
+
"http": "GET",
|
|
16306
|
+
"path": "/model/v1/videos/{video_id}",
|
|
16307
|
+
"streaming": "no",
|
|
16308
|
+
"pagination": false,
|
|
16309
|
+
"pathParams": [
|
|
16310
|
+
{
|
|
16311
|
+
"name": "video_id",
|
|
16312
|
+
"sdkName": "video_id",
|
|
16313
|
+
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
16314
|
+
}
|
|
16315
|
+
],
|
|
16316
|
+
"query": []
|
|
16317
|
+
},
|
|
16318
|
+
{
|
|
16319
|
+
"resource": "model.videos",
|
|
16320
|
+
"method": "retrieveContent",
|
|
16321
|
+
"summary": "Download video",
|
|
16322
|
+
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16323
|
+
"http": "GET",
|
|
16324
|
+
"path": "/model/v1/videos/{video_id}/content",
|
|
16325
|
+
"streaming": "no",
|
|
16326
|
+
"pagination": false,
|
|
16327
|
+
"pathParams": [
|
|
16328
|
+
{
|
|
16329
|
+
"name": "video_id",
|
|
16330
|
+
"sdkName": "video_id",
|
|
16331
|
+
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
16332
|
+
}
|
|
16333
|
+
],
|
|
16334
|
+
"query": [
|
|
16335
|
+
{
|
|
16336
|
+
"name": "variant",
|
|
16337
|
+
"type": "string",
|
|
16338
|
+
"enum": [
|
|
16339
|
+
"video",
|
|
16340
|
+
"thumbnail",
|
|
16341
|
+
"spritesheet"
|
|
16342
|
+
],
|
|
16343
|
+
"required": false,
|
|
16344
|
+
"description": "Spritesheet is not available in this release (400)."
|
|
16345
|
+
},
|
|
16346
|
+
{
|
|
16347
|
+
"name": "index",
|
|
16348
|
+
"type": "integer",
|
|
16349
|
+
"required": false,
|
|
16350
|
+
"description": "Output index; this release produces index 0. variant takes precedence."
|
|
16351
|
+
}
|
|
16352
|
+
]
|
|
16353
|
+
},
|
|
16354
|
+
{
|
|
16355
|
+
"resource": "model.videos",
|
|
16356
|
+
"method": "remix",
|
|
16357
|
+
"summary": "Remix video",
|
|
16358
|
+
"description": "Not supported in this release; always returns 400.",
|
|
16359
|
+
"http": "POST",
|
|
16360
|
+
"path": "/model/v1/videos/{video_id}/remix",
|
|
16361
|
+
"streaming": "no",
|
|
16362
|
+
"pagination": false,
|
|
16363
|
+
"pathParams": [
|
|
16364
|
+
{
|
|
16365
|
+
"name": "video_id",
|
|
16366
|
+
"sdkName": "video_id",
|
|
16367
|
+
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
16368
|
+
}
|
|
16369
|
+
],
|
|
16370
|
+
"query": []
|
|
16371
|
+
},
|
|
16372
|
+
{
|
|
16373
|
+
"resource": "ontology.changesets",
|
|
16374
|
+
"method": "create",
|
|
16375
|
+
"summary": "Apply changeset",
|
|
16376
|
+
"description": "Apply a batch of node, relation and invalidation operations as one transaction, when a mirror has several records to write together and a partial write would leave the graph inconsistent. Every operation succeeds or none is applied. Send an Idempotency-Key header; the same key with the same content replays the first result, and the same key with different content is ONTOLOGY_CONFLICT.",
|
|
16377
|
+
"http": "POST",
|
|
16378
|
+
"path": "/ontology/v1/changesets",
|
|
16379
|
+
"streaming": "no",
|
|
16380
|
+
"pagination": false,
|
|
16381
|
+
"pathParams": [],
|
|
16382
|
+
"query": [],
|
|
16383
|
+
"body": {
|
|
16384
|
+
"required": true,
|
|
16385
|
+
"fields": [
|
|
16386
|
+
{
|
|
16387
|
+
"name": "at",
|
|
16388
|
+
"type": "string",
|
|
16389
|
+
"required": true,
|
|
16390
|
+
"description": "World time the batch describes, in ISO 8601 UTC; operations without their own time are dated by it."
|
|
16391
|
+
},
|
|
16392
|
+
{
|
|
16393
|
+
"name": "scope",
|
|
16394
|
+
"type": "string",
|
|
16395
|
+
"required": false,
|
|
16396
|
+
"description": "Scope the batch came from, normally the session id it was observed in; it is stored with the operations for later reading."
|
|
16397
|
+
},
|
|
16398
|
+
{
|
|
16399
|
+
"name": "ops",
|
|
16400
|
+
"type": "array",
|
|
16401
|
+
"itemType": "object",
|
|
16402
|
+
"required": true,
|
|
16403
|
+
"description": "At most 500 operations, applied in order; each names its kind in op and the fields that kind requires."
|
|
16404
|
+
}
|
|
16405
|
+
]
|
|
16406
|
+
}
|
|
16407
|
+
},
|
|
16408
|
+
{
|
|
16409
|
+
"resource": "ontology.nodes",
|
|
16410
|
+
"method": "list",
|
|
16411
|
+
"summary": "List nodes",
|
|
16412
|
+
"description": "Discover the entities in this organization's graph and obtain node ids for retrieval, updates and relations. Filter by type, by free text over names, aliases, descriptions and facts, or by owner; limit is 1–100 and defaults to 50. Omit cursor for the first page, then copy next_cursor into the next request until it is null. A node whose content belongs to somebody else comes back as a restricted entry carrying only its id, type and name.",
|
|
16413
|
+
"http": "GET",
|
|
16414
|
+
"path": "/ontology/v1/nodes",
|
|
16415
|
+
"streaming": "no",
|
|
16416
|
+
"pagination": true,
|
|
16417
|
+
"pathParams": [],
|
|
16418
|
+
"query": [
|
|
16419
|
+
{
|
|
16420
|
+
"name": "type",
|
|
16421
|
+
"type": "array",
|
|
16422
|
+
"itemType": "string",
|
|
16423
|
+
"required": false,
|
|
16424
|
+
"description": "Repeat to filter to any of several registered node type names, for example type=file&type=ticket; omit to list every type."
|
|
16425
|
+
},
|
|
16426
|
+
{
|
|
16427
|
+
"name": "q",
|
|
16428
|
+
"type": "string",
|
|
16429
|
+
"required": false,
|
|
16430
|
+
"description": "Free text matched against node names, aliases and descriptions; omit to list without a text filter."
|
|
16431
|
+
},
|
|
16432
|
+
{
|
|
16433
|
+
"name": "owner",
|
|
16434
|
+
"type": "string",
|
|
16435
|
+
"required": false,
|
|
16436
|
+
"description": "Filter to nodes owned by this member id, or omit to list nodes of every owner; organization-wide nodes carry no owner."
|
|
16437
|
+
},
|
|
16438
|
+
{
|
|
16439
|
+
"name": "as_of",
|
|
16440
|
+
"type": "string",
|
|
16441
|
+
"required": false,
|
|
16442
|
+
"description": "ISO 8601 timestamp; return the graph as it was then, so a node recorded later is absent. Omit to read current state."
|
|
16443
|
+
},
|
|
16444
|
+
{
|
|
16445
|
+
"name": "limit",
|
|
16446
|
+
"type": "integer",
|
|
16447
|
+
"required": false,
|
|
16448
|
+
"description": "Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100."
|
|
16449
|
+
},
|
|
16450
|
+
{
|
|
16451
|
+
"name": "cursor",
|
|
16452
|
+
"type": "string",
|
|
16453
|
+
"required": false,
|
|
16454
|
+
"description": "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null."
|
|
16455
|
+
}
|
|
16456
|
+
]
|
|
16457
|
+
},
|
|
16458
|
+
{
|
|
16459
|
+
"resource": "ontology.nodes",
|
|
16460
|
+
"method": "create",
|
|
16461
|
+
"summary": "Create node",
|
|
16462
|
+
"description": "Record one entity in the graph, for a system mirroring a record it owns. type must already be registered and ref, when given, must match that type's ref_prefix. Send an Idempotency-Key header; repeating the same key with the same content returns the first result instead of creating a second node. This writes structure only — to give an agent something to remember, use POST /agent/v1/agents/{agent_id}/consolidations.",
|
|
16463
|
+
"http": "POST",
|
|
16464
|
+
"path": "/ontology/v1/nodes",
|
|
16465
|
+
"streaming": "no",
|
|
16466
|
+
"pagination": false,
|
|
16467
|
+
"pathParams": [],
|
|
16468
|
+
"query": [],
|
|
16469
|
+
"body": {
|
|
16470
|
+
"required": true,
|
|
16471
|
+
"fields": [
|
|
16472
|
+
{
|
|
16473
|
+
"name": "type",
|
|
16474
|
+
"type": "string",
|
|
16475
|
+
"required": true,
|
|
16476
|
+
"description": "Registered node type name from types.list; an unregistered name is refused and nothing is written."
|
|
16477
|
+
},
|
|
16478
|
+
{
|
|
16479
|
+
"name": "ref",
|
|
16480
|
+
"type": "string",
|
|
16481
|
+
"required": false,
|
|
16482
|
+
"description": "Id of the mirrored record in the owning service, which must start with the type's ref_prefix; omit or null for a concept with no external record."
|
|
16483
|
+
},
|
|
16484
|
+
{
|
|
16485
|
+
"name": "name",
|
|
16486
|
+
"type": "string",
|
|
16487
|
+
"required": true,
|
|
16488
|
+
"description": "Display name of the entity, at most 200 characters."
|
|
16489
|
+
},
|
|
16490
|
+
{
|
|
16491
|
+
"name": "aliases",
|
|
16492
|
+
"type": "array",
|
|
16493
|
+
"itemType": "string",
|
|
16494
|
+
"required": false,
|
|
16495
|
+
"description": "Other names this entity is known by; they are matched by search alongside the name."
|
|
16496
|
+
},
|
|
16497
|
+
{
|
|
16498
|
+
"name": "description",
|
|
16499
|
+
"type": "string",
|
|
16500
|
+
"required": false,
|
|
16501
|
+
"description": "Profile of the entity, at most 500 characters; omit or null for none."
|
|
16502
|
+
},
|
|
16503
|
+
{
|
|
16504
|
+
"name": "owner",
|
|
16505
|
+
"type": "string",
|
|
16506
|
+
"required": false,
|
|
16507
|
+
"description": "Member id whose content this is, restricting it to that member; omit or null to make it readable organization-wide."
|
|
16508
|
+
}
|
|
16509
|
+
]
|
|
16510
|
+
}
|
|
16511
|
+
},
|
|
16512
|
+
{
|
|
16513
|
+
"resource": "ontology.nodes",
|
|
16514
|
+
"method": "retrieve",
|
|
16515
|
+
"summary": "Retrieve node",
|
|
16516
|
+
"description": "Read one node's content and, with expand=relations, every relation on and around it. as_of reads the node as it was at that time. A node id from another organization, or one that never existed, answers ONTOLOGY_NODE_NOT_FOUND; a node you may reach but not read returns restricted true with its name only.",
|
|
16517
|
+
"http": "GET",
|
|
16518
|
+
"path": "/ontology/v1/nodes/{node_id}",
|
|
16519
|
+
"streaming": "no",
|
|
16520
|
+
"pagination": false,
|
|
16521
|
+
"pathParams": [
|
|
16522
|
+
{
|
|
16523
|
+
"name": "node_id",
|
|
16524
|
+
"sdkName": "node_id",
|
|
16525
|
+
"description": "Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted."
|
|
16526
|
+
}
|
|
16527
|
+
],
|
|
16528
|
+
"query": [
|
|
16529
|
+
{
|
|
16530
|
+
"name": "expand",
|
|
16531
|
+
"type": "string",
|
|
16532
|
+
"enum": [
|
|
16533
|
+
"relations"
|
|
16534
|
+
],
|
|
16535
|
+
"required": false,
|
|
16536
|
+
"description": "Set to relations to include the node's incoming and outgoing relations in the same response; omit for the node alone."
|
|
16537
|
+
},
|
|
16538
|
+
{
|
|
16539
|
+
"name": "as_of",
|
|
16540
|
+
"type": "string",
|
|
16541
|
+
"required": false,
|
|
16542
|
+
"description": "ISO 8601 timestamp; read the node and its relations as they were then, including relations invalidated since. Omit to read current state."
|
|
16543
|
+
}
|
|
16544
|
+
]
|
|
16545
|
+
},
|
|
16546
|
+
{
|
|
16547
|
+
"resource": "ontology.nodes",
|
|
16548
|
+
"method": "update",
|
|
16549
|
+
"summary": "Update node",
|
|
16550
|
+
"description": "Change a node's name, aliases or description when the mirrored record was renamed, without touching its type or identity. Send only the fields to change; omitted fields keep their current values and an explicitly null description clears it. Repeating the same edit converges on the same node, so this needs no Idempotency-Key.",
|
|
16551
|
+
"http": "PATCH",
|
|
16552
|
+
"path": "/ontology/v1/nodes/{node_id}",
|
|
16553
|
+
"streaming": "no",
|
|
16554
|
+
"pagination": false,
|
|
16555
|
+
"pathParams": [
|
|
16556
|
+
{
|
|
16557
|
+
"name": "node_id",
|
|
16558
|
+
"sdkName": "node_id",
|
|
16559
|
+
"description": "Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted."
|
|
16560
|
+
}
|
|
16561
|
+
],
|
|
16562
|
+
"query": [],
|
|
16563
|
+
"body": {
|
|
16564
|
+
"required": true,
|
|
16565
|
+
"fields": [
|
|
16566
|
+
{
|
|
16567
|
+
"name": "name",
|
|
16568
|
+
"type": "string",
|
|
16569
|
+
"required": false,
|
|
16570
|
+
"description": "New display name, at most 200 characters; omit to keep the current name."
|
|
16571
|
+
},
|
|
16572
|
+
{
|
|
16573
|
+
"name": "aliases",
|
|
16574
|
+
"type": "array",
|
|
16575
|
+
"itemType": "string",
|
|
16576
|
+
"required": false,
|
|
16577
|
+
"description": "Replacement alias list; an empty array clears the aliases and omitting the field keeps them."
|
|
16578
|
+
},
|
|
16579
|
+
{
|
|
16580
|
+
"name": "description",
|
|
16581
|
+
"type": "string",
|
|
16582
|
+
"required": false,
|
|
16583
|
+
"description": "Replacement profile, at most 500 characters; an explicit null clears it and omitting the field keeps it."
|
|
16584
|
+
}
|
|
16585
|
+
]
|
|
16586
|
+
}
|
|
16587
|
+
},
|
|
16588
|
+
{
|
|
16589
|
+
"resource": "ontology.nodes.merge",
|
|
16590
|
+
"method": "create",
|
|
16591
|
+
"summary": "Merge node",
|
|
16592
|
+
"description": "Fold a duplicate node into the node that should survive, when two records are discovered to be the same entity. The merged node's relations and aliases move to the survivor and later reads of the duplicate resolve to it. Send an Idempotency-Key header; repeating the same key replays the first result. Reversal is a staff operation, not available here.",
|
|
16593
|
+
"http": "POST",
|
|
16594
|
+
"path": "/ontology/v1/nodes/{node_id}/merge",
|
|
16595
|
+
"streaming": "no",
|
|
16596
|
+
"pagination": false,
|
|
16597
|
+
"pathParams": [
|
|
16598
|
+
{
|
|
16599
|
+
"name": "node_id",
|
|
16600
|
+
"sdkName": "node_id",
|
|
16601
|
+
"description": "Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted."
|
|
16602
|
+
}
|
|
16603
|
+
],
|
|
16604
|
+
"query": [],
|
|
16605
|
+
"body": {
|
|
16606
|
+
"required": true,
|
|
16607
|
+
"fields": [
|
|
16608
|
+
{
|
|
16609
|
+
"name": "into",
|
|
16610
|
+
"type": "string",
|
|
16611
|
+
"required": true,
|
|
16612
|
+
"description": "Node id that should survive, from nodes.list or search; the merged node's relations and aliases move to it."
|
|
16613
|
+
}
|
|
16614
|
+
]
|
|
16615
|
+
}
|
|
16616
|
+
},
|
|
16617
|
+
{
|
|
16618
|
+
"resource": "ontology.relations",
|
|
16619
|
+
"method": "list",
|
|
16620
|
+
"summary": "List relations",
|
|
16621
|
+
"description": "Read the facts in the graph and obtain relation ids for retrieval, invalidation or spreading. Filter by endpoint node, by type and by direction; as_of reads the relations as they were then. Invalidated relations are omitted unless include_invalid is true. limit is 1–100 and defaults to 50; follow next_cursor until it is null.",
|
|
16622
|
+
"http": "GET",
|
|
16623
|
+
"path": "/ontology/v1/relations",
|
|
16624
|
+
"streaming": "no",
|
|
16625
|
+
"pagination": true,
|
|
16626
|
+
"pathParams": [],
|
|
16627
|
+
"query": [
|
|
16628
|
+
{
|
|
16629
|
+
"name": "node",
|
|
16630
|
+
"type": "string",
|
|
16631
|
+
"required": false,
|
|
16632
|
+
"description": "A node id from nodes.list or nodes.create; returns the relations this node takes part in, narrowed by direction. Omit to list relations between every node."
|
|
16633
|
+
},
|
|
16634
|
+
{
|
|
16635
|
+
"name": "type",
|
|
16636
|
+
"type": "array",
|
|
16637
|
+
"itemType": "string",
|
|
16638
|
+
"required": false,
|
|
16639
|
+
"description": "Repeat to filter to any of several registered relation type names, for example type=references&type=serves; omit to list every type."
|
|
16640
|
+
},
|
|
16641
|
+
{
|
|
16642
|
+
"name": "direction",
|
|
16643
|
+
"type": "string",
|
|
16644
|
+
"enum": [
|
|
16645
|
+
"out",
|
|
16646
|
+
"in",
|
|
16647
|
+
"both"
|
|
16648
|
+
],
|
|
16649
|
+
"required": false,
|
|
16650
|
+
"description": "Which side of node to follow; out returns relations the node is the source of, in returns those it is the target of. Only meaningful together with node."
|
|
16651
|
+
},
|
|
16652
|
+
{
|
|
16653
|
+
"name": "as_of",
|
|
16654
|
+
"type": "string",
|
|
16655
|
+
"required": false,
|
|
16656
|
+
"description": "ISO 8601 timestamp; read relations as they were then, so one recorded or invalidated later is judged by that time. Omit to read current state."
|
|
16657
|
+
},
|
|
16658
|
+
{
|
|
16659
|
+
"name": "include_invalid",
|
|
16660
|
+
"type": "boolean",
|
|
16661
|
+
"required": false,
|
|
16662
|
+
"description": "Set true to include relations whose invalid_at has passed, which is how a relation that stopped being true stays readable. Omit or false for currently valid relations only."
|
|
16663
|
+
},
|
|
16664
|
+
{
|
|
16665
|
+
"name": "limit",
|
|
16666
|
+
"type": "integer",
|
|
16667
|
+
"required": false,
|
|
16668
|
+
"description": "Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100."
|
|
16669
|
+
},
|
|
16670
|
+
{
|
|
16671
|
+
"name": "cursor",
|
|
16672
|
+
"type": "string",
|
|
16673
|
+
"required": false,
|
|
16674
|
+
"description": "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null."
|
|
16675
|
+
}
|
|
16676
|
+
]
|
|
16677
|
+
},
|
|
16678
|
+
{
|
|
16679
|
+
"resource": "ontology.relations",
|
|
16680
|
+
"method": "create",
|
|
16681
|
+
"summary": "Create relation",
|
|
16682
|
+
"description": "Record one fact between two existing nodes, for a system mirroring a relationship it owns. type must be registered and must admit these endpoints; fact states the relationship in one sentence. Send an Idempotency-Key header; repeating the same key returns the first result instead of writing a second relation. This writes structure only — to give an agent something to remember, use POST /agent/v1/agents/{agent_id}/consolidations.",
|
|
16683
|
+
"http": "POST",
|
|
16684
|
+
"path": "/ontology/v1/relations",
|
|
16685
|
+
"streaming": "no",
|
|
16686
|
+
"pagination": false,
|
|
16687
|
+
"pathParams": [],
|
|
16688
|
+
"query": [],
|
|
16689
|
+
"body": {
|
|
16690
|
+
"required": true,
|
|
16691
|
+
"fields": [
|
|
16692
|
+
{
|
|
16693
|
+
"name": "type",
|
|
16694
|
+
"type": "string",
|
|
16695
|
+
"required": true,
|
|
16696
|
+
"description": "Registered relation type name from types.list; it must admit both endpoints or the write is refused."
|
|
16697
|
+
},
|
|
16698
|
+
{
|
|
16699
|
+
"name": "source",
|
|
16700
|
+
"type": "string",
|
|
16701
|
+
"required": true,
|
|
16702
|
+
"description": "Node id the fact starts from, from nodes.list or nodes.create."
|
|
16703
|
+
},
|
|
16704
|
+
{
|
|
16705
|
+
"name": "target",
|
|
16706
|
+
"type": "string",
|
|
16707
|
+
"required": true,
|
|
16708
|
+
"description": "Node id the fact points at, from nodes.list or nodes.create."
|
|
16709
|
+
},
|
|
16710
|
+
{
|
|
16711
|
+
"name": "fact",
|
|
16712
|
+
"type": "string",
|
|
16713
|
+
"required": true,
|
|
16714
|
+
"description": "The relationship in one sentence, at most 280 characters, written to read back on its own."
|
|
16715
|
+
},
|
|
16716
|
+
{
|
|
16717
|
+
"name": "valid_at",
|
|
16718
|
+
"type": "string",
|
|
16719
|
+
"required": false,
|
|
16720
|
+
"description": "World time the fact became true, when the mirrored record dates it; omit to leave it undated."
|
|
16721
|
+
},
|
|
16722
|
+
{
|
|
16723
|
+
"name": "owner",
|
|
16724
|
+
"type": "string",
|
|
16725
|
+
"required": false,
|
|
16726
|
+
"description": "Member id whose content this fact is, restricting it to that member; omit or null for organization-wide."
|
|
16727
|
+
}
|
|
16728
|
+
]
|
|
16729
|
+
}
|
|
16730
|
+
},
|
|
16731
|
+
{
|
|
16732
|
+
"resource": "ontology.relations",
|
|
16733
|
+
"method": "retrieve",
|
|
16734
|
+
"summary": "Retrieve relation",
|
|
16735
|
+
"description": "Read one relation's fact and both of its clocks — valid_at and invalid_at for when it was true in the world, created_at and expired_at for when it was recorded and retired. An id from another organization, or one that never existed, answers ONTOLOGY_EDGE_NOT_FOUND.",
|
|
16736
|
+
"http": "GET",
|
|
16737
|
+
"path": "/ontology/v1/relations/{relation_id}",
|
|
15707
16738
|
"streaming": "no",
|
|
15708
16739
|
"pagination": false,
|
|
15709
16740
|
"pathParams": [
|
|
15710
16741
|
{
|
|
15711
|
-
"name": "
|
|
15712
|
-
"sdkName": "
|
|
15713
|
-
"description": "
|
|
16742
|
+
"name": "relation_id",
|
|
16743
|
+
"sdkName": "relation_id",
|
|
16744
|
+
"description": "Relation id returned by relations.list, relations.create or a changeset, in the form oed_ followed by 32 lowercase letters or digits; a node id is not accepted."
|
|
15714
16745
|
}
|
|
15715
16746
|
],
|
|
15716
16747
|
"query": []
|
|
15717
16748
|
},
|
|
15718
16749
|
{
|
|
15719
|
-
"resource": "
|
|
15720
|
-
"method": "
|
|
15721
|
-
"summary": "
|
|
15722
|
-
"description": "
|
|
15723
|
-
"http": "
|
|
15724
|
-
"path": "/
|
|
16750
|
+
"resource": "ontology.relations.invalidate",
|
|
16751
|
+
"method": "create",
|
|
16752
|
+
"summary": "Invalidate relation",
|
|
16753
|
+
"description": "Mark a relation as no longer true from a world time, when the mirrored record changed. The relation is kept — invalid_at moves and the relation still reads at an earlier as_of, so history stays answerable. Send an Idempotency-Key header; repeating the same key replays the first result. There is no delete.",
|
|
16754
|
+
"http": "POST",
|
|
16755
|
+
"path": "/ontology/v1/relations/{relation_id}/invalidate",
|
|
15725
16756
|
"streaming": "no",
|
|
15726
16757
|
"pagination": false,
|
|
15727
16758
|
"pathParams": [
|
|
15728
16759
|
{
|
|
15729
|
-
"name": "
|
|
15730
|
-
"sdkName": "
|
|
15731
|
-
"description": "
|
|
16760
|
+
"name": "relation_id",
|
|
16761
|
+
"sdkName": "relation_id",
|
|
16762
|
+
"description": "Relation id returned by relations.list, relations.create or a changeset, in the form oed_ followed by 32 lowercase letters or digits; a node id is not accepted."
|
|
15732
16763
|
}
|
|
15733
16764
|
],
|
|
15734
|
-
"query": []
|
|
16765
|
+
"query": [],
|
|
16766
|
+
"body": {
|
|
16767
|
+
"required": true,
|
|
16768
|
+
"fields": [
|
|
16769
|
+
{
|
|
16770
|
+
"name": "invalid_at",
|
|
16771
|
+
"type": "string",
|
|
16772
|
+
"required": true,
|
|
16773
|
+
"description": "World time the fact stopped being true, in ISO 8601 UTC; reads at an earlier as_of still return the relation."
|
|
16774
|
+
},
|
|
16775
|
+
{
|
|
16776
|
+
"name": "superseded_by",
|
|
16777
|
+
"type": "string",
|
|
16778
|
+
"required": false,
|
|
16779
|
+
"description": "Relation id that replaces this one, when a successor was recorded; omit or null when nothing replaced it."
|
|
16780
|
+
},
|
|
16781
|
+
{
|
|
16782
|
+
"name": "reason",
|
|
16783
|
+
"type": "string",
|
|
16784
|
+
"required": false,
|
|
16785
|
+
"description": "Why it stopped being true, for people reading the history later; not enforced and safe to omit."
|
|
16786
|
+
}
|
|
16787
|
+
]
|
|
16788
|
+
}
|
|
15735
16789
|
},
|
|
15736
16790
|
{
|
|
15737
|
-
"resource": "
|
|
16791
|
+
"resource": "ontology.search",
|
|
15738
16792
|
"method": "create",
|
|
15739
|
-
"summary": "
|
|
15740
|
-
"description": "
|
|
16793
|
+
"summary": "Search nodes",
|
|
16794
|
+
"description": "Resolve text to the nodes it most likely names, when a mirror holds a name and needs the node id it corresponds to. Results are ranked candidates, not an answer, each reporting whether the match came from the node's name, an alias, its description or a relation's fact. Narrow with types, and cap the result count with limit (1–50, default 20). This reads structure; it is not an agent recall — agents recall through POST /agent/v1/agents/{agent_id}/consolidations.",
|
|
15741
16795
|
"http": "POST",
|
|
15742
|
-
"path": "/
|
|
16796
|
+
"path": "/ontology/v1/search",
|
|
15743
16797
|
"streaming": "no",
|
|
15744
16798
|
"pagination": false,
|
|
15745
16799
|
"pathParams": [],
|
|
@@ -15748,257 +16802,102 @@ export const operations = [
|
|
|
15748
16802
|
"required": true,
|
|
15749
16803
|
"fields": [
|
|
15750
16804
|
{
|
|
15751
|
-
"name": "
|
|
16805
|
+
"name": "text",
|
|
15752
16806
|
"type": "string",
|
|
15753
16807
|
"required": true,
|
|
15754
|
-
"description": "
|
|
16808
|
+
"description": "Text to find nodes for, matched against names, aliases, descriptions and relation facts; an empty string is refused."
|
|
15755
16809
|
},
|
|
15756
16810
|
{
|
|
15757
|
-
"name": "
|
|
15758
|
-
"type": "
|
|
15759
|
-
"
|
|
15760
|
-
"
|
|
16811
|
+
"name": "types",
|
|
16812
|
+
"type": "array",
|
|
16813
|
+
"itemType": "string",
|
|
16814
|
+
"required": false,
|
|
16815
|
+
"description": "Registered node type names to search within; omit to search every type."
|
|
15761
16816
|
},
|
|
15762
16817
|
{
|
|
15763
|
-
"name": "
|
|
16818
|
+
"name": "window",
|
|
15764
16819
|
"type": "object",
|
|
15765
|
-
"required":
|
|
15766
|
-
"description": "
|
|
16820
|
+
"required": false,
|
|
16821
|
+
"description": "Restrict matches to facts recorded within a period; omit to search all time."
|
|
15767
16822
|
},
|
|
15768
16823
|
{
|
|
15769
|
-
"name": "
|
|
15770
|
-
"type": "
|
|
16824
|
+
"name": "limit",
|
|
16825
|
+
"type": "integer",
|
|
15771
16826
|
"required": false,
|
|
15772
|
-
"description": "
|
|
16827
|
+
"description": "Maximum candidate nodes to return, from 1 to 50; defaults to 20 when omitted."
|
|
15773
16828
|
}
|
|
15774
16829
|
]
|
|
15775
16830
|
}
|
|
15776
16831
|
},
|
|
15777
16832
|
{
|
|
15778
|
-
"resource": "
|
|
16833
|
+
"resource": "ontology.types",
|
|
15779
16834
|
"method": "list",
|
|
15780
|
-
"summary": "List
|
|
15781
|
-
"description": "
|
|
16835
|
+
"summary": "List types",
|
|
16836
|
+
"description": "Read the node and relation types registered for this organization before writing, so a create names a type the graph accepts. Each entry is one registrant's registration with its owner, version and definitions. Types cannot be created at runtime; they are registered by the owning service at deploy time, so a type missing here is not available to write.",
|
|
15782
16837
|
"http": "GET",
|
|
15783
|
-
"path": "/
|
|
16838
|
+
"path": "/ontology/v1/types",
|
|
15784
16839
|
"streaming": "no",
|
|
15785
16840
|
"pagination": false,
|
|
15786
16841
|
"pathParams": [],
|
|
15787
|
-
"query": [
|
|
15788
|
-
{
|
|
15789
|
-
"name": "after",
|
|
15790
|
-
"type": "string",
|
|
15791
|
-
"required": false,
|
|
15792
|
-
"description": "Cursor: the id of the video job after which the page starts, normally the `last_id` of the previous page. It must refer to an existing job of yours, otherwise the call fails."
|
|
15793
|
-
},
|
|
15794
|
-
{
|
|
15795
|
-
"name": "limit",
|
|
15796
|
-
"type": "integer",
|
|
15797
|
-
"required": false,
|
|
15798
|
-
"description": "Maximum number of jobs per page, from 1 to 100; defaults to 20."
|
|
15799
|
-
},
|
|
15800
|
-
{
|
|
15801
|
-
"name": "order",
|
|
15802
|
-
"type": "string",
|
|
15803
|
-
"enum": [
|
|
15804
|
-
"asc",
|
|
15805
|
-
"desc"
|
|
15806
|
-
],
|
|
15807
|
-
"required": false,
|
|
15808
|
-
"description": "Sort order by creation time: desc (default) lists the newest job first, asc the oldest first."
|
|
15809
|
-
}
|
|
15810
|
-
]
|
|
16842
|
+
"query": []
|
|
15811
16843
|
},
|
|
15812
16844
|
{
|
|
15813
|
-
"resource": "
|
|
16845
|
+
"resource": "ontology.types",
|
|
15814
16846
|
"method": "create",
|
|
15815
|
-
"summary": "
|
|
15816
|
-
"description": "
|
|
16847
|
+
"summary": "Register type",
|
|
16848
|
+
"description": "Register a node or relation type for this organization. Not open yet — this call currently answers 501 NOT_IMPLEMENTED and writes nothing, because a registration is checked and stored by the deploy gate that ships the registering service, not by a runtime call. Until it opens, read the types already in force with praxis.ontology.types.list and create records only of those types.",
|
|
15817
16849
|
"http": "POST",
|
|
15818
|
-
"path": "/
|
|
16850
|
+
"path": "/ontology/v1/types",
|
|
15819
16851
|
"streaming": "no",
|
|
15820
16852
|
"pagination": false,
|
|
15821
|
-
"multipart": true,
|
|
15822
16853
|
"pathParams": [],
|
|
15823
16854
|
"query": [],
|
|
15824
16855
|
"body": {
|
|
15825
16856
|
"required": true,
|
|
15826
16857
|
"fields": [
|
|
15827
16858
|
{
|
|
15828
|
-
"name": "
|
|
15829
|
-
"type": "string",
|
|
15830
|
-
"required": false,
|
|
15831
|
-
"description": "Video model id, for example `wan2.7-t2v`; list candidates with listModels?type=video. Router support (partial): Select a registered video model explicitly, for example wan2.7-t2v (size=1280x720, seconds=4). Capability preflight errors are reported before creation."
|
|
15832
|
-
},
|
|
15833
|
-
{
|
|
15834
|
-
"name": "prompt",
|
|
16859
|
+
"name": "owner",
|
|
15835
16860
|
"type": "string",
|
|
15836
16861
|
"required": true,
|
|
15837
|
-
"description": "
|
|
15838
|
-
},
|
|
15839
|
-
{
|
|
15840
|
-
"name": "seconds",
|
|
15841
|
-
"type": "object",
|
|
15842
|
-
"required": false,
|
|
15843
|
-
"description": "Takes precedence over duration."
|
|
16862
|
+
"description": "Service that registered these types, for example file or ticket; it is the registrant a later change to a type is checked against."
|
|
15844
16863
|
},
|
|
15845
16864
|
{
|
|
15846
|
-
"name": "
|
|
16865
|
+
"name": "version",
|
|
15847
16866
|
"type": "integer",
|
|
15848
|
-
"required":
|
|
15849
|
-
"description": "
|
|
15850
|
-
},
|
|
15851
|
-
{
|
|
15852
|
-
"name": "size",
|
|
15853
|
-
"type": "string",
|
|
15854
|
-
"required": false,
|
|
15855
|
-
"description": "Output resolution as `WIDTHxHEIGHT`, for example `1280x720`. Router support (partial): Subject to model capability preflight. Earlier wan2.7-t2v samples always produced 1280x720; accepted sizes are not guaranteed pixel-for-pixel."
|
|
15856
|
-
},
|
|
15857
|
-
{
|
|
15858
|
-
"name": "input_reference",
|
|
15859
|
-
"type": "object",
|
|
15860
|
-
"required": false,
|
|
15861
|
-
"description": "Reference image for image-to-video: a URL or base64 data URL, an object with `image_url`, or an uploaded image file (multipart, at most 20 MiB)."
|
|
16867
|
+
"required": true,
|
|
16868
|
+
"description": "Monotonic version of this owner's registration; a later registration must extend this one without removing or narrowing anything."
|
|
15862
16869
|
},
|
|
15863
16870
|
{
|
|
15864
|
-
"name": "
|
|
16871
|
+
"name": "nodes",
|
|
15865
16872
|
"type": "array",
|
|
15866
16873
|
"itemType": "object",
|
|
15867
|
-
"required":
|
|
15868
|
-
"description": "
|
|
16874
|
+
"required": true,
|
|
16875
|
+
"description": "Node types this owner registers."
|
|
15869
16876
|
},
|
|
15870
16877
|
{
|
|
15871
|
-
"name": "
|
|
16878
|
+
"name": "edges",
|
|
15872
16879
|
"type": "array",
|
|
15873
16880
|
"itemType": "object",
|
|
15874
|
-
"required":
|
|
15875
|
-
"description": "
|
|
15876
|
-
},
|
|
15877
|
-
{
|
|
15878
|
-
"name": "resolution",
|
|
15879
|
-
"type": "string",
|
|
15880
|
-
"required": false,
|
|
15881
|
-
"description": "Output resolution label such as `720p`, for models that take a label instead of `size`."
|
|
15882
|
-
},
|
|
15883
|
-
{
|
|
15884
|
-
"name": "aspect_ratio",
|
|
15885
|
-
"type": "string",
|
|
15886
|
-
"required": false,
|
|
15887
|
-
"description": "Aspect ratio of the video such as `16:9`."
|
|
15888
|
-
},
|
|
15889
|
-
{
|
|
15890
|
-
"name": "generate_audio",
|
|
15891
|
-
"type": "boolean",
|
|
15892
|
-
"required": false,
|
|
15893
|
-
"description": "Whether the video carries a generated audio track. Router support (supported): false produces no audio track on wan2.7-t2v; the default output includes audio."
|
|
15894
|
-
},
|
|
15895
|
-
{
|
|
15896
|
-
"name": "seed",
|
|
15897
|
-
"type": "integer",
|
|
15898
|
-
"required": false,
|
|
15899
|
-
"description": "Seed for reproducible generation, on models that support it."
|
|
15900
|
-
},
|
|
15901
|
-
{
|
|
15902
|
-
"name": "callback_url",
|
|
15903
|
-
"type": "string",
|
|
15904
|
-
"required": false,
|
|
15905
|
-
"description": "HTTP or HTTPS callback URL, forwarded to models that support completion callbacks."
|
|
15906
|
-
},
|
|
15907
|
-
{
|
|
15908
|
-
"name": "quality",
|
|
15909
|
-
"type": "string",
|
|
15910
|
-
"required": false,
|
|
15911
|
-
"description": "Provider-specific quality setting."
|
|
16881
|
+
"required": true,
|
|
16882
|
+
"description": "Relation types this owner registers."
|
|
15912
16883
|
}
|
|
15913
16884
|
]
|
|
15914
16885
|
}
|
|
15915
16886
|
},
|
|
15916
16887
|
{
|
|
15917
|
-
"resource": "
|
|
15918
|
-
"method": "delete",
|
|
15919
|
-
"summary": "Delete video",
|
|
15920
|
-
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
15921
|
-
"http": "DELETE",
|
|
15922
|
-
"path": "/model/v1/videos/{video_id}",
|
|
15923
|
-
"streaming": "no",
|
|
15924
|
-
"pagination": false,
|
|
15925
|
-
"pathParams": [
|
|
15926
|
-
{
|
|
15927
|
-
"name": "video_id",
|
|
15928
|
-
"sdkName": "video_id",
|
|
15929
|
-
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
15930
|
-
}
|
|
15931
|
-
],
|
|
15932
|
-
"query": []
|
|
15933
|
-
},
|
|
15934
|
-
{
|
|
15935
|
-
"resource": "model.videos",
|
|
16888
|
+
"resource": "ontology.types",
|
|
15936
16889
|
"method": "retrieve",
|
|
15937
|
-
"summary": "Retrieve
|
|
15938
|
-
"description": "
|
|
15939
|
-
"http": "GET",
|
|
15940
|
-
"path": "/model/v1/videos/{video_id}",
|
|
15941
|
-
"streaming": "no",
|
|
15942
|
-
"pagination": false,
|
|
15943
|
-
"pathParams": [
|
|
15944
|
-
{
|
|
15945
|
-
"name": "video_id",
|
|
15946
|
-
"sdkName": "video_id",
|
|
15947
|
-
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
15948
|
-
}
|
|
15949
|
-
],
|
|
15950
|
-
"query": []
|
|
15951
|
-
},
|
|
15952
|
-
{
|
|
15953
|
-
"resource": "model.videos",
|
|
15954
|
-
"method": "retrieveContent",
|
|
15955
|
-
"summary": "Download video",
|
|
15956
|
-
"description": "OpenAI video API with OpenRouter request and response extensions.",
|
|
16890
|
+
"summary": "Retrieve type",
|
|
16891
|
+
"description": "Read one registered type's definition before writing a record of it, to learn whether it is a node or an edge, which endpoints an edge type admits, and which origins it accepts. The name comes from types.list; a name that is not registered answers ONTOLOGY_TYPE_UNKNOWN, and writes of that type are refused.",
|
|
15957
16892
|
"http": "GET",
|
|
15958
|
-
"path": "/
|
|
15959
|
-
"streaming": "no",
|
|
15960
|
-
"pagination": false,
|
|
15961
|
-
"pathParams": [
|
|
15962
|
-
{
|
|
15963
|
-
"name": "video_id",
|
|
15964
|
-
"sdkName": "video_id",
|
|
15965
|
-
"description": "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400."
|
|
15966
|
-
}
|
|
15967
|
-
],
|
|
15968
|
-
"query": [
|
|
15969
|
-
{
|
|
15970
|
-
"name": "variant",
|
|
15971
|
-
"type": "string",
|
|
15972
|
-
"enum": [
|
|
15973
|
-
"video",
|
|
15974
|
-
"thumbnail",
|
|
15975
|
-
"spritesheet"
|
|
15976
|
-
],
|
|
15977
|
-
"required": false,
|
|
15978
|
-
"description": "Spritesheet is not available in this release (400)."
|
|
15979
|
-
},
|
|
15980
|
-
{
|
|
15981
|
-
"name": "index",
|
|
15982
|
-
"type": "integer",
|
|
15983
|
-
"required": false,
|
|
15984
|
-
"description": "Output index; this release produces index 0. variant takes precedence."
|
|
15985
|
-
}
|
|
15986
|
-
]
|
|
15987
|
-
},
|
|
15988
|
-
{
|
|
15989
|
-
"resource": "model.videos",
|
|
15990
|
-
"method": "remix",
|
|
15991
|
-
"summary": "Remix video",
|
|
15992
|
-
"description": "Not supported in this release; always returns 400.",
|
|
15993
|
-
"http": "POST",
|
|
15994
|
-
"path": "/model/v1/videos/{video_id}/remix",
|
|
16893
|
+
"path": "/ontology/v1/types/{name}",
|
|
15995
16894
|
"streaming": "no",
|
|
15996
16895
|
"pagination": false,
|
|
15997
16896
|
"pathParams": [
|
|
15998
16897
|
{
|
|
15999
|
-
"name": "
|
|
16000
|
-
"sdkName": "
|
|
16001
|
-
"description": "
|
|
16898
|
+
"name": "name",
|
|
16899
|
+
"sdkName": "name",
|
|
16900
|
+
"description": "A type name from types.list, with its dots preserved — a display label is not accepted."
|
|
16002
16901
|
}
|
|
16003
16902
|
],
|
|
16004
16903
|
"query": []
|
|
@@ -18716,7 +19615,7 @@ export const operations = [
|
|
|
18716
19615
|
"resource": "ticket.labels",
|
|
18717
19616
|
"method": "create",
|
|
18718
19617
|
"summary": "Create or add labels",
|
|
18719
|
-
"description": "Create or add labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
19618
|
+
"description": "Create or add labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
18720
19619
|
"http": "POST",
|
|
18721
19620
|
"path": "/ticket/v1/labels",
|
|
18722
19621
|
"streaming": "no",
|
|
@@ -18758,7 +19657,7 @@ export const operations = [
|
|
|
18758
19657
|
"resource": "ticket.labels",
|
|
18759
19658
|
"method": "delete",
|
|
18760
19659
|
"summary": "Remove labels",
|
|
18761
|
-
"description": "Remove labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
19660
|
+
"description": "Remove labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
18762
19661
|
"http": "DELETE",
|
|
18763
19662
|
"path": "/ticket/v1/labels/{name}",
|
|
18764
19663
|
"streaming": "no",
|
|
@@ -18783,7 +19682,7 @@ export const operations = [
|
|
|
18783
19682
|
"resource": "ticket.labels",
|
|
18784
19683
|
"method": "update",
|
|
18785
19684
|
"summary": "Update labels",
|
|
18786
|
-
"description": "Update labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
19685
|
+
"description": "Update labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
18787
19686
|
"http": "PATCH",
|
|
18788
19687
|
"path": "/ticket/v1/labels/{name}",
|
|
18789
19688
|
"streaming": "no",
|
|
@@ -19079,7 +19978,7 @@ export const operations = [
|
|
|
19079
19978
|
"name": "filter",
|
|
19080
19979
|
"type": "string",
|
|
19081
19980
|
"required": false,
|
|
19082
|
-
"description": "Search qualifier subset: is/state, reason, label/-label, no, assignee, author, mentions, milestone, type, kind, assignee-kind, in and sort;
|
|
19981
|
+
"description": "Search qualifier subset: is/state, reason, label/-label, no, assignee, author, mentions, milestone, type, kind, assignee-kind, in and sort; write each qualifier as field:value (for example, is:open milestone:5), never field=value. Unknown qualifiers return INVALID_PARAMS. Passed unchanged to the service."
|
|
19083
19982
|
}
|
|
19084
19983
|
]
|
|
19085
19984
|
},
|
|
@@ -20185,7 +21084,7 @@ export const operations = [
|
|
|
20185
21084
|
"resource": "vault.vaults",
|
|
20186
21085
|
"method": "create",
|
|
20187
21086
|
"summary": "Create vault",
|
|
20188
|
-
"description": "Create an empty, active vault to hold credentials for your account, with a display name and optional metadata. Use its returned id as vault_id when creating secrets or OAuth authorizations.
|
|
21087
|
+
"description": "Create an empty, active vault to hold credentials for your account, with a display name and optional metadata. Use its returned id as vault_id when creating secrets or OAuth authorizations. Agent sessions and deployments accept up to 50 vault_ids and match their credentials against the session's MCP servers, so a stored static or oauth credential does serve as vault-backed MCP authentication; only environment_variable credentials are not yet placed, because the egress proxy ADR-058 §6 gives them is not built. Application vault references are also unavailable; praxis_vault_ref version bindings and secret writes with a vault source return 501, so creating a vault does not yet enable either consumer.",
|
|
20189
21088
|
"http": "POST",
|
|
20190
21089
|
"path": "/vault/v1/vaults",
|
|
20191
21090
|
"streaming": "no",
|