@deepraxis/sdk 0.1.1-dev.d73d5e4 → 0.1.1-dev.d8d3f52
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 +40 -1
- package/README.md +1 -1
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +90 -6
- package/dist/generated/sdk.gen.js +253 -5
- package/dist/generated/types.gen.d.ts +2178 -190
- package/dist/helpers/browser-actions.d.ts +2 -2
- package/dist/helpers/browser-actions.js +2 -2
- package/dist/helpers/browser-connect.js +2 -1
- package/dist/operations.generated.d.ts +493 -29
- package/dist/operations.generated.js +646 -29
- package/dist/resources.generated.d.ts +22 -0
- package/dist/resources.generated.js +22 -0
- package/package.json +1 -1
|
@@ -9931,7 +9931,7 @@ export const operations = [
|
|
|
9931
9931
|
"name": "to",
|
|
9932
9932
|
"type": "number",
|
|
9933
9933
|
"required": false,
|
|
9934
|
-
"description": "Range end for kind mix, in seconds on the project clock, exclusive. A range longer than 120 seconds is refused; request several ranges instead."
|
|
9934
|
+
"description": "Range end for kind mix, in seconds on the project clock, exclusive. An end up to 0.05 s past the timeline's end (a rounded duration) is read as the end; further past is refused. A range longer than 120 seconds is refused; request several ranges instead."
|
|
9935
9935
|
},
|
|
9936
9936
|
{
|
|
9937
9937
|
"name": "revision",
|
|
@@ -10085,7 +10085,7 @@ export const operations = [
|
|
|
10085
10085
|
"name": "folder",
|
|
10086
10086
|
"type": "string",
|
|
10087
10087
|
"required": false,
|
|
10088
|
-
"description": "Optional destination path within the bound media library; omitted uses its default folder."
|
|
10088
|
+
"description": "Optional destination path within the bound media library; omitted uses its default folder. Naming a binding or a folder also imports the finished video into that media library as an asset. Omit both and the export is a file only: read file.url to download it."
|
|
10089
10089
|
},
|
|
10090
10090
|
{
|
|
10091
10091
|
"name": "name",
|
|
@@ -10103,7 +10103,7 @@ export const operations = [
|
|
|
10103
10103
|
"name": "binding",
|
|
10104
10104
|
"type": "string",
|
|
10105
10105
|
"required": false,
|
|
10106
|
-
"description": "Writable binding name used as the export destination; omission uses default_upload."
|
|
10106
|
+
"description": "Writable binding name used as the export destination; omission uses default_upload. Naming a binding or a folder also imports the finished video into that media library as an asset. Omit both and the export is a file only; read file.url to download it."
|
|
10107
10107
|
},
|
|
10108
10108
|
{
|
|
10109
10109
|
"name": "revision",
|
|
@@ -10208,7 +10208,7 @@ export const operations = [
|
|
|
10208
10208
|
"resource": "cut.projects.renders",
|
|
10209
10209
|
"method": "create",
|
|
10210
10210
|
"summary": "Create draft range render",
|
|
10211
|
-
"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.",
|
|
10211
|
+
"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 (an end up to 0.05 s past it, a rounded duration, is read as the end), 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.",
|
|
10212
10212
|
"http": "POST",
|
|
10213
10213
|
"path": "/cut/v1/projects/{project_id}/renders",
|
|
10214
10214
|
"streaming": "no",
|
|
@@ -13441,6 +13441,41 @@ export const operations = [
|
|
|
13441
13441
|
]
|
|
13442
13442
|
}
|
|
13443
13443
|
},
|
|
13444
|
+
{
|
|
13445
|
+
"resource": "media.libraries",
|
|
13446
|
+
"method": "retrieveDefault",
|
|
13447
|
+
"summary": "Get default library",
|
|
13448
|
+
"description": "Return this organization’s default library. Calling ensures the organization’s default library exists (ADR-093): the first call creates it and later calls return the same library, so this is the method to call before writing when no library id is known. Generated and edited media land here when no library is named. The path segment {lib} accepts the literal default, which resolves to this library before the credential check — so an agent that has never listed libraries can still write to the right place. Returns the same Library object as libraries.retrieve; a credential bound to one library reaches this only when that binding covers the default library.",
|
|
13449
|
+
"http": "GET",
|
|
13450
|
+
"path": "/media/v1/libraries/default",
|
|
13451
|
+
"streaming": "no",
|
|
13452
|
+
"pagination": false,
|
|
13453
|
+
"pathParams": [],
|
|
13454
|
+
"query": []
|
|
13455
|
+
},
|
|
13456
|
+
{
|
|
13457
|
+
"resource": "media.libraries",
|
|
13458
|
+
"method": "setDefault",
|
|
13459
|
+
"summary": "Set default library",
|
|
13460
|
+
"description": "Point this organization’s default library at an existing library. Calling ensures the organization’s default library exists (ADR-093): the path is resolved before the credential check, so a first call creates the default library when there is none and then repoints it. The path segment {lib} accepts the literal default, which resolves to this library before the credential check. Supply library_id from library creation or listing; the library must be active and belong to the organization. This changes where library-less generation and uploads land across the whole organization, so it affects other callers as well as this one. It does not move or copy any asset — assets already in the previous default library stay there. Returns the library now set as the default. Deleting the default library is refused with LIBRARY_IS_DEFAULT until another library is made the default.",
|
|
13461
|
+
"http": "PUT",
|
|
13462
|
+
"path": "/media/v1/libraries/default",
|
|
13463
|
+
"streaming": "no",
|
|
13464
|
+
"pagination": false,
|
|
13465
|
+
"pathParams": [],
|
|
13466
|
+
"query": [],
|
|
13467
|
+
"body": {
|
|
13468
|
+
"required": true,
|
|
13469
|
+
"fields": [
|
|
13470
|
+
{
|
|
13471
|
+
"name": "library_id",
|
|
13472
|
+
"type": "string",
|
|
13473
|
+
"required": true,
|
|
13474
|
+
"description": "Identifier of a library belonging to the caller."
|
|
13475
|
+
}
|
|
13476
|
+
]
|
|
13477
|
+
}
|
|
13478
|
+
},
|
|
13444
13479
|
{
|
|
13445
13480
|
"resource": "media.libraries",
|
|
13446
13481
|
"method": "delete",
|
|
@@ -13565,6 +13600,25 @@ export const operations = [
|
|
|
13565
13600
|
"required": false,
|
|
13566
13601
|
"description": "image, video (including audio), raw; auto is accepted by Upload actions only, and listing with auto returns 400."
|
|
13567
13602
|
},
|
|
13603
|
+
{
|
|
13604
|
+
"name": "material_type",
|
|
13605
|
+
"type": "string",
|
|
13606
|
+
"enum": [
|
|
13607
|
+
"image",
|
|
13608
|
+
"video",
|
|
13609
|
+
"audio",
|
|
13610
|
+
"voice",
|
|
13611
|
+
"sticker",
|
|
13612
|
+
"font",
|
|
13613
|
+
"text_style",
|
|
13614
|
+
"text_template",
|
|
13615
|
+
"animation_preset",
|
|
13616
|
+
"lut",
|
|
13617
|
+
"transition_map"
|
|
13618
|
+
],
|
|
13619
|
+
"required": false,
|
|
13620
|
+
"description": "Filter assets to one kind of material, independent of the stored resource_type. Omit to list every material type. Assets stored before this field existed match no material_type filter."
|
|
13621
|
+
},
|
|
13568
13622
|
{
|
|
13569
13623
|
"name": "cursor",
|
|
13570
13624
|
"type": "string",
|
|
@@ -13925,6 +13979,68 @@ export const operations = [
|
|
|
13925
13979
|
]
|
|
13926
13980
|
}
|
|
13927
13981
|
},
|
|
13982
|
+
{
|
|
13983
|
+
"resource": "media.assets",
|
|
13984
|
+
"method": "edit",
|
|
13985
|
+
"summary": "Edit asset",
|
|
13986
|
+
"description": "Edit an existing asset and store the result as a new asset. Use library_id from creation or listing and asset_id from asset creation or listing; library_id also accepts the literal default, which resolves to the organization’s default library before the credential check. The source asset is never overwritten: the new asset hangs under it in the edit chain, records it in derived_from, and reads back with assets.lineage, so earlier steps stay reachable. The body is operation plus the optional model, asset_folder, understanding and idempotency_key; operation.type selects the edit and carries that operation’s own fields. This release performs variations, inpaint, erase, replace_object, recolor, remove_background and replace_background on images; every other type in the operation vocabulary — the video and audio edits — is refused with OPERATION_NOT_SUPPORTED. inpaint takes mask, a PNG File identifier beginning with file- whose transparent area marks the region to replace, plus the prompt describing what belongs there. Aspects beyond the source asset’s material type return REFERENCE_TYPE_MISMATCH. Editing is charged through Router and the job records the charge in usage. The response is 202 with a queued Job whose type is image, whose operation is the edit applied, and whose source_asset_id is the asset edited; poll GET /media/v1/libraries/{library_id}/jobs/{job_id} until it is completed or failed, then read the produced asset. Example: POST /media/v1/libraries/lib_example/assets/9dfa312ef9bc4b00816339b598b1152c/edits with {\"operation\":{\"type\":\"variations\",\"strength\":\"subtle\"}}.",
|
|
13987
|
+
"http": "POST",
|
|
13988
|
+
"path": "/media/v1/libraries/{library_id}/assets/{asset_id}/edits",
|
|
13989
|
+
"streaming": "no",
|
|
13990
|
+
"pagination": false,
|
|
13991
|
+
"pathParams": [
|
|
13992
|
+
{
|
|
13993
|
+
"name": "library_id",
|
|
13994
|
+
"sdkName": "library_id",
|
|
13995
|
+
"description": "Library ID returned by creation."
|
|
13996
|
+
},
|
|
13997
|
+
{
|
|
13998
|
+
"name": "asset_id",
|
|
13999
|
+
"sdkName": "asset_id",
|
|
14000
|
+
"description": "32-character asset ID."
|
|
14001
|
+
}
|
|
14002
|
+
],
|
|
14003
|
+
"query": [],
|
|
14004
|
+
"body": {
|
|
14005
|
+
"required": true,
|
|
14006
|
+
"fields": [
|
|
14007
|
+
{
|
|
14008
|
+
"name": "operation",
|
|
14009
|
+
"type": "object",
|
|
14010
|
+
"required": true,
|
|
14011
|
+
"description": "One edit to apply to the source asset. type selects the operation and the discriminating branch carries that operation’s fields. This release performs variations, inpaint, erase, replace_object, recolor, remove_background and replace_background on images; every other type here describes the operation vocabulary and is refused with OPERATION_NOT_SUPPORTED."
|
|
14012
|
+
},
|
|
14013
|
+
{
|
|
14014
|
+
"name": "model",
|
|
14015
|
+
"type": "string",
|
|
14016
|
+
"required": false,
|
|
14017
|
+
"description": "Router model that performs the edit; omit it to use the library default image model."
|
|
14018
|
+
},
|
|
14019
|
+
{
|
|
14020
|
+
"name": "asset_folder",
|
|
14021
|
+
"type": "string",
|
|
14022
|
+
"required": false,
|
|
14023
|
+
"description": "Folder the produced asset is filed under; defaults to the source asset’s folder. 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."
|
|
14024
|
+
},
|
|
14025
|
+
{
|
|
14026
|
+
"name": "understanding",
|
|
14027
|
+
"type": "string",
|
|
14028
|
+
"enum": [
|
|
14029
|
+
"auto",
|
|
14030
|
+
"skip"
|
|
14031
|
+
],
|
|
14032
|
+
"required": false,
|
|
14033
|
+
"description": "Understanding behavior for the produced asset; defaults to auto."
|
|
14034
|
+
},
|
|
14035
|
+
{
|
|
14036
|
+
"name": "idempotency_key",
|
|
14037
|
+
"type": "string",
|
|
14038
|
+
"required": false,
|
|
14039
|
+
"description": "Stable key so a retried request reuses the same job instead of editing and charging again; reusing it with different content is rejected."
|
|
14040
|
+
}
|
|
14041
|
+
]
|
|
14042
|
+
}
|
|
14043
|
+
},
|
|
13928
14044
|
{
|
|
13929
14045
|
"resource": "media.libraries.assets.frames",
|
|
13930
14046
|
"method": "create",
|
|
@@ -13971,6 +14087,29 @@ export const operations = [
|
|
|
13971
14087
|
]
|
|
13972
14088
|
}
|
|
13973
14089
|
},
|
|
14090
|
+
{
|
|
14091
|
+
"resource": "media.assets",
|
|
14092
|
+
"method": "lineage",
|
|
14093
|
+
"summary": "Get asset lineage",
|
|
14094
|
+
"description": "Read the whole edit tree containing one asset, so a caller sees what it was edited from and what was edited from it. Use library_id from creation or listing and asset_id from asset creation or listing; library_id also accepts the literal default, which resolves to the organization’s default library before the credential check. The response names the root the tree descends from, the asset asked about, and every step between them, each with the operation, prompt and creation time that produced it. Deleted assets stay in the tree, marked deleted, so the chain stays connected after cleanup. This is a read: it starts no processing and changes no asset. Example: GET /media/v1/libraries/lib_example/assets/9dfa312ef9bc4b00816339b598b1152c/lineage.",
|
|
14095
|
+
"http": "GET",
|
|
14096
|
+
"path": "/media/v1/libraries/{library_id}/assets/{asset_id}/lineage",
|
|
14097
|
+
"streaming": "no",
|
|
14098
|
+
"pagination": false,
|
|
14099
|
+
"pathParams": [
|
|
14100
|
+
{
|
|
14101
|
+
"name": "library_id",
|
|
14102
|
+
"sdkName": "library_id",
|
|
14103
|
+
"description": "Library ID returned by creation."
|
|
14104
|
+
},
|
|
14105
|
+
{
|
|
14106
|
+
"name": "asset_id",
|
|
14107
|
+
"sdkName": "asset_id",
|
|
14108
|
+
"description": "32-character asset ID."
|
|
14109
|
+
}
|
|
14110
|
+
],
|
|
14111
|
+
"query": []
|
|
14112
|
+
},
|
|
13974
14113
|
{
|
|
13975
14114
|
"resource": "media.libraries.assets.reprocess",
|
|
13976
14115
|
"method": "create",
|
|
@@ -14372,6 +14511,126 @@ export const operations = [
|
|
|
14372
14511
|
]
|
|
14373
14512
|
}
|
|
14374
14513
|
},
|
|
14514
|
+
{
|
|
14515
|
+
"resource": "media.images",
|
|
14516
|
+
"method": "generate",
|
|
14517
|
+
"summary": "Generate image",
|
|
14518
|
+
"description": "Generate one or more images from a text prompt and store them straight into the library. Use library_id from creation or listing; the path segment {library_id} also accepts the literal default, which resolves to the organization’s default library before the credential check, so an agent that has never listed a library can still generate. The request body is the image request itself: prompt is required, and n, size, background, output_format, output, references, seed, model, asset_folder and understanding are optional. Set output to sticker for a cut-out with a transparent background. references attach existing assets with a role — edit_target, style, structure or subject — and a model that cannot honour a role returns REFERENCE_TYPE_MISMATCH. Aspect ratio is not accepted for images; name size instead. Generation is charged through Router and the job records the charge in usage; nothing is charged for a request refused before it starts. The response is 202 with a queued Job whose type is image and whose operation is generate; poll GET /media/v1/libraries/{library_id}/jobs/{job_id} until its status is completed or failed, then read the produced assets from the library. Send Idempotency-Key, or idempotency_key in the body, to retry without generating and charging twice. Example: POST /media/v1/libraries/default/images/generations with {\"prompt\":\"A red kite above a calm sea at sunrise\",\"n\":1,\"output\":\"sticker\"}.",
|
|
14519
|
+
"http": "POST",
|
|
14520
|
+
"path": "/media/v1/libraries/{library_id}/images/generations",
|
|
14521
|
+
"streaming": "no",
|
|
14522
|
+
"pagination": false,
|
|
14523
|
+
"pathParams": [
|
|
14524
|
+
{
|
|
14525
|
+
"name": "library_id",
|
|
14526
|
+
"sdkName": "library_id",
|
|
14527
|
+
"description": "Library ID returned by creation."
|
|
14528
|
+
}
|
|
14529
|
+
],
|
|
14530
|
+
"query": [],
|
|
14531
|
+
"body": {
|
|
14532
|
+
"required": true,
|
|
14533
|
+
"fields": [
|
|
14534
|
+
{
|
|
14535
|
+
"name": "prompt",
|
|
14536
|
+
"type": "string",
|
|
14537
|
+
"required": true,
|
|
14538
|
+
"description": "Text prompt describing the image to generate; Router forwards it to the image model unchanged."
|
|
14539
|
+
},
|
|
14540
|
+
{
|
|
14541
|
+
"name": "negative_prompt",
|
|
14542
|
+
"type": "string",
|
|
14543
|
+
"required": false,
|
|
14544
|
+
"description": "What the image must not contain. Models without a negative-prompt control ignore it."
|
|
14545
|
+
},
|
|
14546
|
+
{
|
|
14547
|
+
"name": "n",
|
|
14548
|
+
"type": "integer",
|
|
14549
|
+
"required": false,
|
|
14550
|
+
"description": "Images to generate in one job, from 1 to 10; defaults to 1. Each produced image is charged separately."
|
|
14551
|
+
},
|
|
14552
|
+
{
|
|
14553
|
+
"name": "size",
|
|
14554
|
+
"type": "string",
|
|
14555
|
+
"required": false,
|
|
14556
|
+
"description": "Requested pixel size written as width x height. Router validates it against the chosen model and rejects an unsupported size with INVALID_PARAMS."
|
|
14557
|
+
},
|
|
14558
|
+
{
|
|
14559
|
+
"name": "background",
|
|
14560
|
+
"type": "string",
|
|
14561
|
+
"enum": [
|
|
14562
|
+
"transparent",
|
|
14563
|
+
"opaque",
|
|
14564
|
+
"auto"
|
|
14565
|
+
],
|
|
14566
|
+
"required": false,
|
|
14567
|
+
"description": "Background handling; defaults to auto. Whether transparency is honoured depends on the model."
|
|
14568
|
+
},
|
|
14569
|
+
{
|
|
14570
|
+
"name": "output_format",
|
|
14571
|
+
"type": "string",
|
|
14572
|
+
"enum": [
|
|
14573
|
+
"png",
|
|
14574
|
+
"jpeg",
|
|
14575
|
+
"webp"
|
|
14576
|
+
],
|
|
14577
|
+
"required": false,
|
|
14578
|
+
"description": "Encoding of the stored image; defaults to png. Transparency requires png or webp."
|
|
14579
|
+
},
|
|
14580
|
+
{
|
|
14581
|
+
"name": "output",
|
|
14582
|
+
"type": "string",
|
|
14583
|
+
"enum": [
|
|
14584
|
+
"image",
|
|
14585
|
+
"sticker"
|
|
14586
|
+
],
|
|
14587
|
+
"required": false,
|
|
14588
|
+
"description": "How the result is stored: image for a normal picture, or sticker for a cut-out committed with material_type sticker; defaults to image."
|
|
14589
|
+
},
|
|
14590
|
+
{
|
|
14591
|
+
"name": "references",
|
|
14592
|
+
"type": "array",
|
|
14593
|
+
"itemType": "object",
|
|
14594
|
+
"required": false,
|
|
14595
|
+
"description": "Existing assets the model may use, each with the role it plays. Router answers REFERENCE_TYPE_MISMATCH when the chosen model cannot honour a role."
|
|
14596
|
+
},
|
|
14597
|
+
{
|
|
14598
|
+
"name": "seed",
|
|
14599
|
+
"type": "integer",
|
|
14600
|
+
"required": false,
|
|
14601
|
+
"description": "Seed for reproducible sampling; omit it to let the model choose one."
|
|
14602
|
+
},
|
|
14603
|
+
{
|
|
14604
|
+
"name": "model",
|
|
14605
|
+
"type": "string",
|
|
14606
|
+
"required": false,
|
|
14607
|
+
"description": "Router model with image-generation capability; omit it to use the library default image model."
|
|
14608
|
+
},
|
|
14609
|
+
{
|
|
14610
|
+
"name": "asset_folder",
|
|
14611
|
+
"type": "string",
|
|
14612
|
+
"required": false,
|
|
14613
|
+
"description": "Folder the produced asset is filed under; 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."
|
|
14614
|
+
},
|
|
14615
|
+
{
|
|
14616
|
+
"name": "understanding",
|
|
14617
|
+
"type": "string",
|
|
14618
|
+
"enum": [
|
|
14619
|
+
"auto",
|
|
14620
|
+
"skip"
|
|
14621
|
+
],
|
|
14622
|
+
"required": false,
|
|
14623
|
+
"description": "Understanding behavior for the produced asset; defaults to auto."
|
|
14624
|
+
},
|
|
14625
|
+
{
|
|
14626
|
+
"name": "idempotency_key",
|
|
14627
|
+
"type": "string",
|
|
14628
|
+
"required": false,
|
|
14629
|
+
"description": "Stable key so a retried request reuses the same job instead of generating and charging again; reusing it with different content is rejected."
|
|
14630
|
+
}
|
|
14631
|
+
]
|
|
14632
|
+
}
|
|
14633
|
+
},
|
|
14375
14634
|
{
|
|
14376
14635
|
"resource": "media.libraries.jobs",
|
|
14377
14636
|
"method": "list",
|
|
@@ -14394,11 +14653,13 @@ export const operations = [
|
|
|
14394
14653
|
"type": "string",
|
|
14395
14654
|
"enum": [
|
|
14396
14655
|
"queued",
|
|
14656
|
+
"in_progress",
|
|
14397
14657
|
"running",
|
|
14398
14658
|
"completed",
|
|
14399
14659
|
"completed_with_errors",
|
|
14400
14660
|
"failed",
|
|
14401
|
-
"cancelled"
|
|
14661
|
+
"cancelled",
|
|
14662
|
+
"canceled"
|
|
14402
14663
|
],
|
|
14403
14664
|
"required": false,
|
|
14404
14665
|
"description": "Filter jobs by their current status."
|
|
@@ -14597,7 +14858,7 @@ export const operations = [
|
|
|
14597
14858
|
"name": "top_k",
|
|
14598
14859
|
"type": "integer",
|
|
14599
14860
|
"required": false,
|
|
14600
|
-
"description": "Maximum search hits, from 1 to 50; defaults to 20."
|
|
14861
|
+
"description": "Maximum search hits, from 1 to 50; defaults to 20. top_k takes effect and bounds how many distinct hits come back, counting collapsed duplicates as one hit."
|
|
14601
14862
|
},
|
|
14602
14863
|
{
|
|
14603
14864
|
"name": "mode",
|
|
@@ -14608,6 +14869,25 @@ export const operations = [
|
|
|
14608
14869
|
],
|
|
14609
14870
|
"required": false,
|
|
14610
14871
|
"description": "Ranking mode: hybrid combines semantic and keyword matches; semantic uses vector similarity only. Defaults to hybrid."
|
|
14872
|
+
},
|
|
14873
|
+
{
|
|
14874
|
+
"name": "material_type",
|
|
14875
|
+
"type": "string",
|
|
14876
|
+
"enum": [
|
|
14877
|
+
"image",
|
|
14878
|
+
"video",
|
|
14879
|
+
"audio",
|
|
14880
|
+
"voice",
|
|
14881
|
+
"sticker",
|
|
14882
|
+
"font",
|
|
14883
|
+
"text_style",
|
|
14884
|
+
"text_template",
|
|
14885
|
+
"animation_preset",
|
|
14886
|
+
"lut",
|
|
14887
|
+
"transition_map"
|
|
14888
|
+
],
|
|
14889
|
+
"required": false,
|
|
14890
|
+
"description": "What this asset is as a reusable material, as opposed to resource_type (its stored file category). Omitted on assets stored before this field existed and on raw assets that are not materials."
|
|
14611
14891
|
}
|
|
14612
14892
|
]
|
|
14613
14893
|
}
|
|
@@ -14720,7 +15000,7 @@ export const operations = [
|
|
|
14720
15000
|
"name": "top_k",
|
|
14721
15001
|
"type": "integer",
|
|
14722
15002
|
"required": false,
|
|
14723
|
-
"description": "Maximum search hits, from 1 to 50; defaults to 20."
|
|
15003
|
+
"description": "Maximum search hits, from 1 to 50; defaults to 20. top_k takes effect and bounds how many distinct hits come back, counting collapsed duplicates as one hit."
|
|
14724
15004
|
},
|
|
14725
15005
|
{
|
|
14726
15006
|
"name": "mode",
|
|
@@ -14731,6 +15011,25 @@ export const operations = [
|
|
|
14731
15011
|
],
|
|
14732
15012
|
"required": false,
|
|
14733
15013
|
"description": "Ranking mode: hybrid combines semantic and keyword matches; semantic uses vector similarity only. Defaults to hybrid."
|
|
15014
|
+
},
|
|
15015
|
+
{
|
|
15016
|
+
"name": "material_type",
|
|
15017
|
+
"type": "string",
|
|
15018
|
+
"enum": [
|
|
15019
|
+
"image",
|
|
15020
|
+
"video",
|
|
15021
|
+
"audio",
|
|
15022
|
+
"voice",
|
|
15023
|
+
"sticker",
|
|
15024
|
+
"font",
|
|
15025
|
+
"text_style",
|
|
15026
|
+
"text_template",
|
|
15027
|
+
"animation_preset",
|
|
15028
|
+
"lut",
|
|
15029
|
+
"transition_map"
|
|
15030
|
+
],
|
|
15031
|
+
"required": false,
|
|
15032
|
+
"description": "What this asset is as a reusable material, as opposed to resource_type (its stored file category). Omitted on assets stored before this field existed and on raw assets that are not materials."
|
|
14734
15033
|
}
|
|
14735
15034
|
]
|
|
14736
15035
|
}
|
|
@@ -17209,7 +17508,7 @@ export const operations = [
|
|
|
17209
17508
|
"resource": "ontology.nodes",
|
|
17210
17509
|
"method": "create",
|
|
17211
17510
|
"summary": "Create node",
|
|
17212
|
-
"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
|
|
17511
|
+
"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; it does not give any agent a memory.",
|
|
17213
17512
|
"http": "POST",
|
|
17214
17513
|
"path": "/ontology/v1/nodes",
|
|
17215
17514
|
"streaming": "no",
|
|
@@ -17364,6 +17663,60 @@ export const operations = [
|
|
|
17364
17663
|
]
|
|
17365
17664
|
}
|
|
17366
17665
|
},
|
|
17666
|
+
{
|
|
17667
|
+
"resource": "ontology.nodes",
|
|
17668
|
+
"method": "retrieveNeighborhood",
|
|
17669
|
+
"summary": "Retrieve neighborhood",
|
|
17670
|
+
"description": "Load the subgraph around one node instead of the whole graph — the read to use when a screen or an agent needs the context of one entity. Returns the start node, every node within depth hops of it, the relations whose both ends are in that set, and truncated true when the node limit cut the walk short. direction chooses which way relations are followed; as_of and include_invalid read the graph as those parameters do elsewhere. Visibility is exactly nodes.retrieve's — a node you may reach but not read comes back restricted with its name only, and relations touching it are withheld, so this read never reaches further than a node read does. The node id comes from nodes.list, nodes.create or a changeset; an unknown one answers ONTOLOGY_NODE_NOT_FOUND, the same answer nodes.retrieve gives.",
|
|
17671
|
+
"http": "GET",
|
|
17672
|
+
"path": "/ontology/v1/nodes/{node_id}/neighborhood",
|
|
17673
|
+
"streaming": "no",
|
|
17674
|
+
"pagination": false,
|
|
17675
|
+
"pathParams": [
|
|
17676
|
+
{
|
|
17677
|
+
"name": "node_id",
|
|
17678
|
+
"sdkName": "node_id",
|
|
17679
|
+
"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."
|
|
17680
|
+
}
|
|
17681
|
+
],
|
|
17682
|
+
"query": [
|
|
17683
|
+
{
|
|
17684
|
+
"name": "depth",
|
|
17685
|
+
"type": "integer",
|
|
17686
|
+
"required": false,
|
|
17687
|
+
"description": "How many hops from the given node to walk, 1 to 3; defaults to 1. A value outside that range is refused 400 rather than clamped, so the answer is never a smaller graph than the one asked for."
|
|
17688
|
+
},
|
|
17689
|
+
{
|
|
17690
|
+
"name": "limit",
|
|
17691
|
+
"type": "integer",
|
|
17692
|
+
"required": false,
|
|
17693
|
+
"description": "Maximum nodes to return, 1 to 500; defaults to 200. When the walk reaches this many nodes it stops and reports truncated true, so treat a truncated answer as a sample of the neighborhood rather than all of it. This bound is not the list routes' page size, and there is no cursor to resume from."
|
|
17694
|
+
},
|
|
17695
|
+
{
|
|
17696
|
+
"name": "direction",
|
|
17697
|
+
"type": "string",
|
|
17698
|
+
"enum": [
|
|
17699
|
+
"out",
|
|
17700
|
+
"in",
|
|
17701
|
+
"both"
|
|
17702
|
+
],
|
|
17703
|
+
"required": false,
|
|
17704
|
+
"description": "Which way to follow relations from each node walked; out follows relations the node is the source of, in follows those it is the target of, both follows either. Defaults to both. Relations between two returned nodes are included whichever direction brought the second node in."
|
|
17705
|
+
},
|
|
17706
|
+
{
|
|
17707
|
+
"name": "as_of",
|
|
17708
|
+
"type": "string",
|
|
17709
|
+
"required": false,
|
|
17710
|
+
"description": "ISO 8601 timestamp; walk the graph as it was then — a node recorded later is absent and a relation invalidated since still counts. Omit to read current state."
|
|
17711
|
+
},
|
|
17712
|
+
{
|
|
17713
|
+
"name": "include_invalid",
|
|
17714
|
+
"type": "boolean",
|
|
17715
|
+
"required": false,
|
|
17716
|
+
"description": "Set true to walk relations whose invalid_at has passed, which is how a fact that stopped being true stays reachable. Omit or false to walk currently valid relations only."
|
|
17717
|
+
}
|
|
17718
|
+
]
|
|
17719
|
+
},
|
|
17367
17720
|
{
|
|
17368
17721
|
"resource": "ontology.relations",
|
|
17369
17722
|
"method": "list",
|
|
@@ -17429,7 +17782,7 @@ export const operations = [
|
|
|
17429
17782
|
"resource": "ontology.relations",
|
|
17430
17783
|
"method": "create",
|
|
17431
17784
|
"summary": "Create relation",
|
|
17432
|
-
"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
|
|
17785
|
+
"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; it does not give any agent a memory.",
|
|
17433
17786
|
"http": "POST",
|
|
17434
17787
|
"path": "/ontology/v1/relations",
|
|
17435
17788
|
"streaming": "no",
|
|
@@ -17541,7 +17894,7 @@ export const operations = [
|
|
|
17541
17894
|
"resource": "ontology.search",
|
|
17542
17895
|
"method": "create",
|
|
17543
17896
|
"summary": "Search nodes",
|
|
17544
|
-
"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
|
|
17897
|
+
"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's recall, which reads the graph from that agent's own viewpoint inside its sessions.",
|
|
17545
17898
|
"http": "POST",
|
|
17546
17899
|
"path": "/ontology/v1/search",
|
|
17547
17900
|
"streaming": "no",
|
|
@@ -20205,7 +20558,7 @@ export const operations = [
|
|
|
20205
20558
|
"required": true,
|
|
20206
20559
|
"fields": [
|
|
20207
20560
|
{
|
|
20208
|
-
"name": "
|
|
20561
|
+
"name": "update_mask",
|
|
20209
20562
|
"type": "array",
|
|
20210
20563
|
"itemType": "string",
|
|
20211
20564
|
"required": true,
|
|
@@ -20448,7 +20801,7 @@ export const operations = [
|
|
|
20448
20801
|
"required": true,
|
|
20449
20802
|
"fields": [
|
|
20450
20803
|
{
|
|
20451
|
-
"name": "
|
|
20804
|
+
"name": "update_mask",
|
|
20452
20805
|
"type": "array",
|
|
20453
20806
|
"itemType": "string",
|
|
20454
20807
|
"required": true,
|
|
@@ -20759,7 +21112,7 @@ export const operations = [
|
|
|
20759
21112
|
"required": true,
|
|
20760
21113
|
"fields": [
|
|
20761
21114
|
{
|
|
20762
|
-
"name": "
|
|
21115
|
+
"name": "update_mask",
|
|
20763
21116
|
"type": "array",
|
|
20764
21117
|
"itemType": "string",
|
|
20765
21118
|
"required": true,
|
|
@@ -20920,7 +21273,7 @@ export const operations = [
|
|
|
20920
21273
|
"resource": "studio.themes",
|
|
20921
21274
|
"method": "list",
|
|
20922
21275
|
"summary": "List the rendition themes of a platform",
|
|
20923
|
-
"description": "List themes: the layouts a rendition is produced with, for one platform or for all of them. Pass a platform to see only the themes that platform can use. A theme decides the page or card a rendition is built into, so read the chosen theme before creating a rendition rather than after the output looks wrong.",
|
|
21276
|
+
"description": "List themes: the layouts a rendition is produced with, for one platform or for all of them. Pass a platform to see only the themes that platform can use. The first page starts with the built-in themes (builtin true, such as warm-card@1 for Xiaohongshu cards and plain-mono@1 for WeChat articles), which every organization can use and nobody can change or delete; your organization's own themes follow. A theme decides the page or card a rendition is built into, so read the chosen theme before creating a rendition rather than after the output looks wrong.",
|
|
20924
21277
|
"http": "GET",
|
|
20925
21278
|
"path": "/studio/v1/themes",
|
|
20926
21279
|
"streaming": "no",
|
|
@@ -21069,7 +21422,7 @@ export const operations = [
|
|
|
21069
21422
|
"required": true,
|
|
21070
21423
|
"fields": [
|
|
21071
21424
|
{
|
|
21072
|
-
"name": "
|
|
21425
|
+
"name": "update_mask",
|
|
21073
21426
|
"type": "array",
|
|
21074
21427
|
"itemType": "string",
|
|
21075
21428
|
"required": true,
|
|
@@ -21209,7 +21562,7 @@ export const operations = [
|
|
|
21209
21562
|
"description": "Caller-chosen key and value pairs kept on a resource; the keys are the caller's own names and no platform meaning is attached to them."
|
|
21210
21563
|
},
|
|
21211
21564
|
{
|
|
21212
|
-
"name": "
|
|
21565
|
+
"name": "request_id",
|
|
21213
21566
|
"type": "string",
|
|
21214
21567
|
"required": false,
|
|
21215
21568
|
"description": "Caller-chosen key that makes this create safe to repeat: the same value answers the first result instead of creating a second work."
|
|
@@ -21282,14 +21635,14 @@ export const operations = [
|
|
|
21282
21635
|
"required": true,
|
|
21283
21636
|
"fields": [
|
|
21284
21637
|
{
|
|
21285
|
-
"name": "
|
|
21638
|
+
"name": "update_mask",
|
|
21286
21639
|
"type": "array",
|
|
21287
21640
|
"itemType": "string",
|
|
21288
21641
|
"required": true,
|
|
21289
21642
|
"description": "Field paths this call changes, spelled as they appear in the work, such as title or goal.message; a field left out keeps its value."
|
|
21290
21643
|
},
|
|
21291
21644
|
{
|
|
21292
|
-
"name": "
|
|
21645
|
+
"name": "expected_revision",
|
|
21293
21646
|
"type": "integer",
|
|
21294
21647
|
"required": false,
|
|
21295
21648
|
"description": "Work revision the caller read; when the work moved past it the write is refused with REVISION_CONFLICT and nothing changes."
|
|
@@ -21361,7 +21714,7 @@ export const operations = [
|
|
|
21361
21714
|
"required": true,
|
|
21362
21715
|
"fields": [
|
|
21363
21716
|
{
|
|
21364
|
-
"name": "
|
|
21717
|
+
"name": "expected_revision",
|
|
21365
21718
|
"type": "integer",
|
|
21366
21719
|
"required": false,
|
|
21367
21720
|
"description": "Brief revision the caller read; a mismatch is refused with REVISION_CONFLICT rather than merged."
|
|
@@ -21380,21 +21733,21 @@ export const operations = [
|
|
|
21380
21733
|
"description": "Source files to keep with the brief, added to the ones already attached."
|
|
21381
21734
|
},
|
|
21382
21735
|
{
|
|
21383
|
-
"name": "
|
|
21736
|
+
"name": "add_points",
|
|
21384
21737
|
"type": "array",
|
|
21385
|
-
"itemType": "
|
|
21738
|
+
"itemType": "object",
|
|
21386
21739
|
"required": false,
|
|
21387
|
-
"description": "New requirement points to split out of the brief; each receives the next free key in order."
|
|
21740
|
+
"description": "New requirement points to split out of the brief; each receives the next free key in order. A plain string is a unit point; pass { text, scope: work } for a constraint on the whole piece (period, voice, point of view, cast, words to avoid)."
|
|
21388
21741
|
},
|
|
21389
21742
|
{
|
|
21390
|
-
"name": "
|
|
21743
|
+
"name": "edit_points",
|
|
21391
21744
|
"type": "array",
|
|
21392
21745
|
"itemType": "object",
|
|
21393
21746
|
"required": false,
|
|
21394
21747
|
"description": "Existing points to reword, each naming the key it keeps and the text that replaces it."
|
|
21395
21748
|
},
|
|
21396
21749
|
{
|
|
21397
|
-
"name": "
|
|
21750
|
+
"name": "remove_points",
|
|
21398
21751
|
"type": "array",
|
|
21399
21752
|
"itemType": "string",
|
|
21400
21753
|
"required": false,
|
|
@@ -21477,7 +21830,7 @@ export const operations = [
|
|
|
21477
21830
|
"description": "Unit tree to create the draft with, given by the caller instead of a template; children nest, and a unit without a kind takes the genre default for its position."
|
|
21478
21831
|
},
|
|
21479
21832
|
{
|
|
21480
|
-
"name": "
|
|
21833
|
+
"name": "derived_from",
|
|
21481
21834
|
"type": "object",
|
|
21482
21835
|
"required": false,
|
|
21483
21836
|
"description": "What the new draft should be derived from, so the service can record the source revision for later staleness checks."
|
|
@@ -21489,7 +21842,7 @@ export const operations = [
|
|
|
21489
21842
|
"description": "Initial values for the genre properties, keyed by property key; a value the genre does not define is refused rather than stored."
|
|
21490
21843
|
},
|
|
21491
21844
|
{
|
|
21492
|
-
"name": "
|
|
21845
|
+
"name": "request_id",
|
|
21493
21846
|
"type": "string",
|
|
21494
21847
|
"required": false,
|
|
21495
21848
|
"description": "Caller-chosen key that makes this create safe to repeat: the same value answers the first draft instead of creating a second one."
|
|
@@ -21558,14 +21911,14 @@ export const operations = [
|
|
|
21558
21911
|
"required": true,
|
|
21559
21912
|
"fields": [
|
|
21560
21913
|
{
|
|
21561
|
-
"name": "
|
|
21914
|
+
"name": "update_mask",
|
|
21562
21915
|
"type": "array",
|
|
21563
21916
|
"itemType": "string",
|
|
21564
21917
|
"required": true,
|
|
21565
21918
|
"description": "Field paths this call changes, such as title, key or props.topics; a field left out keeps its value."
|
|
21566
21919
|
},
|
|
21567
21920
|
{
|
|
21568
|
-
"name": "
|
|
21921
|
+
"name": "expected_revision",
|
|
21569
21922
|
"type": "integer",
|
|
21570
21923
|
"required": false,
|
|
21571
21924
|
"description": "Draft revision the caller read; a mismatch is refused with REVISION_CONFLICT and nothing changes. Omit it only for structure calls that genuinely do not depend on the current state."
|
|
@@ -21664,6 +22017,64 @@ export const operations = [
|
|
|
21664
22017
|
],
|
|
21665
22018
|
"query": []
|
|
21666
22019
|
},
|
|
22020
|
+
{
|
|
22021
|
+
"resource": "studio.works.drafts.renditions",
|
|
22022
|
+
"method": "create",
|
|
22023
|
+
"summary": "Create a rendition of a draft for a platform",
|
|
22024
|
+
"description": "Create a rendition: the form of one draft that a platform receives, such as a Xiaohongshu card set, a DOCX file or a Markdown file. Read the platform first with the platform call and pass its versioned key; pass a theme only to override the platform's default layout. Pass render true to render in the same call and read render_state and issues in the answer; without it the rendition starts as pending and the render call produces it. Rendering a Xiaohongshu card set is billed by Browser Rendering time (meter browser_ms, product studio-render); DOCX and Markdown renditions are not billed. A draft with no body renders as invalid with a draft_empty issue, and an unavailable render service leaves render_state failed with a render_unavailable issue, so repeat the render call later. Send a request_id to make a repeated call return the first rendition instead of creating another. Next, publish the rendition to export it.",
|
|
22025
|
+
"http": "POST",
|
|
22026
|
+
"path": "/studio/v1/works/{work}/drafts/{draft}/renditions",
|
|
22027
|
+
"streaming": "no",
|
|
22028
|
+
"pagination": false,
|
|
22029
|
+
"pathParams": [
|
|
22030
|
+
{
|
|
22031
|
+
"name": "work",
|
|
22032
|
+
"sdkName": "work",
|
|
22033
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22034
|
+
},
|
|
22035
|
+
{
|
|
22036
|
+
"name": "draft",
|
|
22037
|
+
"sdkName": "draft",
|
|
22038
|
+
"description": "Draft being addressed, either its in-work key such as novel or its drf_ identifier; a key renamed earlier still resolves through its previous value."
|
|
22039
|
+
}
|
|
22040
|
+
],
|
|
22041
|
+
"query": [],
|
|
22042
|
+
"body": {
|
|
22043
|
+
"required": true,
|
|
22044
|
+
"fields": [
|
|
22045
|
+
{
|
|
22046
|
+
"name": "platform",
|
|
22047
|
+
"type": "string",
|
|
22048
|
+
"required": true,
|
|
22049
|
+
"description": "Versioned platform key from the platform list. Export platforms today are markdown@1, docx@1 and xiaohongshu@1; a platform that only publishes to an account answers PLATFORM_NOT_AVAILABLE."
|
|
22050
|
+
},
|
|
22051
|
+
{
|
|
22052
|
+
"name": "theme",
|
|
22053
|
+
"type": "string",
|
|
22054
|
+
"required": false,
|
|
22055
|
+
"description": "Theme to render with, a thm_ identifier or a built-in key from the theme list; omit it to use the platform default."
|
|
22056
|
+
},
|
|
22057
|
+
{
|
|
22058
|
+
"name": "settings",
|
|
22059
|
+
"type": "object",
|
|
22060
|
+
"required": false,
|
|
22061
|
+
"description": "Per-rendition settings; each platform reads only the settings that apply to it and ignores the rest."
|
|
22062
|
+
},
|
|
22063
|
+
{
|
|
22064
|
+
"name": "render",
|
|
22065
|
+
"type": "boolean",
|
|
22066
|
+
"required": false,
|
|
22067
|
+
"description": "Whether to render in the same call. True returns a rendition that is already rendered, invalid or failed; false or omitted returns it pending, to be rendered by the render operation."
|
|
22068
|
+
},
|
|
22069
|
+
{
|
|
22070
|
+
"name": "request_id",
|
|
22071
|
+
"type": "string",
|
|
22072
|
+
"required": false,
|
|
22073
|
+
"description": "Caller-chosen key that makes a repeated create return the first rendition instead of making another; use a new value for each distinct rendition."
|
|
22074
|
+
}
|
|
22075
|
+
]
|
|
22076
|
+
}
|
|
22077
|
+
},
|
|
21667
22078
|
{
|
|
21668
22079
|
"resource": "studio.works.drafts",
|
|
21669
22080
|
"method": "retrieveReview",
|
|
@@ -21909,7 +22320,7 @@ export const operations = [
|
|
|
21909
22320
|
"required": false,
|
|
21910
22321
|
"fields": [
|
|
21911
22322
|
{
|
|
21912
|
-
"name": "
|
|
22323
|
+
"name": "expected_revision",
|
|
21913
22324
|
"type": "integer",
|
|
21914
22325
|
"required": false,
|
|
21915
22326
|
"description": "Draft revision the caller read; a mismatch is refused rather than confirming a draft that changed under the caller."
|
|
@@ -21917,6 +22328,212 @@ export const operations = [
|
|
|
21917
22328
|
]
|
|
21918
22329
|
}
|
|
21919
22330
|
},
|
|
22331
|
+
{
|
|
22332
|
+
"resource": "studio.works.renditions",
|
|
22333
|
+
"method": "list",
|
|
22334
|
+
"summary": "List the renditions of a work",
|
|
22335
|
+
"description": "List the renditions of one work, each with its platform, render state, stale flag and publish state. Pass draft to see only the renditions of one draft. Use it to find the rendition to publish or to render again, and read stale before exporting: a stale rendition was built from an older draft and cannot be exported until the render call has rebuilt it. The answer is one page; keep following next_page_token while it is present.",
|
|
22336
|
+
"http": "GET",
|
|
22337
|
+
"path": "/studio/v1/works/{work}/renditions",
|
|
22338
|
+
"streaming": "no",
|
|
22339
|
+
"pagination": false,
|
|
22340
|
+
"pathParams": [
|
|
22341
|
+
{
|
|
22342
|
+
"name": "work",
|
|
22343
|
+
"sdkName": "work",
|
|
22344
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22345
|
+
}
|
|
22346
|
+
],
|
|
22347
|
+
"query": [
|
|
22348
|
+
{
|
|
22349
|
+
"name": "draft",
|
|
22350
|
+
"type": "string",
|
|
22351
|
+
"required": false,
|
|
22352
|
+
"description": "Draft key such as novel or its drf_ identifier; when given, only the renditions of that draft are returned. Omit it to list the renditions of every draft in the work."
|
|
22353
|
+
},
|
|
22354
|
+
{
|
|
22355
|
+
"name": "page_size",
|
|
22356
|
+
"type": "integer",
|
|
22357
|
+
"required": false,
|
|
22358
|
+
"description": "How many items this page returns, 1 to 100; omitted uses the service default. Treat the answer as one page, not the whole set, and keep following next_page_token while it is present."
|
|
22359
|
+
},
|
|
22360
|
+
{
|
|
22361
|
+
"name": "page_token",
|
|
22362
|
+
"type": "string",
|
|
22363
|
+
"required": false,
|
|
22364
|
+
"description": "Cursor from the previous answer's next_page_token; it is opaque, so pass it back unchanged and never build one from an id or an offset."
|
|
22365
|
+
}
|
|
22366
|
+
]
|
|
22367
|
+
},
|
|
22368
|
+
{
|
|
22369
|
+
"resource": "studio.works.renditions",
|
|
22370
|
+
"method": "delete",
|
|
22371
|
+
"summary": "Delete a rendition",
|
|
22372
|
+
"description": "Delete a rendition and stop listing it. The draft it was built from is untouched, and a new rendition can be created from it at any time. Files already downloaded from an earlier export are not affected. Use it to clear a failed or abandoned rendition; to refresh one, call the render operation instead.",
|
|
22373
|
+
"http": "DELETE",
|
|
22374
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}",
|
|
22375
|
+
"streaming": "no",
|
|
22376
|
+
"pagination": false,
|
|
22377
|
+
"pathParams": [
|
|
22378
|
+
{
|
|
22379
|
+
"name": "work",
|
|
22380
|
+
"sdkName": "work",
|
|
22381
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22382
|
+
},
|
|
22383
|
+
{
|
|
22384
|
+
"name": "rendition",
|
|
22385
|
+
"sdkName": "rendition",
|
|
22386
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22387
|
+
}
|
|
22388
|
+
],
|
|
22389
|
+
"query": []
|
|
22390
|
+
},
|
|
22391
|
+
{
|
|
22392
|
+
"resource": "studio.works.renditions",
|
|
22393
|
+
"method": "retrieve",
|
|
22394
|
+
"summary": "Read one rendition",
|
|
22395
|
+
"description": "Read one rendition in full: its render state, the validation issues the render found, the parts (one per card page or thread post), the files it produced and its publish state. Call it after create, render or publish to see the outcome, because a render that finished invalid or failed is reported here and not as an HTTP error. stale is true when the draft has changed since source_revision; call the render operation before exporting a stale rendition.",
|
|
22396
|
+
"http": "GET",
|
|
22397
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}",
|
|
22398
|
+
"streaming": "no",
|
|
22399
|
+
"pagination": false,
|
|
22400
|
+
"pathParams": [
|
|
22401
|
+
{
|
|
22402
|
+
"name": "work",
|
|
22403
|
+
"sdkName": "work",
|
|
22404
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22405
|
+
},
|
|
22406
|
+
{
|
|
22407
|
+
"name": "rendition",
|
|
22408
|
+
"sdkName": "rendition",
|
|
22409
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22410
|
+
}
|
|
22411
|
+
],
|
|
22412
|
+
"query": []
|
|
22413
|
+
},
|
|
22414
|
+
{
|
|
22415
|
+
"resource": "studio.works.renditions",
|
|
22416
|
+
"method": "update",
|
|
22417
|
+
"summary": "Change the theme or settings of a rendition",
|
|
22418
|
+
"description": "Change a rendition's theme or settings. Send update_mask naming exactly the fields you change, such as theme or settings; a field left out keeps its value. The produced files are not rebuilt by this call, so call the render operation afterwards to apply the change. A rendition whose export or publish has started is locked and answers RENDITION_PUBLISH_LOCKED; create a new rendition for new content.",
|
|
22419
|
+
"http": "PATCH",
|
|
22420
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}",
|
|
22421
|
+
"streaming": "no",
|
|
22422
|
+
"pagination": false,
|
|
22423
|
+
"pathParams": [
|
|
22424
|
+
{
|
|
22425
|
+
"name": "work",
|
|
22426
|
+
"sdkName": "work",
|
|
22427
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22428
|
+
},
|
|
22429
|
+
{
|
|
22430
|
+
"name": "rendition",
|
|
22431
|
+
"sdkName": "rendition",
|
|
22432
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22433
|
+
}
|
|
22434
|
+
],
|
|
22435
|
+
"query": [],
|
|
22436
|
+
"body": {
|
|
22437
|
+
"required": true,
|
|
22438
|
+
"fields": [
|
|
22439
|
+
{
|
|
22440
|
+
"name": "update_mask",
|
|
22441
|
+
"type": "array",
|
|
22442
|
+
"itemType": "string",
|
|
22443
|
+
"required": true,
|
|
22444
|
+
"description": "Field paths this call changes: theme, settings or both; a field left out keeps its value."
|
|
22445
|
+
},
|
|
22446
|
+
{
|
|
22447
|
+
"name": "theme",
|
|
22448
|
+
"type": "string",
|
|
22449
|
+
"required": false,
|
|
22450
|
+
"description": "New theme, a thm_ identifier or a built-in key, used when theme is named in the update mask; render again to apply it."
|
|
22451
|
+
},
|
|
22452
|
+
{
|
|
22453
|
+
"name": "settings",
|
|
22454
|
+
"type": "object",
|
|
22455
|
+
"required": false,
|
|
22456
|
+
"description": "Per-rendition settings; each platform reads only the settings that apply to it and ignores the rest."
|
|
22457
|
+
}
|
|
22458
|
+
]
|
|
22459
|
+
}
|
|
22460
|
+
},
|
|
22461
|
+
{
|
|
22462
|
+
"resource": "studio.works.renditions",
|
|
22463
|
+
"method": "retrieveContent",
|
|
22464
|
+
"summary": "Get a download URL for a rendition file",
|
|
22465
|
+
"description": "Get a signed, short-lived URL to download what a rendition produced. Without part it points to the rendition's own first file: the ZIP of pages for a card rendition, the DOCX for docx@1. With part it points to that part's first file, such as one card PNG; a part that has no file, or a rendition not rendered yet, answers RENDITION_NOT_RENDERED, and an index no part has answers INVALID_PARAMS. Call it after a successful render or export, download the url before expire_time, and call again for a fresh one when it has expired. The URL is a credential: do not store or share it.",
|
|
22466
|
+
"http": "GET",
|
|
22467
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}/content",
|
|
22468
|
+
"streaming": "no",
|
|
22469
|
+
"pagination": false,
|
|
22470
|
+
"pathParams": [
|
|
22471
|
+
{
|
|
22472
|
+
"name": "work",
|
|
22473
|
+
"sdkName": "work",
|
|
22474
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22475
|
+
},
|
|
22476
|
+
{
|
|
22477
|
+
"name": "rendition",
|
|
22478
|
+
"sdkName": "rendition",
|
|
22479
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22480
|
+
}
|
|
22481
|
+
],
|
|
22482
|
+
"query": [
|
|
22483
|
+
{
|
|
22484
|
+
"name": "part",
|
|
22485
|
+
"type": "integer",
|
|
22486
|
+
"required": false,
|
|
22487
|
+
"description": "Index of the part to download, the index value of an entry in the rendition's parts list; omit it to get the rendition's own first file."
|
|
22488
|
+
}
|
|
22489
|
+
]
|
|
22490
|
+
},
|
|
22491
|
+
{
|
|
22492
|
+
"resource": "studio.works.renditions",
|
|
22493
|
+
"method": "publish",
|
|
22494
|
+
"summary": "Export a rendition",
|
|
22495
|
+
"description": "Export a rendition for the platforms that deliver a file: markdown@1, docx@1 and xiaohongshu@1 end with publish.state exported, and a card rendition gains one ZIP of its pages in files. Publishing to a platform account such as X or WeChat is not available yet and answers PLATFORM_NOT_AVAILABLE; export instead. The rendition must be rendered, not stale and without error-level issues: RENDITION_NOT_RENDERED means call the render operation first, RENDITION_STALE means the draft changed so render again, RENDITION_INVALID means fix the draft problems listed in issues and render again. Exporting the same rendition twice at once answers REVISION_CONFLICT; retry shortly. Next, call the content operation to download the file.",
|
|
22496
|
+
"http": "POST",
|
|
22497
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}:publish",
|
|
22498
|
+
"streaming": "no",
|
|
22499
|
+
"pagination": false,
|
|
22500
|
+
"pathParams": [
|
|
22501
|
+
{
|
|
22502
|
+
"name": "work",
|
|
22503
|
+
"sdkName": "work",
|
|
22504
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22505
|
+
},
|
|
22506
|
+
{
|
|
22507
|
+
"name": "rendition",
|
|
22508
|
+
"sdkName": "rendition",
|
|
22509
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22510
|
+
}
|
|
22511
|
+
],
|
|
22512
|
+
"query": []
|
|
22513
|
+
},
|
|
22514
|
+
{
|
|
22515
|
+
"resource": "studio.works.renditions",
|
|
22516
|
+
"method": "render",
|
|
22517
|
+
"summary": "Render a rendition again from the current draft",
|
|
22518
|
+
"description": "Render the rendition from the draft as it is now, replacing its parts and files and clearing stale. Call it after the draft changed, after a theme or settings change, or after a failed render. The answer carries render_state: rendered, invalid when the draft has an error-level issue (for example draft_empty on a draft with no body), or failed when the render service was unavailable (issue render_unavailable; repeat later). A render does not fail the HTTP call for those outcomes, so read render_state and issues. Rendering a Xiaohongshu card set is billed by Browser Rendering time (meter browser_ms, product studio-render); DOCX and Markdown are not billed. Rendering the same rendition twice at once answers REVISION_CONFLICT; retry shortly. Next, publish the rendition to export it.",
|
|
22519
|
+
"http": "POST",
|
|
22520
|
+
"path": "/studio/v1/works/{work}/renditions/{rendition}:render",
|
|
22521
|
+
"streaming": "no",
|
|
22522
|
+
"pagination": false,
|
|
22523
|
+
"pathParams": [
|
|
22524
|
+
{
|
|
22525
|
+
"name": "work",
|
|
22526
|
+
"sdkName": "work",
|
|
22527
|
+
"description": "The work being addressed, either its organization-unique slug or its wk_ identifier; a slug case is what a person would say, and a renamed slug still resolves through its old value."
|
|
22528
|
+
},
|
|
22529
|
+
{
|
|
22530
|
+
"name": "rendition",
|
|
22531
|
+
"sdkName": "rendition",
|
|
22532
|
+
"description": "Rendition being addressed, by its rnd_ identifier from the rendition list or from the create answer."
|
|
22533
|
+
}
|
|
22534
|
+
],
|
|
22535
|
+
"query": []
|
|
22536
|
+
},
|
|
21920
22537
|
{
|
|
21921
22538
|
"resource": "studio.works.units",
|
|
21922
22539
|
"method": "retrieve",
|