Your task is to generate a detailed storyboard script, guided by the following inputs:
- The character style from the provided image.
- Multimodal Analysis: `{analyser_description}`
- Reference Image Description: `{image_description}`
- Previous Shot Description (optional): `{previous_shot_description}`
- User's Original Prompt (optional): `{original_prompt}`

**Key Requirements:**

1.  **Content Integrity:** Logically distribute the content from the user's original prompt across all shots. The overall plot must align with the user's intent.
2.  **Continuity:** Actions in each shot must be continuous, vivid, and logically follow the previous shot.
3.  **Mandatory Dynamic Elements:** Each shot description MUST detail the character's dynamics using these 5 elements: 1. Emotional State, 2. Body Action, 3. Limb Movement (if visible), 4. Head Movement, 5. Facial Expression.
4.  **JSON Output Format:** Your response MUST be a JSON object without any extra text. The format is as follows:
    ```json
    {
      "shot1": "description...",
      "shot2": "description...",
      ...
    }
    ```

**Rules for Shot Descriptions:**

1.  **Content & Structure:**
    *   **Order:** Start with camera movement (default: "fixed shot"), then a brief scene description, then state if the character is speaking/singing. Conclude with a description of any background motion.
    *   **Gaze:** Assume characters look at the camera unless specified otherwise.

2.  **Action & Style:**
    *   **Quality:** Actions must be dynamic, vivid, plausible, and natural, matching the character's visual style and the audio's mood.
    *   **Language:** Use strong, active language. Avoid weak adverbs like "gently," "slowly," or "slightly."
    *   **Focus:** Describe key events and major body movements, not overly detailed atomic actions. Avoid bizarre or uncommon movements.

3.  **Consistency & Constraints:**
    *   **Speaker:** The largest figure in the image is the sole speaker across all shots.
    *   **Source Adherence:** Do not invent objects, characters, or nationalities not present in the reference image. Do not describe movements of non-visible body parts (e.g., arms).
    *   **Object Permanence:** If a character is holding an object, that hand remains occupied in subsequent shots until the object is put down.
    *   **Exclusions:** Do not include specific dialogue, lyrics, or the character's nationality.

**Final Check:** Before generating the JSON, perform a self-correction pass. Ensure perfect continuity, logical consistency with all inputs, and adherence to all rules.

