File size: 3,097 Bytes
c74801e
 
 
 
 
 
 
 
bf98a9d
c74801e
 
 
 
bf98a9d
 
 
 
 
 
c74801e
 
 
bf98a9d
c74801e
 
 
bf98a9d
c74801e
bf98a9d
c74801e
 
bf98a9d
b9012e6
c74801e
 
 
 
 
bf98a9d
 
c74801e
 
 
b9012e6
 
c74801e
 
bf98a9d
c74801e
 
 
 
bf98a9d
c74801e
 
 
 
 
 
bf98a9d
 
 
 
 
 
 
 
 
 
 
 
c74801e
bf98a9d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
base_model: XD-MU/ScriptAgent
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:XD-MU/ScriptAgent
- lora
- transformers
arxiv: 2601.17737
---

# ScriptAgent: Dialogue-to-Shooting-Script Generation Model

This model is a fine-tuned adapter (LoRA) designed to **generate detailed shooting scripts from dialogue inputs**. It is the implementation of **ScripterAgent** as described in the paper: [The Script is All You Need: An Agentic Framework for Long-Horizon Dialogue-to-Cinematic Video Generation](https://huggingface.co/papers/2601.17737).

[**Project Page**](https://xd-mu.github.io/ScriptIsAllYouNeed/) | [**Code**](https://github.com/Tencent/digitalhuman/tree/main/ScriptAgent) | [**Demo**](https://huggingface.co/spaces/XD-MU/ScriptAgent)

## Model Description
ScriptAgent transforms conversational text (coarse dialogue) into structured, fine-grained, and executable cinematic scripts. It bridges the "semantic gap" between a creative idea and its cinematic execution, providing necessary context for video generation models, including character descriptions, scene settings, positions, and dialogue cues.

The model is compatible with [ms-swift](https://github.com/modelscope/swift) and supports efficient inference via the **vLLM backend**.

> 💡 Note: This repository contains a **PEFT adapter** (LoRA). To use it, you must merge it with the original base model or load it via `ms-swift`.

## ▶️ Inference with ms-swift (vLLM Backend)

To generate shooting scripts from dialogue inputs, use the following snippet with **ms-swift**. You can find **DialoguePrompts** [here](https://huggingface.co/datasets/XD-MU/DialoguePrompts).

```python
import os
from huggingface_hub import snapshot_download
from swift.llm import PtEngine, RequestConfig, InferRequest

os.environ['CUDA_VISIBLE_DEVICES'] = '0'

model_name = "XD-MU/ScriptAgent"
local_path = "./models/ScriptAgent"

# Download the model files
print("Downloading model...")
snapshot_download(
    repo_id=model_name,
    local_dir=local_path,
    local_dir_use_symlinks=False,
    resume_download=True
)

# Load using SWIFT
engine = PtEngine(local_path, max_batch_size=1)
request_config = RequestConfig(max_tokens=8192, temperature=0.7)

infer_request = InferRequest(messages=[
    {"role": "user", "content": "Your Dialogue Here"}
])
response = engine.infer([infer_request], request_config)[0]

print(response.choices[0].message.content)
```

## Citation

If you find this work useful, please cite:

```bibtex
@article{directing2026,
  title={The Script is All You Need: An Agentic Framework for Long-Horizon Dialogue-to-Cinematic Video Generation},
  author={Mu, Chenyu and He, Xin and Yang, Qu and Chen, Wanshun and Yao, Jiadi and Liu, Huang and Yi, Zihao and Zhao, Bo and Chen, Xingyu and Ma, Ruotian and others},
  journal={arXiv preprint arXiv:2601.17737},
  year={2026}
}
```

## Acknowledgments
- Thanks to [LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory) for the SFT training framework.
- Thanks to [ms-swift](https://github.com/modelscope/ms-swift) for the GRPO training framework.