---
name: publish-x
description: Prepare and publish the current moviola project to X (Twitter). Validates platform constraints, renders with the x preset, and guides the upload. Use when the user wants to post the current video on X.
---

# Publish to X

Run from inside a moviola project directory (where `project.json` lives).

1. Check the timeline with `mov status`. If duration exceeds 140 seconds, tell the user
   and propose where to trim (use `mov silences` to find candidates near the end). Do
   not trim without confirmation: cutting is a visual decision.
2. Make sure audio is finished: if the user mentioned music and there is no music track,
   ask for the file and add it with `mov music <file> --volume 0.3`.
3. Render: `mov render --preset x`. If it fails on duration and the user has X Premium,
   retry with `--allow-long`.
4. Publish: `mov publish x --text "<post text>"`. Automatic upload is not wired up yet,
   so relay the printed file path and instructions to the user. Ask for the post text if
   they have not provided one.
5. Confirm the render path exists and report the final duration and file size.
