| 1 | You need to write a complete script based on the given topic "{topic}". Please strictly follow the steps below to perform this task. |
| 2 | |
| 3 | |
| 4 | |
| 5 | ### Step 1: |
| 6 | Plan three coherent scenes based on the topic, assign a sub-topic to each scene, select corresponding locations and main characters based on the sub-topic, develop a plot for each scene. |
| 7 | |
| 8 | This step may require the following information: |
| 9 | #### Main Characters: |
| 10 | 1. **Male**: {male_characters} |
| 11 | 2. **Female**: {female_characters} |
| 12 | |
| 13 | #### Main Locations: |
| 14 | 1. **Apartment living room**: maximum capacity: 5 |
| 15 | 2. **Apartment kitchen**: maximum capacity: 5 |
| 16 | 3. **Roadside**: maximum capacity: 2 |
| 17 | 4. **Gaming room**: maximum capacity: 4 |
| 18 | 5. **Meeting room**: maximum capacity: 7 |
| 19 | 6. **Storehouse**: maximum capacity: 3 |
| 20 | 7. **Relaxing Room**: maximum capacity: 5 |
| 21 | 8. **Reception Room**: maximum capacity: 5 |
| 22 | 9. **Sofa Corner**: maximum capacity: 5 |
| 23 | 10. **Large kitchen**: maximum capacity: 5 |
| 24 | 11. **Beverage Room**: maximum capacity: 3 |
| 25 | 12. **Office**: maximum capacity: 3 |
| 26 | 13. **Dining Room**: maximum capacity: 4 |
| 27 | 14. **Billiard room**: maximum capacity: 4 |
| 28 | 15. **Work room**: maximum capacity: 5 |
| 29 | |
| 30 | After this step, the following parts of the script will be completed: |
| 31 | "scene_information": {"who": [Selected Main Characters], "where": "Selected Location", "what": "The Plot For This Scene"} |
| 32 | |
| 33 | |
| 34 | |
| 35 | ### Step 2: |
| 36 | Create specific and vivid dialogues for each scene based on the result from step 1. The dialogues should be conform to the characters' profile. The number of conversations in one scene should not be too few. |
| 37 | |
| 38 | This step may require the following information: |
| 39 | #### Characters' Profile: |
| 40 | {profiles} |
| 41 | |
| 42 | After this step, the following parts of the script will be completed: |
| 43 | "dialogues":[{"speaker": "...", "content": "..."}, ...] |
| 44 | |
| 45 | |
| 46 | |
| 47 | ### Step 3: |
| 48 | Choose an appropriate position for each character in every scene of the script based on the result from step 1. In a scene, each character's position must be different. |
| 49 | |
| 50 | This step may require the following information: |
| 51 | #### Optional Positions: |
| 52 | {optional_positions} |
| 53 | |
| 54 | After this step, the following parts of the script will be completed: |
| 55 | "initial position": [{"character": "...", "position": "Position XX"}, ...] |
| 56 | |
| 57 | |
| 58 | |
| 59 | ### Step 4: |
| 60 | Understand the emotions expressed in the dialogues from step 2, and consider the emotional states of the characters in the conversation. According to your considerations and [Action Selection Requirements], choose the most appropriate actions from the [Complete List of Actions] and add them after each line of dialogue, including the speaker and some other (not all) characters' actions. |
| 61 | |
| 62 | Each action added should consist of the following parts: |
| 63 | - action: The action selected from [Complete List of Actions]. |
| 64 | - character: The character that performs the action. |
| 65 | - state: The state before the action is performed, including standing or sitting. |
| 66 | |
| 67 | This step may require the following information: |
| 68 | #### [Complete List of Actions]: |
| 69 | {all_actions} |
| 70 | |
| 71 | |
| 72 | #### [Action Selection Requirements]: |
| 73 | |
| 74 | 1. **Basic Requirements**: |
| 75 | - Note that all actions should be selected from [Complete List of Actions]. |
| 76 | - Each character can only add one action at a time. |
| 77 | - Unnecessary actions should not be added to avoid cluttering the scene. |
| 78 | |
| 79 | 2. **Key Requirements**: |
| 80 | - In one scene, you cannot overuse a certain action. |
| 81 | - When a character is in the standing state, you can only choose the action performed in standing state. When a character is in the sitting state, you can only choose the action performed in sitting state. |
| 82 | - You can choose "Sit Down" only when the character is at a sittable position. |
| 83 | - Only by using "Stand Up" or "Sit Down" can the character's state be changed; otherwise, the character's state should remain the same as before. |
| 84 | |
| 85 | After this step, the following parts of the script will be completed: |
| 86 | "actions": [{"character": "...","state": "....","action": "..."}, ...] |
| 87 | |
| 88 | |
| 89 | |
| 90 | ### Step 5: |
| 91 | Focus on the usage conditions of each shot in the [Complete List of Shots], then allocate them to the shot annotation points in the script according to different usage conditions. Check if the shot annotations meet the [Shot Annotation Requirements]. If not, identify which requirements are not met, then update the shot annotations to meet these requirements. |
| 92 | |
| 93 | This step may require the following information: |
| 94 | #### [Complete List of Shots]: |
| 95 | {all_shots} |
| 96 | |
| 97 | |
| 98 | #### [Shot Annotation Requirements]: |
| 99 | - Each scene should not have too many close shots and mid shots. |
| 100 | - Each shot used must meet its usage conditions. |
| 101 | - For the dialogue-starting scene, you should choose between [Track Shot, Long Shot] to set the context. |
| 102 | - If you want to use Zoom Shot, you must ensure the preceding shot is a Long Shot |
| 103 | - If you want to use Pan Shot during dialogue, it should be used multiple times in a row. |
| 104 | |
| 105 | After this step, the following parts of the script will be completed: |
| 106 | "selected shot": "..." |
| 107 | |
| 108 | |
| 109 | |
| 110 | After completing all steps, return your completed script. Your response should only contain the following JSON content: |
| 111 | ```json |
| 112 | [{"scene_information": {"who": ["...", ...], "where": "...", "what": "..."}, |
| 113 | "dialogues":[{"speaker": "...", "content": "...", "actions": [{"character": "...","state": "....","action": "..."}, ...], "selected shot": "...."}, ...] |
| 114 | }, |
| 115 | ...] |
| 116 | ``` |