Complete generation, processing, result download, and media delivery via the CLI. Supports the operations in the table below; does not provide multi-turn session continuation or the ability to automatically split scripts, storyboards, and arrange them into a finished video. For complex requirements, first confirm the specific operations that can be completed by the listed commands, and do not promise workflows that are not covered.
Start execution
- Canvas tasks run
node "{baseDir}/scripts/ensure-cli.js" --canvas, other tasks runnode "{baseDir}/scripts/ensure-cli.js". Save the returnedcli_path; Canvas also needs to savecanvas_entry. In the documentation, replacepippit-tool-cliwith the quotedcli_path; canvas semantic commands are executed through the Node entry point according to the module instructions. Reuse for the same task; for installation details, see Installation instructions。 - Select operations according to the table below, and only read the command documentation that matches. Before executing operations that require authentication, follow Authorization instructions to check login; a valid login can be reused.
- When generating, processing videos, and querying existing media results, you must also read Asynchronous results and media delivery. Canvas tasks use Canvas query, editing, and validation, and do not treat canvas editing as media generation. Credit and authorization operations return results directly.
Whether parameters exist and command syntax are subject to the current cli_path corresponding --help ; returned fields and success determination should be verified according to the command documentation and actual responses. When the documentation and actual behavior are inconsistent, explain the difference; do not guess parameters and do not bypass the CLI to call HTTP yourself.
Intent routing
Select commands according to the operation the user wants to perform, and do not look only at the material type. When there is a task identifier and the user only requests a query or retrieval, reuse that task and do not regenerate.
| User intent | CLI | Required documentation |
|---|---|---|
| View login status, log in, log out, or switch accounts | status / login / logout |
Authorization |
| Create or query the Xiaoyunque personal canvas, edit nodes, layout, connections, characters/scenes, prompts, 3D, or multi-track drafts | canvas |
Canvas capabilities and command discovery |
| Generate images, or modify images based on reference images | generate-image |
Image generation and image editing |
| Query currently available image/video models, aspect ratios, resolutions, and parameter configurations such as inference strength | model list / model describe |
Model discovery |
| Generate videos, reference generation, video editing, video extension, first/last frame generation, Draft samples, and conversion to finished videos | generate-video |
Video generation |
| Improve the resolution of existing videos, video upscaling | video-super-resolution |
Upscaling |
| Remove subtitles from existing videos | erase-video-subtitle |
Subtitle removal |
| Query the progress of existing tasks, download generation results | query-result |
Query results |
| Query personal credit balance, remaining credits | get-credit-balance |
Credits |
- Ordinary image generation and video generation also use the corresponding generation commands; the user does not need to additionally declare "direct model output."
- When there is an explicit request to modify an existing canvas or its nodes, prioritize Canvas; ordinary image generation and video generation do not automatically create a canvas. "Modify node prompt" only modifies the configuration and does not imply generation; specifying node generation or export requires first confirming that the current command directory has the corresponding capability.
- "Generate a new one with reference to this video" goes to video generation; "make this video clearer" goes to super-resolution. When the intent is unclear, ask first.
- When multiple explicit operations are proposed at the same time, select modules separately; if there are input dependencies, execute them in order. Combine only when the user's request contains multiple steps, and do not automatically add paid processing.
- When subsequently modifying a certain result image, use the corresponding local file as the reference image for a new image editing session; when implicit session context is needed, first fill in the specific materials and instructions.
General Execution Rules
- Preserve the user's original prompt; do not arbitrarily expand, polish, translate, or add style words; parameter conversion is performed according to the corresponding command documentation. For generation and video processing, pass only the optional creative parameters given by the user; if required items are missing, ask first. Canvas input also requires using the actually queried ID, version, and current schema. The final validity of models and parameters is determined by the server.
- For image models, show users only the name returned by the server; the list, selection, details, and generation commands all use the full name, without explaining or displaying the corresponding underlying enum. The parsing from name to submission identifier is handled by the CLI; see Model Discovery。
- When the user explicitly requests generation or processing, execution may proceed within that scope; when merely consulting about usage, cost, or options, do not submit. When the scope, required information, or authorization to consume credits is unclear, confirm first, and do not repeatedly ask for authorization that has already been given.
- For questions, prioritize using tools actually provided by the host and allowed in the current mode: Codex's
request_user_inputorrequest_user_input_async, WorkBuddy'sask_user_question; when unavailable, use ordinary chat. When an answer is needed, wait for the reply. - Material parameters accept local file paths, and the CLI uploads internally. Remote links cannot masquerade as local paths; when an accessible file is missing, first resolve material acquisition. A single file must be smaller than 500 MB (500000000 bytes).
- After successful submission, immediately display the real
web_thread_link; if no link is returned, state this truthfully and retain the task ID. Subsequent query and download failures must not trigger duplicate generation. - Every final image/video is displayed as a real attachment or previewable media through the host's file delivery or media rendering capability. URL and path lists are supplementary only; for detailed completion standards, see the shared delivery process.
Host Source Statistics
When calling generate-image、generate-video、video-super-resolution、erase-video-subtitle , the host Agent silently appends the optional --sourcebased on the actual runtime environment, solely for source statistics, without affecting creative parameters or tool effects.
- Use a stable host identifier: for Doubao Office, enter
doubao_office, for WorkBuddy enterworkbuddy, for Codex entercodex; other known hosts use their real, stable product identifier, without version, session ID, user information, or prompt. - Determine from trusted environment information provided by the host; do not identify a platform as the source just because the user mentions it in creative content, and do not treat the backend Agent name as the host source.
- Do not ask the user, do not add confirmation steps, and do not rewrite the prompt for this. When the source cannot be confirmed, simply omit it; neither passing nothing nor an empty value blocks submission.
- The source is sent only with this submission and is not added to upload, query, download, or Canvas commands. When using an existing older CLI version, first follow
--helpConfirm whether it is supported; if not, omit it, and do not interrupt the task because of statistical fields or resubmit when the submission result is unknown.
Prefer to confirm the real host from the host's system identity, the current tool runtime environment, and explicit platform metadata, and proactively fill it in on each submission --source; do not skip it just because the field is optional. When an explicit value is missing, the CLI tries in order PIPPIT_CLI_SOURCE and verified host runtime markers. Report only the stable platform name, not the session ID in the marker; if sources conflict or it still cannot be confirmed, omit it, do not ask the user, and do not scan login credentials or installation directories. Explicit --source "" disables automatic attribution for that instance.
Full scenarios for reference as needed
The command documentation includes minimal invocation examples; when you need to understand the combined process from requirement to delivery, then read the corresponding scenario:
- Basic image generation to delivery: the first execution of the complete generation workflow.
- Reference image editing: preserve the roles of the base image and the reference image.
- First and last frame video generation: keep the asset order.
- Subtitle removal followed by super-resolution: the result of the previous step serves as the input of the next step.
- Create a character node within the canvas: discover the contract, query the real ID, and read back after editing.