Adapt a video request into the film's treatment
kleo_adapt_promptStep 1 (recommended). Turns the user's request into the TREATMENT of the film: Kleo's producer reads the request, keeps every fact in it, and decides the angle, the opening image, the acts with their seconds, the ending, the visual language, the pacing, the narrator's register and the recurring motifs — and lists every decision it took that the user did not ask for. Two identical requests get two different treatments on purpose. It reads language, length and format off the request first and asks only for what is missing (the subject, the length) before spending anything. Nothing is charged and no GPU is rented; it spends a little of Kleo's daily planning quota, so call it once per video. Then tell the user the logline and the decisions, and pass the returned "treatment" object — unchanged, or edited as the user asked — to kleo_create_video. Without it Kleo writes a treatment itself while planning, and the user never sees it first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | The tone the user asked for, when they said it. | |
| music | No | The user's answer about music, in their words: "no" (in any spelling) for none; "yes", or the kind they want (a mood, a genre, an instrument), for an instrumental track under the narration. Asked every time; pass their answer, never a guess. | |
| style | No | The look: "realistic" (filmed, cinematic) or "animation" (a 2D animated film). Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here. | |
| author | No | Who writes the treatment. "assistant" (default): Kleo hands YOU the producer's method and you write it — you are a far stronger writer than Kleo's own planning model, and it costs nothing. "server": Kleo's model writes it (use only if you cannot write JSON yourself). | assistant |
| format | No | 16:9 for YouTube/landscape, 9:16 for a Short/TikTok/Reel. Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here, never a guess. | |
| prompt | Yes | The user's request in their own words. | |
| audience | No | Who the video is for, when the user said it. | |
| language | No | Language of the narration; detected from the request when omitted. | |
| must_keep | No | What the user said must appear (names, numbers, places, a message) or must not, when they answered that question. | |
| subtitles | No | The user's answer about burned-in subtitles: "yes" for thin cinema subtitles in the video, "no" for none (an .srt file is delivered either way). Asked every time; pass their answer, never a guess. | |
| duration_s | No | Length in seconds. Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here, never a guess. |