---
title: "Submit Screenplay Task"
method: POST
path: "/screenplay/tasks"
---

# Submit Screenplay Task

`POST /screenplay/tasks`

## Request body

- object
  - `mode` 'short_drama' | 'korean_drama' | 'prompt_script', required — Extraction mode
  - `episodes` object, required — Map of episode number to asset_id
  - `config` object, required — Configuration options for the extraction task
    - `language` string — Language code for extraction
    - `use_face_recognition` boolean — Enable face recognition for character identification
    - `use_subtitle` boolean — Use subtitle extraction instead of ASR
    - `require_json` boolean — Return JSON format results (transcript + storyboard JSON URIs)
    - `require_xlsx` boolean — Return per-episode XLSX storyboard files
    - `require_merge_xlsx` boolean — Return a merged XLSX file combining all episodes
    - `concurrency` integer — Processing concurrency limit

## Response `200`

Task submitted successfully

- object
  - `code` integer — Response code indicating the result status
  - `msg` string — Response message
  - `data` object
    - `task_id` string — Unique identifier of the screenplay task
    - `status` string — Initial task status
    - `mode` string — The extraction mode used
    - `created_at` string — ISO 8601 timestamp of task creation
    - `total_duration_seconds` number — Total video duration across all episodes in seconds
  - `success` boolean — Indicates whether the operation was successful
  - `failed` boolean — Indicates whether the operation failed

---

[API](https://skmtc.net/memories/apis/screenplay-extraction-api.md) · [All operations](https://skmtc.net/memories/apis/screenplay-extraction-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/memories/screenplay-extraction-api/versions/720c8c144ddc/schema)
