You need to enable JavaScript to run this app.
Lake AI Service

Lake AI Service

Copy page
Download PDF
Video generation
Short drama narration
Copy page
Download PDF
Short drama narration

The short drama narration operator is designed for short dramas, film clips, and plot-driven content. It can automatically perform original video ASR, video understanding, viral narration script generation, TTS narration, subtitle generation, and video rendering based on a single input video, outputting a new video with narrated voice-over. This is suitable for short drama promotion, remixing film and television content, and batch content production.

Operator introduction

Operator ID: las_short_drama_narration_gen

Applicable scenarios

  • Short drama promotion content generation: Automatically processes short drama clips into promotional materials with narrated voice-over, enhancing content comprehension efficiency and opening appeal.
  • Remixing film and television content: Generates plot narration, clarification of character relationships, and key conflict descriptions based on film clips, reducing manual scriptwriting and narration costs.
  • Batch content production: In conjunction with upstream editing tools or content libraries, generates narrated versions for multiple candidate clips individually, for distribution, review, or A/B testing.
  • Plot review: Helps content managers quickly understand the storyline and communication points of materials through automatically generated narrated videos.

Core capabilities

  • Video content understanding: Automatically analyzes the input video’s visuals, plot progression, character relationships, and key events to provide contextual basis for narration script generation.
  • Original video ASR recognition: Automatically recognizes dialogue and audio content in the original video, assisting in determining plot information and identifying highlight original audio segments that can be retained.
  • Viral narration script generation: Supports controlling narration style via style_prompt, with the default generating a tightly paced short drama narration script that hooks the audience early and avoids spoiling key plot twists.
  • Pause density control: Supports four levels of pause density—none, low, medium, and high—to control the proportion of narration coverage and the degree of highlight retention from the original video.
  • TTS narration and time alignment: Automatically synthesizes the narration script into speech and aligns it with the video time window, ensuring the narration pacing matches the visual content. Currently, Chinese narration generation is supported, and the narration voice uses the default preset template.
  • Subtitle and video rendering: Automatically generates narration subtitles and completes video rendering, outputting the final video with voice-over and subtitles.

Effect demonstration

  • Input video
  • Output video

The current example uses a medium narration pause.

Supported regions

  • Beijing: cn-beijing
  • Shanghai: cn-shanghai
  • Guangzhou: cn-guangzhou

Operator performance

Sub-items
Performance impact description

Maximum RPM

600

Maximum concurrency

10

Processing time

Processing time is directly proportional to the input video duration (the longer the video, the higher the time required for understanding, narration generation, and audio synthesis). The ratio is approximately 1 to 5 (a 1-minute video takes about 5 minutes to generate the corresponding narrated video).

Input and output requirements

Input requirements

Details

Detailed requirements

Supported input data modalities

  • Video

Input format: Video

  • Formats: mp4, mov, avi, mkv, flv, webm, m4v.
  • Quantity: Process 1 video per request.
  • Size: Input video duration must be at least 20 seconds and up to 5 minutes; input video size must not exceed 500 MB.

Input path requirements

Provide input data to the operator via the request parameter video_url. Currently, two methods are supported: public URL and TOS path.

  • Public URL: A video URL accessible via the public internet, format is http/https.
    • Public URLs do not support addresses requiring login status or additional header authentication; temporary URLs must be valid during task execution.
  • TOS path: After uploading the data to be processed to a TOS bucket under the same primary account and region as the current LAS service, you can provide a TOS path in the format tos://bucket_name/demo.
    • The TOS object must exist and have read permissions.

Output requirements

Details

Detailed requirements

Output data modalities

  • Video

Output format: Video

  • Format: Unified output in mp4 format
  • The original video's duration, resolution, and other properties are not changed

Output path: TOS

Specify the storage path for the operator's output result using the request parameter output_tos_path. Currently, setting a TOS path is supported.

  • TOS path: A writable TOS Bucket directory under the same primary account and region as the LAS service, format: tos://bucket/output/.

Billing instructions
  • Billing standards

    Sub-items
    Billing standards description

    Billing item

    Billing is calculated based on the duration of the input video.

    Billing type

    Usage-based billing, unit: CNY/minute, billed hourly based on actual usage.

    Unit price

    1.5 CNY/minute

  • Billing details
    Billing formula: Total cost = unit price * usage

Caution and prerequisites

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.
For details, see Obtain the Base URL. The Examples below are for reference only; when making actual calls, replace the path values with those corresponding to your region.

Rest API call

Submit

Interface description

Submit a task to generate narration for short drama materials. After successful submission, a task ID is returned. The final video can be obtained through the query interface.

Request parameters

Name
Type
Required
Example value
Description
operator_id
string
Yes
las_short_drama_narration_gen
Operator ID
operator_version
string
Yes
v1
Operator version
data
ShortDramaNarrationGenInfo
Yes
Short drama material narration generation request parameters

Response parameters

Name
Type
Example value
Description
metadata
metadata
Request metadata

Example

