Lake AI ServiceVideoVideo UnderstandingFine-grained Video Understanding
Copy page
Download PDF
Video Understanding
Fine-grained Video Understanding
Copy page
Download PDF
Fine-grained Video Understanding
The Fine-grained Video Understanding operator is designed for general video content. It supports direct understanding and analysis of videos. Whether the content is a short video, film or TV clip, course screen recording, or surveillance footage, users can upload a video and provide a query or task_template. The operator can then describe the video content, answer questions, extract information, and locate related clips with timestamps. It supports hour-level video input, up to 3h and 10G. It also supports structured descriptions with time information based on events and action stages in the video, combining visuals, speech, music, and sound effects.
"Detect illegally parked vehicles and license plates in the video"
Key capabilities
Global fine-grained understanding: Supports hour-level videos, up to 3h and 10G, and can generate coherent timelines, chapter summaries, and more.
Joint audio-video understanding: Supports comprehensive analysis by combining video frames, speech, background audio, and sound effects. It is suitable for scenarios that require both visual and auditory cues.
Event and behavior recognition: Accurately detects key events, character actions, scene changes, and logical relationships.
Video Q&A: Natural language Q&A based on video content, with quick answer and timestamp localization.
Efficient summaries and tags: Can generate chapter summaries, topic tags, character relationships, and more, facilitating knowledge management.
Structured output: Supports outputting timelines, event lists, and more, for secondary processing or knowledge base construction.
Scenario-based task templates: Provides built-in templates for general video descriptions, fine-grained video descriptions, comprehensive audio-video understanding, embodied interaction object recognition, action timeline annotation, target detection, and more. This reduces Prompt design and parameter tuning costs. Supports specifying the template version in the 模板名@版本号 format. If no version number is provided, v1 is used by default.
Effect display
【预置任务模板:大模型预训练场景示例】
Example 1: Input video
Replay
Play
00:00/00:00Live
00:00
Fullscreen
Cssfullscreen
1x
2x
1.5x
1x
0.75x
0.5x
Click and hold to drag
Application scenario 1: Fine-grained description
Task template: general_video_captioning, generates a general Chinese description.
Applicable scenario: Suitable for video-level semantic labels, video-text pairing, and text supervision for pretraining data.
Task template: dense_video_captioning, splits by time and generates summaries of actions and scene content.
Applicable scenario: Emphasizes unified structure and time boundaries. It is suitable for clip-level indexing, temporal supervision construction, automatic slicing, and batch quality inspection. It is not limited to a specific scenario category.
Application scenario 1 input video: Video after stitching the left and right robotic arm auxiliary-view videos
Replay
Play
00:00/01:10Live
00:00
Fullscreen
Cssfullscreen
1x
2x
1.5x
1x
0.75x
0.5x
Click and hold to drag
Scenario 2 input video: Main-view video
Replay
Play
00:00/01:10Live
00:00
Fullscreen
Cssfullscreen
1x
2x
1.5x
1x
0.75x
0.5x
Click and hold to drag
First capture clearer item details from the auxiliary-view video and identify the items. Then perform action timeline annotation based on the main-view video.
Recommendations after operator processing results:
Organize the item list in the returned result into brief text. Use it as task_context.prompt_context in subsequent timeline standard requests.
Each line in the context starts with the generated stable instance ID (obj_001, obj_002 …). This allows the main-view caption to reuse the same stable ID for alignment when the same object is operated on multiple times, for example, "pick up the same yellow long-tail clip for the 2nd time".
After the item list, append an [action category vocabulary] and [skill filling rules]. Clearly tell the model which standardized atomic action categories are available, and output the corresponding skill label for each action segment.
The total time is related to video duration, content complexity, and network environment.
Input and output requirements
Input requirements
Subdivision
Detailed description
Supported input data modalities
Video
Text (task supplementary text)
Input format: Video
Format: Common video formats such as mp4, mov, avi, and mkv are supported
Size: Supports video input up to 3 hours and 10 GB. For tasks that need to output many event and action details, we recommend processing videos within 30 minutes first
Input path requirements
Provide input data to the operator through the request parameter video_url. Currently, public URLs and TOS paths are supported.
Public URL: A publicly accessible video URL in http/https format.
TOS path: After uploading the data to be processed to a TOS Bucket under the same main account and region as the current LAS service, you can provide the TOS path in the format tos://bucket_name/demo.
Output requirements
Subdivision
Detailed description
Output data modality
Text
Output path: API return
After operator processing is complete, the result is returned directly through the response parameters of the operator Poll API.
Billing description
Billing standard
Subitem
Billing standard description
Billable items
Includes 4 billable items: model input, model output, cache storage, and cache hit. The payable fee is the sum of all billable items.
Billing type
Pay-as-you-go. Unit: 元/百万 Tokens. Bills are generated hourly based on actual billable usage.
Unit price
The unit price of each billable item follows tiered pricing based on the model input length when invoking the model. Unit prices differ across different input length ranges.
Based on the billing details table above, you can estimate how many Tokens the input video is roughly equivalent to. Combine this with the operator request code to estimate the overall model input length.
Note: This estimation result cannot be used as accurate input length data. It is for reference only. During actual task processing, other inputs such as the system Prompt are also included, but these inputs are usually not very long.
Note
Currently, when using the doubao-seed-2.1 model, the generated billing statement still displays doubao-seed-2.0-related impact factors. You can use details such as the unit price in the bill to identify the model type actually used for the current bill.
Notes and prerequisites
Subitem
Notes and prerequisites
Enable LAS
If you are a new Volcengine user and have not enabled the LAS product before, you can enable LAS first. Enabling only the LAS product without using its billing features does not incur fees. For enablement operations, see Preparations.
After enablement, you can view the operator introduction documentation to learn about operator capabilities and getting started guidance. For details, see LAS intelligent data processing operators.
Fees
Before invoking the operator, you must first understand the model invocation fees when using the operator. For details, see Large model invocation billing.
Authentication (API Key)
Before invoking the operator, you must generate an API Key for operator invocation. We recommend configuring the API Key as an environment variable to call the operator more securely. For details, see Obtain an API Key and configure it.
BaseURL
Before invoking the operator, you must learn about the BaseURL for operator invocation based on the region where your current LAS service is located. This is used to configure operator invocation path parameter values.
For details, see Obtain the Base URL. The Examples below are for reference only. Replace them with the path value for your region during actual invocation.
API invocation
API invocation description
The API of this operator is an asynchronous task API. You must submit a task through the Submit API to obtain the task task_id. Then use the Poll API to obtain the running status of the corresponding task (task_id) and the operator processing result.
Note that after the task is submitted, the task_id of the task is valid for 3 days. After 3 days, you cannot use this task_id to obtain the operator processing result.
Submit
API description
Invoke the las_video_understanding operator for Fine-grained Video Understanding. The minimum available request can pass in video_url and query, or pass in video_url and task_template. Other fields can be configured as needed based on task complexity and analysis requirements.
Accessible address of the video to be analyzed. Supports http/https, Volcengine TOS (tos://bucket/key), and more. Ensure that the server can fetch the resource. We recommend using a stable file link that can be downloaded directly. Maximum supported duration: 3 hours. Maximum supported size: 10 GB. Supported formats: mp4, mov, avi, mkv, flv, webm. For tasks that need to output many event and action details, we recommend processing videos within 30 minutes first to obtain a more stable result structure and time boundaries.
querystringExample value: Summarize the key goals in the video in chronological order, and mark player numbers and timestamps
Analysis objective or question description for the video. Required if task_template is not passed in. When both query and task_template are passed in, the explicit query overrides the default query of the template. Other explicit parameters also override the corresponding template default values. We recommend making the output objective and result organization as clear as possible. The more specific the question, the more stable the result usually is.
Task template. After it is passed in, the default configuration required by the task can be automatically filled in. When using a template, you usually only need to pass in video_url and task_template. Supports specifying the template version through template_name@version_number. If no version number is provided, v1 is used by default. For example, general_video_captioning is equivalent to general_video_captioning@v1.
dense_video_captioning: Generates structured JSON descriptions containing time information for events, actions, and scenes. It is suitable for tasks that need to output many event and action details. We recommend using it first for videos within 30 minutes.
video_audio_understanding: Combines video frames, speech, music, and sound effects to generate comprehensive audio-video understanding results.
omni_video_audio_captioning: Comprehensively understands visuals and sounds, and generates structured descriptions with time information based on events and action stages in the video.
speech_recognition: Transcribes speech in audio or video and distinguishes speakers.
audio_understanding: Summarizes and analyzes pure audio content.
embodied_active_object_detection: Identifies main interactive objects for embodied operation scenarios. Supports v2.
Target detection category and description. It currently takes effect when task_template is object_detection. We recommend using the format "English category key (Chinese/natural language description)". The category in the output uses the category key before the parentheses.
Independent audio address. When used for video_audio_understanding or omni_video_audio_captioning, it takes precedence over the built-in audio track of the video.
startfloatExample value: 30.0
Video analysis start time, in seconds. The range is [0, video duration], and start < end.
endfloatExample value: 120.0
Video analysis end time, in seconds. The range is [0, video duration], and start < end.
fpsfloatExample value: 1.0
Video frame extraction frame rate. Increasing fps improves analysis accuracy, but also increases processing latency, Token consumption, and cost. The default value is 1.0. The value range is [1/60, 10]. The default value is sufficient for general scenarios. When the task requires recognizing fast actions or finer-grained events, you can try increasing the value appropriately.
media_resolutionstringExample value: medium
Video processing resolution tier. It affects visual detail retention and processing latency. The default value is medium. Supported values: low, medium, high, xhigh. The default value is sufficient for general scenarios. When the task has high requirements for recognizing visual details such as subtitles, small targets, and jersey numbers, you can try a higher tier.
Specifies the video understanding model. The default value is doubao-seed-2-0-lite-260215. If you have no special requirements, we recommend using the default value.
Controls model reasoning intensity. The default value is minimal, which means deep thinking is disabled. Common values: minimal, low, medium, high. The default value is sufficient for general scenarios. When the task involves cross-clip induction, complex causal relationships, or multi-character analysis, you can try using a higher tier.
clip_contextstringExample value: medium
Controls the context range of a single video segment. The default value is medium. Supported values: medium, long. The default value is sufficient for general scenarios. When the task depends more on context continuity, you can try the higher tier long.
use_responses_apibooleanExample value: false
Whether to enable Responses API capabilities. After it is enabled, video content can be cached. The cache is valid for 1 hour and is suitable for repeated analysis requests on the same video.
previous_response_idslist of stringExample value: ["cache_resp_test"]
After passing in the list of response identifiers returned from the previous response, cached video content can be reused. This takes effect only when use_responses_api=true.
Response parameters
metadataobject
Request metadata
task_idstringExample value: task-xxx
Task ID in asynchronous mode, used for job status queries.
task_statusstringExample value: PENDING
Task status in asynchronous mode.
PENDING, task submitted and queued
RUNNING, running
COMPLETED, completed
FAILED, failed
TIMEOUT, timed out
business_codestringExample value: 0
Business code. Usually returns 0 when the submission is successful.
error_msgstring
If an exception occurs, detailed exception information is returned.
Recommended configuration
Scenario
Recommended parameters
General summary, basic Q&A
Use the default parameters
Sports events, action detail analysis
You can appropriately increase fps. When the recognition requirements for details such as jersey numbers and small targets are high, try media_resolution=high
Meeting minutes, course breakdown, plot sorting
You can try clip_context=long. When the task involves complex induction, you can further try increasing reasoning_effort
Repeated analysis of the same video, reuse cached video
use_responses_api=true, and pass in previous_response_ids. The video cache is valid for 1 hour
Business code. Usually returns 0 when business processing succeeds.
error_msgstring
If an exception occurs, detailed exception information is returned.
datalong_video_understand_result
Returned data
token_usageslist of token_usage_infoExample value: [{"model_name":"doubao-seed-2-0-lite-260215","token_usage":{"prompt_tokens":4453444,"completion_tokens":10929}}]
final_summarystringExample value: The video as a whole describes...
Final summary
response_idslist of stringExample value: ["cache_resp_test"]
List of response identifiers returned after the Responses API is enabled. They can be passed in through previous_response_ids in subsequent Submit requests to reuse cached video content