> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompts and controls (Text to motion skill)

> prompts-and-controls.md from the Text to motion skill in the Summer Engine skill library. Make custom 2-second animation clips from text on the user's own rigged models: people, animals, props.

<Note>Part of the [`text-to-motion` skill](/skills/text-to-motion). The skill links here when your agent needs the detail.</Note>

## Prompts

* Describe one action as a verb phrase: "waves hello with the right arm", "nods happily",
  "bows politely", "jumps up and down excitedly", "looks around curiously".
  The service normalizes to its training style ("An object waves ...").
* Name the side and body part for asymmetric actions ("with the right arm", "raises the
  left leaf").
* Keep it to one action per clip; 2 seconds fits one gesture, not a sequence.
* Style words that map to motion work ("happily", "slowly", "tiredly"); story or
  appearance words do not.

## Controls (`assets.generate_motion`, `backend: "text-to-motion"`)

| Field | Default | Use |
| - | - | - |
| `prompts` | - | 1-8 actions (each 1-300 chars); one clip each |
| `takes` | 1 | 1-4; 2-3 when choosing a hero clip. Every take is billed |
| `cfgScale` | 3 | 1.5-8; 5 for bigger, clearer gestures on stylized rigs; above 6 gets unstable |
| `lockJoints` | none | Base bones of rooted characters (plants, turrets, statues), e.g. `["Hips","Spine"]` |
| `idempotencyKey` | none | Stable key so a retried request is not billed twice |
| `dryRun` | false | `true` checks the rig and returns the `estimate` (credits) without making anything |

Clip count = prompts x takes; each clip is billed. The call answers with a job at once;
`jobs.wait` follows it to the finished clips.

## Judging results

* Good: the named body part does the action, the base stays put, no mesh tearing.
* Tipping over or collapsing on rooted rigs: add or extend `lockJoints`.
* Barely moving: rephrase with a clearer verb, raise `cfgScale` to 5, or rename bones to
  human names (see `rigging-for-text-motion.md`).
* Mesh warping at a joint: a weighting problem in the rig, not the motion; fix the rig.

***

Source: [`library/skills/text-to-motion/prompts-and-controls.md`](https://github.com/SummerEngine/summer/blob/main/library/skills/text-to-motion/prompts-and-controls.md), rendered from `summer-engine@4.3.0` on npm.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.