Request example

# Please set OUTPUT_TOS_PATH to a writable tos path under your account, and ensure the TOS bucket region matches the operator BaseURL region
export OUTPUT_TOS_PATH="tos://bucket/output/"

curl --location "https://las.ap-southeast-1.volces.com/api/v1/submit" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $LAS_API_KEY" \
--data '{
    "operator_id": "las_short_drama_narration_gen",
    "operator_version": "v1",
    "data": {
        "video_url": "https://example.com/input.mp4",
        "output_tos_path": "$OUTPUT_TOS_PATH",
        "style_prompt": "短剧爆款解说,节奏紧凑,开头先抛出悬念,不剧透关键反转。",
        "blank_density": "medium"
    }
}'

Response example

{
  "metadata": {
    "task_id": "20260606_150000_abc123",
    "task_status": "PENDING",
    "business_code": "0",
    "error_msg": ""
  }
}

Error codes

HttpStatusCode

Error code

Error message

Description

400

Parameter.Invalid

invalid parameter

Invalid parameter, such as an invalid enumeration value, out-of-range numeric parameter, and so on.

400

Parameter.Missing

Missing required parameter

Missing required parameter, such as video_url, or missing customer TOS credentials in TOS read/write scenarios.

400

Url.Invalid

invalid url

Video URL cannot be accessed, protocol not supported, or path is invalid.

400

Video.Invalid

invalid video file

Invalid video file, such as no video stream, empty file, or unable to parse duration.

400

Video.DownloadFailed

Video download failed

Video download error or access failure.

400

Video.FormatUnsupported

Video format not supported

Video format not supported.

400

Video.DurationTooShort

Video duration is too short

Video duration is too short, less than 20 seconds.

400

Video.DurationExceeded

Video duration exceeds maximum limit

Video duration exceeds the limit, more than 5 minutes.

400

Video.FileTooLarge

Video file is too large

Video file is too large, more than 500 MB.

400

Video.Timeout

Video processing timeout

Video processing timed out.

400

Video.UploadFailed

Video upload failed

Result upload failed.

400

Video.ModelFailed

VLM call failed

Video understanding or model call failed.

400

Tos.AccessFailed

Failed to access TOS path with provided credentials

Failed to access TOS path or credentials are invalid.

400

Connection.TooMany

Too many connections

Concurrency is too high, triggering rate limiting.

401

Authorization.Missing

Missing Authorization.

Authorization is missing.

401

ApiKey.InValid

The api key is invalid.

API Key is invalid.

500

InternalError

Internal error

Internal service error.

Poll

Interface description

Query the execution status and result of the short drama material narration generation task. The final video can be obtained after the task is completed.

Request parameters

Name

Type

Required

Example value

Description

operator_id

string

Yes

las_short_drama_narration_gen

Operator ID

operator_version

string

Yes

v1

Operator version

task_id

string

Yes

task-xxx

Task ID

Response parameters

Name
Type
Example value
Description
metadata
metadata
Metadata of the request
data
ShortDramaNarrationGenResponse
Returned data

Example

Request example

curl --location "https://operator.las.ap-southeast-1.volces.com/api/v1/poll" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $LAS_API_KEY" \
--data '{
    "operator_id": "las_short_drama_narration_gen",
    "operator_version": "v1",
    "task_id": "20260606_150000_abc123"
}'

Response example

{
  "metadata": {
    "task_id": "20260606_150000_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": {
    "final_video_path": "tos://bucket/output/final.mp4",
    "final_video_url": "https://example.com/final.mp4",
    "status": "success"
  }
}

Error codes

HttpStatusCode

Error code

Error message

Description

400

Parameter.Invalid

invalid parameter

Parameter is invalid.

400

Parameter.Missing

Missing required parameter

Required parameter is missing.

400

Url.Invalid

invalid url

Video URL is inaccessible, protocol not supported, or path is invalid.

400

Video.Invalid

invalid video file

Video file is invalid.

400

Video.DownloadFailed

Video download failed

Video download exception or access failed.

400

Video.FormatUnsupported

Video format not supported

Video format not supported.

400

Video.DurationTooShort

Video duration is too short

Video duration is too short.

400

Video.DurationExceeded

Video duration exceeds maximum limit

Video duration exceeds the limit.

400

Video.FileTooLarge

Video file is too large

Video file is too large.

400

Video.Timeout

Video processing timeout

Video processing timed out.

400

Video.UploadFailed

Video upload failed

Result upload failed.

400

Video.ModelFailed

VLM call failed

Video understanding or model call failed.

400

Tos.AccessFailed

Failed to access TOS path with provided credentials

Failed to access TOS path or credentials are invalid.

400

Connection.TooMany

Too many connections

Concurrency is too high, triggering rate limiting.

401

Authorization.Missing

Missing Authorization.

Authorization is missing.

401

ApiKey.InValid

The api key is invalid.

API Key is invalid.

500

InternalError

Internal error

Internal service error.

Last updated: 2026.07.28 16:13:06