The video intelligent editing operator leverages multimodal large models to provide intelligent video editing capabilities, enabling users to quickly extract valuable content segments from long videos. Supports understanding editing requirements described in natural language, reference image-assisted recognition (such as characters, objects, scenes, and dialogues), multidimensional video content analysis (visuals, subtitles, storyline), and outputs standardized editing decision information (timestamps, descriptions, and more).
Operator ID: las_video_edit
task_name).
spear, label, and label_reason, facilitating in-depth voice-over video editing based on processing results.task_description), enabling flexible interpretation of editing requirements described in natural language.enable_asr=true), suitable for editing scenarios with rich dialogue content and no subtitles, improving the smoothness of segment boundaries.{ "mode": "detail", "enable_asr":true, "task_name":"SHORT_DRAMA_HIGHLIGHT_EXTRACTION", "extra_config":{ "miniseries_elements":{ "title":"《错换千金:冰山机长将我宠上天》", "hint":"影视效果 请勿模仿 无不良价值观引导", "template_name":"模板1"} }, "preset_intro":{ "transition":"fade", "transition_duration":0.5 } }
{ "clip_id":"clip_001", "start_time":"00:00:43.000", "end_time":"00:02:12.240", "duration":89.24000000000001, "confidence":0.75 }
{ "clip_id":"clip_002", "start_time":"00:01:38.640", "end_time":"00:02:18.000", "duration":39.36, "confidence":0.95 }
{ "mode": "detail", "task_description":"提取莲影角色的所有片段,包含台词", "reference_images": { "target":"莲影", "images":[ "tos://las-doctest/las-ai/input/video/short_drama/中文剧集/reference-images/lianying-child-front-v1.png"] }, "output_tos_path": "tos://las-doctest/las-ai/output/las_video_edit/movie/lianying-cut/", "min_clip_duration": 30, "max_clip_count": 3 }
{ "video_url": "tos://las-doctest/las-ai/input/video/marketing_video/割草机口播-含画外音.mp4", "task_description": "这是一段割草机口播的录制素材。请保留自然割草机的产品介绍关系,删除拍摄调度、让对方重说、跳过、直接开始、设备沟通、画外提示、重复表达和无效口癖。label 使用 KEEP、REPEAT、CORRECTION、FILLER、NOISE;不要因为 speaker 不同就删除有效对话。", "enable_asr": true }
"label": "NOISE" and use editing tools to remove these parts from the video.Sub-item | Performance impact description |
|---|---|
Maximum RPM | 600 |
Maximum concurrency | 10 |
Processing time |
|
Network performance |
|
Subcategories | Detailed requirements |
|---|---|
Supported input data modalities |
|
Input format: video/audio |
|
Input format: image |
|
Input path requirements | Provide operator input data via request parameters
|
Subcategories | Detailed requirements |
|---|---|
Output data modalities |
|
Output path: TOS | In the video editing scenario, specify the storage path for the operator output result using the request parameter
|
Output path: API | In the audio editing scenario, after the operator completes processing, the edited result will be returned directly via the |
Billing standards
Breakdown item | Billing standards description |
|---|---|
Billing item | Enter the duration of the source file. |
Billing type | Usage-based billing, unit: |
Unit price | The pricing depends on the selected intelligent editing scenario. Different editing scenarios and editing modes have different unit prices. |
Billing details
Billing formula: Total cost = unit price * usage
Sub-scenarios | Unit price |
|---|---|
Video editing with the
| 1.5 CNY/minute |
Video editing with the
| 2 CNY/minute |
Audio-only editing
| 0.3 CNY/minute |
tip
In the audio-only editing scenario, after calling the operator, the billing details display the charge as the "video editing - simple mode" billing item. The difference in the billing item display does not affect the actual cost calculation and settlement.
Details | Caution and prerequisites |
|---|---|
Costs | Before calling an operator, you need to understand the model invocation costs associated with using the operator. For details, see Large model invocation billing. |
Authentication (API Key) | Before calling an operator, you need to generate an API Key for operator invocation. It is recommended to configure the API Key as an environment variable to ensure safer operator calls. For details, see Obtain and configure API Key. |
BaseURL | Before calling an operator, you need to determine the BaseURL for operator invocation based on the region where your current LAS service is deployed. This is used to configure the path parameter values for operator calls. |
Submit interface to obtain the task's task_id, then use the Poll interface to check the status of the corresponding task (task_id) and retrieve the operator's processing results.task_id is valid for 3 days. After 3 days, you will not be able to retrieve the operator's processing results using this task_id.Submit processing tasks by invoking the intelligent video editing operator, supporting intelligent analysis of public network, Volcano Engine intranet, or TOS source files, and returning edited video segments or segment analysis results based on audio semantics.
const properties = ("columns": [ { "title": "Parameter", "dataIndex": "column_0", "key": "column_0", "width": 300 }, { "title": "Type", "dataIndex": "column_1", "key": "column_1", "width": 150 }, { "title": "Required", "dataIndex": "column_2", "key": "column_2", "width": 80 }, { "title": "Example value", "dataIndex": "column_3", "key": "column_3", "width": 150 }, { "title": "Description", "dataIndex": "column_4", "key": "column_4" } ], "data": [ { "key": "1", "column_0": "operator_id", "column_1": "string", "column_2": "Yes", "column_3": "las_video_edit", "column_4": "Operator ID" }, { "key": "2", "column_0": "operator_version", "column_1": "string", "column_2": "Yes", "column_3": "v1", "column_4": "Operator version" }, { "key": "3", "column_0": "data", "column_1": "VideoEditUserReqParams", "column_2": "Yes", "column_3": "", "column_4": "Video editing request parameters", "children": [ { "key": "3-1", "column_0": "video_url", "column_1": "list of string", "column_2": "Yes", "column_3": "https://example.com/video.mp4", "column_4": "Downloadable address of the source file. Supports http/https and Volcano TOS (tos://bucket/key). The source file must be accessible; the total duration of the video must be between 1 second and 5 hours, and the file size must not exceed 5GB. When only returning timeline annotations based on audio semantics, mp3, wav, ogg, and raw audio files are supported." }, { "key": "3-2", "column_0": "task_name", "column_1": "string", "column_2": "Optional", "column_3": "MOVIE_HIGHLIGHT_EXTRACTION", "column_4": < div> Built-in common scenario names; at least one of task_description or this must be provided. When both are provided, task_description takes precedence and task_name is ignored. Optional values for task_name include:< ul>< li> MOVIE_HIGHLIGHT_EXTRACTION: Extract highlights from movies and TV shows. </ li>< li> HIGHLIGHT_CLIP_EXTRACTION: Extract general highlight clips. </ li>< li> PRODUCT_HIGHLIGHT_DETECTION: Extract product highlight clips from promotional videos. </ li>< li> SHORT_DRAMA_HIGHLIGHT_EXTRACTION: Sequential highlight extraction for short dramas, suitable for vertical short drama scenarios. It is recommended to use with < code> enable_asr=true</ code>. </ li>< li> SINGLE_SPEAKER_ORAL: Single-speaker oral content, suitable for monologues, single-person explanations to camera, single-person product introductions, and similar oral materials. Must be used with < code> enable_asr=true</ code> and without < code> mode</ code>. </ li>< li> DUAL_SPEAKER_ORAL: Dual-speaker oral/interview, suitable for two-person interviews, conversations, Q&A interactions, and similar oral materials. Must be used with < code> enable_asr=true</ code> and without < code> mode</ code>. </li></ul></div> }, { "key": "3-3", "column_0": "task_description", "column_1": "string", "column_2": "No", "column_3": "Extract all segments of the Nick character, including lines.", "column_4": < div> A clear natural language description of the editing requirements; at least one of task_name or this must be provided. < br/> In audio editing scenarios, you can specify your own audio annotation label system in task_description. Example script:< br/> This is a two-person talk show. Please use the following labels: < ul>< li> INSIGHT: Expression of unique insights;</ li>< li> QUESTION: Asking good questions;</ li>< li> STORY: Telling a story or case;</ li>< li> FILLER: Transitional or filler speech with no information;</ li>< li> REPEAT: Repeated expressions;</ li></ ul> Label each segment with the most appropriate tag. </div> }, { "key": "3-4", "column_0": "reference_images", "column_1": "list of ReferenceImage", "column_2": "No", "column_3": "", "column_4": < div> Reference image list (supports URL or TOS address), used to assist in identifying specified characters, objects, and so on. The structure is < code>[{"target":"Reference object name","images":["image address"]}]</ code>; Only effective when ASR enhancement is not enabled; if reference image download fails, returns < code> ReferenceImage.DownloadFailed</ code>. </div>, "children": [ { "key": "3-4-1", "column_0": "target", "column_1": "string", "column_2": "Yes", "column_3": "nick", "column_4": "Reference object name" }, { "key": "3-4-2", "column_0": "images", "column_1": "list of string", "column_2": "Yes", "column_3": "[\"tos://path/to/image.jpg\"]", "column_4": "Reference object image address; supports http/https/tos:// protocol" } ] }, { "key": "3-5", "column_0": "output_tos_path", "column_1": "string", "column_2": "No", "column_3": "", "column_4": < div> Directory in TOS for saving video clips, format: tos://bucket/path. The TOS credentials used for the request must have write permissions for this directory; if the bucket does not exist, the path is inaccessible, region configuration is inconsistent, or permissions are insufficient, Tos.AccessFailed will be returned. < br/> The scenario for video editing must be specified; for audio editing scenarios (when < code> mode</ code> is not provided and < code> enable_asr=true</ code>), configuration is not required. </div> }, { "key": "3-6", "column_0": "mode", "column_1": "string", "column_2": "No", "column_3": "simple", "column_4": < div> Configuration is required for video editing scenarios to explicitly specify the video editing processing mode. Optional values include:< ul>< li>< b> simple</ b>: High speed, low cost</ li>< li>< b> detail</ b>: High quality, higher cost, suitable for extracting segments from sports scenarios. </ li> ul>< br/>< code> mode</ code> and < code> enable_asr</ code> parameter configurations determine whether the current editing task is video editing or audio editing. < ul>< li> When the < code> mode</ code> parameter is provided: indicates a video editing task, and the input source file will be processed for video editing output. Only the detail mode supports enabling ASR enhancement. If < code> mode=simple</ code> and < code> enable_asr=true</ code>, < code> Parameter.Invalid</ code> is returned. </ li> li> If < code> mode</ code> is not provided and ASR enhancement is not enabled (< code> enable_asr=false</ code>): indicates it is still a video editing task, and video editing will be processed in < code> simple</ code> mode;</ li>< li> If < code> mode</ code> is not provided and ASR enhancement is enabled (< code> enable_asr=true</ code>): indicates an audio editing task, returns segment analysis results based on audio semantics, does not use video frame information, and does not generate video segments. </li></ul></div> }, { "key": "3-7", "column_0": "enable_asr", "column_1": "boolean", "column_2": "No", "column_3": "true", "column_4": < div> Whether to introduce ASR for semantic understanding enhancement. Applicable to videos with rich dialogue content and no subtitles, and scenarios requiring smooth boundaries for video segments. It is recommended that the video duration be within 1 hour. < ul>< li>< code> false</ code>: ASR is not enabled, the dialogue field is not returned</ li>< li>< code> true</ code>: ASR is enabled. </li></ul> < br/>< code> enable_asr</ code> and < code> mode</ code> parameter configurations determine whether the current editing task is video editing or audio editing. For details, refer to the above < code> mode</ code> parameter description. </div> }, { "key": "3-8", "column_0": "min_clip_duration", "column_1": "integer", "column_2": "No", "column_3": "5", "column_4": < div> Filtering rule for editing results in video editing scenarios: video segments shorter than this duration will be filtered out. < ul>< li> Unit: seconds. Valid range: 1–1800 seconds. Default is 1 second. </ li> li> Setting a value that is too large may result in empty results. If no segments meet the criteria after filtering, the task returns COMPLETED with clips=[], total_segments=0. </ li> ul>< br/> For audio editing scenarios (when < code> mode</ code> is not provided and < code> enable_asr=true</ code>), configuration is not required. If configured, parameter validity will be checked, but it will not take effect in practice. </div> }, { "key": "3-9", "column_0": "max_clip_duration", "column_1": "integer", "column_2": "No", "column_3": "60", "column_4": < div> Filtering rule for editing results in video editing scenarios: video segments longer than this duration will be filtered out. < ul>< li> Unit: seconds. Valid range: 1–1800 seconds. 0 means no limit. Default is 0. </ li> li> Setting a value that is too short may cause content fragmentation. li>< li> When max_clip_duration > 0, max_clip_duration >= min_clip_duration must be satisfied; otherwise, the error code Parameter.Invalid is returned. li>< li> max_clip_duration cannot exceed the duration of the input video. li> ul>< br/> For audio clipping scenarios (when < code> mode code> is not specified and < code> enable_asr=true code>), configuration is not required. If configured, parameter validity will be checked, but the configuration will not take effect. </div> }, { "key": "3-10", "column_0": "max_clip_count", "column_1": "integer", "column_2": "No", "column_3": "10", "column_4": < div> Filtering rules for clipping results in video clipping scenarios. This specifies the maximum number of highlight segments to return. The model will attempt to return the number of video segments according to this requirement. < ul>< li> Valid range: 1–50. 0 means no limit. The default is 0. li>< li> Setting this value too high may result in a large number of low-quality segments being returned. li> ul>< br/> For audio clipping scenarios (when < code> mode code> is not specified and < code> enable_asr=true code>), configuration is not required. If configured, parameter validity will be checked, but the configuration will not take effect. </div> }, { "key": "3-11", "column_0": "extra_config", "column_1": "ExtraConfig", "column_2": "No", "column_3": "See example below", "column_4": < div> Additional editing configuration. Currently, miniseries three-element rendering and highlight intro features are supported. Available only when < code> mode=detail code> and < code> enable_asr=true code>. If these conditions are not met, < code> Parameter.Invalid code> is returned. < code> miniseries_elements code> and < code> preset_intro code> can be provided at the same time. If both are provided and a highlight intro is generated, the intro segment will be concatenated before the main segment, and the miniseries three elements will be rendered. </div>, "children": [ { "key": "3-11-1", "column_0": "miniseries_elements", "column_1": "MiniseriesElements", "column_2": "No", "column_3": "", "column_4": < div> Miniseries three-element configuration, suitable for vertical miniseries scenarios. The rendering effect includes the title, hint, and badge. Only < code> title code>, < code> hint code>, and < code> template_name code> fields are supported. </div>, "children": [ { "key": "3-11-1-1", "column_0": "title", "column_1": "string", "column_2": "Yes", "column_3": "《错换千金:冰山机长将我宠上天》", "column_4": "Miniseries name, displayed centered at the top of the video" }, { "key": "3-11-1-2", "column_0": "hint", "column_1": "string", "column_2": "Yes", "column_3": "影视效果 请勿模仿", "column_4": "Hint, displayed vertically on the left or right according to the template" }, { "key": "3-11-1-3", "column_0": "template_name", "column_1": "string", "column_2": "Yes", "column_3": "模板1", "column_4": < div> Template name, optional values:< ul>< li>< b>模板1 b>: Title centered at the top + hint vertically on the left + badge "Popular Miniseries" at the top right li>< li>< b>模板2 b>: Title centered at the top + hint vertically on the right + badge "Now Airing" at the top right li>< li>< b>模板3 b>: Title centered at the top + hint vertically on the left + badge "Recommended Hit" at the top right li> ul> If another value is provided, < code> Parameter.Invalid code> is returned. </div> } ] }, { "key": "3-11-2", "column_0": "preset_intro", "column_1": "PresetIntro", "column_2": "No", "column_3": "", "column_4": < div> Highlight intro configuration. Passing a < code> preset_intro code> object enables this feature. The system will select a 10–15 second attractive segment from those that meet the < code> task_description code> requirements and place it at the beginning to quickly engage users. Whether a highlight intro is actually generated is determined by the < code> preset_start_time code>, < code> preset_end_time code>, and < code> preset_duration code> fields in the returned result. </div>, "children": [ { "key": "3-11-2-1", "column_0": "transition", "column_1": "string", "column_2": "No", "column_3": "fade", "column_4": < div> Transition type between the pre-roll and the main video. Optional values:< ul>< li>< code> none</ code>: No transition, direct concatenation. transition_duration is not effective.</ li>< li>< code> fade</ code>: Fade in and out, used together with transition_duration.</ li></ ul> div> }, { "key": "3-11-2-2", "column_0": "transition_duration", "column_1": "float", "column_2": "No", "column_3": "0.5", "column_4": "Transition duration (seconds), recommended: 0.5" } ] } ] }, { "key": "3-12", "column_0": "output_format", "column_1": "string", "column_2": "No", "column_3": "mp4", "column_4": < div> The output video format in the video editing scenario. Currently, only mp4 output is supported. If not specified, mp4 is used by default. < br/> In the audio editing scenario (when < code> mode</ code> is not specified and < code> enable_asr=true</ code>), video files are currently not generated, so this parameter can be ignored. </div> } ] } ] }); return <Table border={{ cell: true, wrapper: true }} pagination={false} {...properties} />;
Parameter | Type | Example value | Description |
|---|---|---|---|
metadata | metadata | Request metadata | |
task_id | string | task-xxx | Task ID in asynchronous mode, used for job status queries. |
task_status | string | PENDING | Task status in asynchronous mode.
|
business_code | string | 0 | Business code. |
error_msg | string | If an exception occurs, detailed exception information will be returned. |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/submit" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_edit", "operator_version": "v1", "data": { "video_url": ["https://${LAS_TOS_BUCKET}.${TOS_ENDPOINT}/operator_cards_serving/public/${LAS_ENVIRONMENT}/shared_video_dataset/A_Quiet_Place_movie_clip.mp4"], "task_description": "提取戴帽子的小男孩的所有片段,包含台词", "output_tos_path": "$OUTPUT_TOS_PATH", "mode": "detail", "enable_asr": true } }'
{ "metadata": { "task_id": "task-20251125163544-abc123", "task_status": "PENDING", "business_code": "0", "error_msg": "" } }
HttpStatusCode | Error code | Error message | Description |
|---|---|---|---|
400 | Url.Invalid | The url is invalid. | The video URL is invalid. |
400 | Video.Invalid | The video file is invalid. | The video file is invalid. |
400 | Video.DurationExceeded | Video duration exceeds maximum limit of 5 hours. | The duration of a single video or the total duration of multiple videos exceeds the maximum limit. |
400 | Video.FileTooLarge | Video file size exceeds maximum limit of 5GB. | The video file size exceeds the limit. |
400 | Parameter.Invalid | The parameter is invalid. | Parameter is invalid |
401 | Authorization.Missing | Missing Authorization. | Missing authorization |
401 | ApiKey.InValid | The api key is invalid. | API is invalid |
400 | Video.DurationTooShort | Video duration is too short, minimum 1 second required. | The video duration is too short. |
400 | Video.Timeout | Video processing timeout. | Video processing timeout |
500 | Internal.ServerError | Internal server error. | Internal server error |
Query the execution status and result of the video editing task.
Parameter | Type | Required | Example value | Description |
|---|---|---|---|---|
operator_id | string | Required | las_video_edit | Operator ID |
operator_version | string | Required | v1 | Operator version |
task_id | string | Required | task-xxx | Task ID |
const properties = ("columns": [ { "title": "Parameter", "dataIndex": "column_0", "key": "column_0", "width": 300 }, { "title": "Type", "dataIndex": "column_1", "key": "column_1", "width": 150 }, { "title": "Example value", "dataIndex": "column_2", "key": "column_2", "width": 150 }, { "title": "Description", "dataIndex": "column_3", "key": "column_3" } ], "data": [ { "key": "1", "column_0": "metadata", "column_1": "metadata", "column_2": "", "column_3": "Request metadata", "children": [ { "key": "1-1", "column_0": "task_id", "column_1": "string", "column_2": "task-xxx", "column_3": "Task ID in asynchronous mode." }, { "key": "1-2", "column_0": "task_status", "column_1": "string", "column_2": "COMPLETED", "column_3": < div> Task status in asynchronous mode. < br/>< ul>< li> PENDING, task submitted and queued</ li>< li> RUNNING, running</ li>< li> COMPLETED, completed</ li>< li> FAILED, failed</ li>< li> TIMEOUT, timed out</ li></ ul> div> }, { "key": "submit_time_1", "children": [], "column_0": "submit_time", "column_1": "string", "column_2": "2026-07-21T16:04:06+08:00", "column_3": "Task submission time, formatted as an ISO 8601 timestamp." }, { "key": "end_time_1", "children": [], "column_0": "end_time", "column_1": "string", "column_2": "2026-07-21T16:04:06+08:00", "column_3": "Task end time, formatted as an ISO 8601 timestamp." }, { "key": "1-3", "column_0": "business_code", "column_1": "string", "column_2": "0", "column_3": "Business code." }, { "key": "1-4", "column_0": "error_msg", "column_1": "string", "column_2": "", "column_3": "If an exception occurs, detailed exception information will be returned." } ] }, { "key": "2", "column_0": "data", "column_1": "VideoEditResponse", "column_2": "", "column_3": < div> Task result data. When all source files are processed successfully,< code> task_status=COMPLETED</ code>,< code> business_code=0</ code>. When some source files fail to be processed,< code> task_status=FAILED</ code>,< code> business_code=Video.PartialFailure</ code>,< code> data</ code> will still be returned:< code> clips</ code> contains segments from successfully processed source files,< code> videos</ code> contains the processing status and failure reasons for each source file. When all source files fail to be processed,< code> business_code=Video.AllSourcesFailed</ code>, no valid processing result is returned. < code> PENDING</ code>,< code> RUNNING</ code> or < code> TIMEOUT</ code>, a placeholder empty structure may be returned, such as < code>{"video_duration":0.0,"total_segments":0,"clips":[],"resolution":""}</ code>. This structure does not indicate that there are ultimately no matched segments. If the task fails or times out, please refer to < code> metadata.business_code</ code> and < code> metadata.error_msg</ code> to determine the overall cause; when some source files fail to be processed, please check < code> data.videos</ code> for the < code> business_code</ code> and < code> error_msg</ code> of the corresponding source file for specific reasons. </div>, "children": [ { "key": "2-1", "column_0": "total_segments", "column_1": "integer", "column_2": "8", "column_3": "The total number of segments that actually meet the requirements in this response." }, { "key": "2-2", "column_0": "clips", "column_1": "list of VideoClipInfo", "column_2": "", "column_3": "Segment list. In the video editing scenario, returns the edited video segments; when only timeline annotation based on audio semantics is performed, currently supports returning all voice timeline segments.", "children": [ { "key": "2-2-1", "column_0": "clip_id", "column_1": "string", "column_2": "clip_001", "column_3": "Unique identifier for the segment." }, { "key": "2-2-2", "column_0": "source_id", "column_1": "string", "column_2": "source_001", "column_3": "The unique identifier of the input video to which the current segment belongs." }, { "key": "2-2-3", "column_0": "start_time", "column_1": "string", "column_2": "00:02:05.000", "column_3": "Segment start time (HH:MM:SS.mmm format)." }, { "key": "2-2-4", "column_0": "end_time", "column_1": "string", "column_2": "00:02:14.500", "column_3": "Segment end time (HH:MM:SS.mmm format)." }, { "key": "2-2-5", "column_0": "duration", "column_1": "float", "column_2": "9.5", "column_3": "Segment duration (seconds)." }, { "key": "2-2-6", "column_0": "description", "column_1": "string", "column_2": "Dialogue between Nick and Judy at the police station", "column_3": "Segment description information. May be empty when only timeline annotation based on audio semantics is performed." }, { "key": "2-2-7", "column_0": "dialogue", "column_1": "string", "column_2": "Do you need help?", "column_3": "Segment dialogue content, from the ASR recognition result within the segment. Returned only when enable_asr is enabled and there is ASR content in the segment." }, { "key": "2-2-8", "column_0": "clip_url", "column_1": "string", "column_2": "tos://bucket/path/clip_001.mp4", "column_3": "TOS URI of the edited segment. When only timeline annotation based on audio semantics is performed, video segments are currently not generated and this field is not returned." }, { "key": "2-2-9", "column_0": "file_size", "column_1": "integer", "column_2": "1993083", "column_3": "Segment file size (bytes). When only timeline annotation based on audio semantics is performed, video segments are currently not generated and this field is not returned." }, { "key": "2-2-10", "column_0": "confidence", "column_1": "float", "column_2": "1.0", "column_3": "Confidence score (0.0-1.0), indicating the model's confidence that the segment meets the requirements." }, { "key": "2-2-11", "column_0": "meta", "column_1": "object", "column_2": "{\"scene_type\": \"indoor\"}", "column_3": < div> Custom metadata, used to store additional information requested by the user via task_description; when only timeline annotation based on audio semantics is performed, semantic tag information such as speaker, label, and label_reason can also be returned. < br/> The supported values for the label field returned in preset voice-over task scenarios include:< ul>< li> KEEP: Indicates that the current segment is a valid utterance. </ li>< li> REPEAT: The same sentence was repeated. </ li>< li> CORRECTION: Slip of the tongue or self-correction. </ li>< li> FILLER: Filler words (for example: um, uh, well, you know, and so on). </ li>< li> NOISE: Environmental noise or off-screen sound. </li></ul></div> }, { "key": "2-2-12", "column_0": "preset_start_time", "column_1": "string", "column_2": "00:02:09.000", "column_3": "Preset segment start time (HH:MM:SS.mmm format). Value is only present if there is an actual preset segment." }, { "key": "2-2-13", "column_0": "preset_end_time", "column_1": "string", "column_2": "00:02:21.000", "column_3": "Preset segment end time (HH:MM:SS.mmm format). Value is only present if there is an actual preset segment." }, { "key": "2-2-14", "column_0": "preset_duration", "column_1": "float", "column_2": "12", "column_3": "Preset segment duration (seconds). Value is only present if there is an actual preset segment." }, { "key": "2-2-15", "column_0": "preset_description", "column_1": "string", "column_2": "-", "column_3": "Preset segment content description. Value is only present if there is an actual preset segment." } ] }, { "key": "2-3", "column_0": "videos", "column_1": "list of VideoSourceInfo", "column_2": "", "column_3": "Input video list and processing result information. In multi-input scenarios, this can be used to view the processing status, basic properties, and statistics of identified segments for each source video.", "children": [ { "key": "2-3-1", "column_0": "episode", "column_1": "integer", "column_2": "1", "column_3": "Video sequence number." }, { "key": "2-3-2", "column_0": "source_id", "column_1": "string", "column_2": "source_001", "column_3": "Unique identifier for the input video." }, { "key": "2-3-3", "column_0": "source_index", "column_1": "integer", "column_2": "0", "column_3": "Index position of the input video in the request list, starting from 0." }, { "key": "2-3-4", "column_0": "video_url", "column_1": "string", "column_2": "https://example.com/video.mp4", "column_3": "Input video URL." }, { "key": "2-3-5", "column_0": "media_type", "column_1": "string", "column_2": "video", "column_3": < div> Media type, currently always < code> video</ code>. </div> }, { "key": "2-3-6", "column_0": "status", "column_1": "string", "column_2": "SUCCEEDED", "column_3": < div> Processing status of the current video. Enumeration values:< code> SUCCEEDED</ code> (processing succeeded), < code> FAILED</ code> (processing failed). </div> }, { "key": "2-3-7", "column_0": "file_size", "column_1": "integer", "column_2": "58499535", "column_3": "Input video file size (bytes)." }, { "key": "2-3-8", "column_0": "duration", "column_1": "float", "column_2": "482.482", "column_3": "Input video duration (seconds)." }, { "key": "2-3-9", "column_0": "resolution", "column_1": "string", "column_2": "1280x720", "column_3": "Input video resolution." }, { "key": "2-3-10", "column_0": "candidate_clip_count", "column_1": "integer", "column_2": "2", "column_3": "Number of candidate segments for the current video." }, { "key": "2-3-11", "column_0": "selected_clip_count", "column_1": "integer", "column_2": "2", "column_3": "Number of final selected segments for the current video." }, { "key": "2-3-12", "column_0": "business_code", "column_1": "string", "column_2": "null", "column_3": "Business code corresponding to the processing of the current video; may be empty if successful." }, { "key": "2-3-13", "column_0": "error_msg", "column_1": "string", "column_2": "null", "column_3": "Error message when processing the current video fails; empty if successful." } ] }, { "key": "2-4", "column_0": "video_duration", "column_1": "float", "column_2": "300.09", "column_3": "Original source file duration (seconds)." }, { "key": "2-5", "column_0": "resolution", "column_1": "string", "column_2": "1920x800", "column_3": "Original video resolution (such as \"1920x1080\"). This field is not returned when only audio semantics are used." } ] } ] }); return <Table border={{ cell: true, wrapper: true }} pagination={false} {...properties} />;
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/poll" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_edit", "operator_version": "v1", "task_id": "task-20251125163544-abc123" }'
{ "metadata": { "task_id": "task-20251125163544-abc123", "task_status": "COMPLETED", "submit_time": "2026-07-21T16:04:06+08:00", "end_time": "2026-07-21T16:04:06+08:00", "business_code": "0", "error_msg": "" }, "data": { "total_segments": 8, "videos": [ { "episode": 1, "source_id": "source_001", "source_index": 0, "video_url": "https://example.com/video.mp4", "media_type": "video", "status": "SUCCEEDED", "file_size": 58499535, "duration": 482.482, "resolution": "1280x720", "candidate_clip_count": 2, "selected_clip_count": 2, "business_code": null, "error_msg": null } ], "clips": [ { "clip_id": "clip_001", "source_id": "source_001", "start_time": "00:02:05.000", "end_time": "00:02:14.500", "duration": 9.5, "description": "A young boy wearing a hat appears behind the counter, with subtitles displayed at the bottom of the screen. The boy wearing a hat sits on the floor next to the shelf.", "dialogue": "Tak apa", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_001.mp4", "file_size": 1993083, "confidence": 1.0, "meta": null }, { "clip_id": "clip_002", "source_id": "source_001", "start_time": "00:02:27.000", "end_time": "00:02:30.500", "duration": 3.5, "description": "The boy wearing a hat sits on the floor next to the shelf, facing the left side of the screen.", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_002.mp4", "file_size": 419782, "confidence": 1.0, "meta": null }, { "clip_id": "clip_003", "source_id": "source_001", "start_time": "00:02:52.000", "end_time": "00:03:17.500", "duration": 25.5, "description": "A woman approaches the boy wearing a hat who is sitting on the floor, interacts with him, feeds him, and touches his hat. The boy wearing a patterned knit hat sits against the wall; a woman hands him a water bottle, he takes it and drinks, then begins to speak.", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_003.mp4", "file_size": 4616337, "confidence": 1.0, "meta": null }, { "clip_id": "clip_004", "source_id": "source_001", "start_time": "00:03:26.000", "end_time": "00:03:51.500", "duration": 25.5, "description": "The boy wearing a dark hat is on the supermarket floor, squatting and playing interactively with another girl, making gestures similar to launching a rocket.", "dialogue": "Roket", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_004.mp4", "file_size": 5612855, "confidence": 1.0, "meta": null }, { "clip_id": "clip_005", "source_id": "source_001", "start_time": "00:03:56.000", "end_time": "00:04:02.500", "duration": 6.5, "description": "The boy wearing a red-and-white striped knit hat speaks, expressing the idea of leaving this planet. The boy wearing a hat stands in front of the shelf, delivers a line, and raises one finger.", "dialogue": "Itulah caranya..... Kita pergi dari Planet ini", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_005.mp4", "file_size": 1037987, "confidence": 1.0, "meta": null }, { "clip_id": "clip_006", "source_id": "source_001", "start_time": "00:04:09.000", "end_time": "00:04:11.500", "duration": 2.5, "description": "The boy wearing a hat smiles, then runs out of the frame.", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_006.mp4", "file_size": 456489, "confidence": 1.0, "meta": null }, { "clip_id": "clip_007", "source_id": "source_001", "start_time": "00:04:31.000", "end_time": "00:04:41.500", "duration": 10.5, "description": "The boy wearing a hat climbs onto a box next to the shelf and reaches for items on the shelf.", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_007.mp4", "file_size": 2120459, "confidence": 1.0, "meta": null }, { "clip_id": "clip_008", "source_id": "source_001", "start_time": "00:04:46.000", "end_time": "00:04:58.500", "duration": 12.5, "description": "The boy wearing a hat stands next to a girl, the girl looks at him, then the boy reaches for items on the shelf.", "clip_url": "tos://${LAS_TOS_BUCKET}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_edit/v1/clip_008.mp4", "file_size": 2910307, "confidence": 0.95, "meta": null } ], "video_duration": 300.091458, "resolution": "1920x800" } }
HttpStatusCode | Error code | Error message | Description |
|---|---|---|---|
400 | Parameter.Invalid | Invalid parameter. | Parameter is invalid |
400 | Parameter.Missing | Missing required parameter. | Missing required parameter |
400 | Url.Invalid | Invalid URL. | URL is invalid |
400 | Video.Invalid | Invalid video file. | Video file is invalid |
400 | Video.DownloadFailed | Video download failed. | Video download failed |
400 | Video.FormatUnsupported | Video format not supported. | Video format not supported |
400 | Video.Timeout | Video processing timeout. | Video processing timeout |
400 | Video.VLMFailed | VLM call failed. | VLM call failed |
400 | Video.UploadFailed | Video upload failed. | Video upload failed |
400 | Video.DurationTooShort | Video duration too short. | Video duration is too short |
400 | Video.FrameExtractionFailed | Frame extraction failed. | Frame extraction failed |
400 | Tos.AccessFailed | TOS access failed. | TOS access failed |
400 | ReferenceImage.DownloadFailed | Reference image download failed. | Reference image download failed |
400 | Video.PartialFailure | 1 of 2 input videos failed; see data.videos for details. | Some input sources failed to be processed; data retains the processing results of successfully processed source files. For failure details, see data.videos. |
400 | Video.AllSourcesFailed | 2 of 2 input videos failed; error summary: Video.DownloadFailed=2. | All input sources failed to be processed; no available processing result. See error_msg for error summary. |
401 | Authorization.Missing | Missing Authorization. | Missing authorization |
401 | ApiKey.InValid | The api key is invalid. | API is invalid |
400 | Task.NotFound | Task not found. | Task does not exist |
500 | Internal.ServerError | Internal server error. | Internal server error |