Overview
Independent LLM deep creation tool that generates pure text content such as copy/scripts/storyboards/video prompts from scratch. Covers marketing copy, product descriptions, social media copy, articles/blogs, advertising slogans, content polishing and rewriting, multilingual copy, image/video reference copy, video storyboard planning, and video prompt optimization. ⚠️ When the context already contains complete content, calling is prohibited; use write_file to write directly to disk instead; use only when the context contains only directional requirements and the LLM needs to think deeply independently. Does not handle: video/image/audio/code/table generation.
API Mapping
| Scenario | Backend API | Underlying Model |
|---|---|---|
| General text / storyboard script generation | text_generate |
qwen3.6-vl-plus(scone)/ gemini-3.1-pro-preview(pretzel_pro) |
model mapping:
auto(default) / not passed → decided by routing rulesscone→qwen3.6-vl-plus(daily workhorse)pretzel_pro→gemini-3.1-pro-preview(strongest video understanding, long context)- The two models serve as each other's fallback
Dependencies
- meitu-cli:
>=2.0.6 - Credentials:CONFIG AKSK →
meitu tools update; EXEC AKSK → run command (see rootCONFIG.md) - Environment Variables:
MEITU_OPENAPI_TOOL_TASK_MODE=command
Core Workflow
Preflight → Execute → Deliver
Preflight
meitu --version≥ 2.0.6meitu auth verify --json- Confirm the registry contains
text-generate - Resolve output_dir:
openclaw.yaml→./output/;else →~/.openclaw/workspace/visual/output/text-generate/
Execute
Trigger Signals / Routing Rules
| Scenario | Decision Dimension | Routing |
|---|---|---|
| Has video reference | video_list non-empty |
Lock gemini-3.1-pro-preview(pretzel_pro) |
| High-difficulty scenario | Caller explicitly passes model=pretzel_pro |
gemini-3.1-pro-preview |
| Daily scenario | auto / model not passed |
qwen3.6-vl-plus(scone, daily default) |
High-difficulty criteria (judged by the caller): video input, long context >2000 characters, complex reasoning (multi-step logic/comparative analysis/causal argumentation), professional domains (law/medicine/finance/academia), multi-constraint creation (≥3 creative constraints simultaneously), deep cross-language adaptation, multi-shot storyboard script planning.
Parameter Definitions
| Parameter | Type | Required | Default Value | Description |
|---|---|---|---|---|
summary |
STRING | Yes | -- | Copy/storyboard requirement description. Should include copy type, target audience, core objective, and style; storyboard scenarios need to include theme, number of shots, and scene description. If missing → ask follow-up questions |
language |
STRING | Yes | Simplified Chinese | Output language, consistent with the user's input language |
model |
STRING | No | According to routing rules | Optional scone / pretzel_pro |
prompt_name |
STRING | No | auto | Prompt optimization template name |
image_list |
ARRAY | No | -- | List of reference image URLs; do not pass if none |
video_list |
ARRAY | No | -- | List of reference video URLs; do not pass if none |
output_file |
STRING | No | -- | Output file URL address |
Tool Invocation
Daily copy:
meitu text-generate \
--skill_name skill_text-generate \
--summary "{需求描述}" \
--language "简体中文" \
--json
High-difficulty / video storyboard:
meitu text-generate \
--skill_name skill_text-generate \
--summary "{分镜需求}" \
--language "简体中文" \
--model pretzel_pro \
--video_list "{video_url}" \
--json
English copy:
meitu text-generate \
--skill_name skill_text-generate \
--summary "Write a product description for ..." \
--language "English" \
--json
Error Degradation
| Scenario | Handling Method |
|---|---|
summary missing |
Prompt "Please describe what you want" |
summary < 5 characters |
Prompt to supplement copy type/target audience/style |
language Not specified |
Automatically determined by the user's input language, defaults to Simplified Chinese |
image_list All invalid |
Silently filter, select model via the plain text path |
| Default model call failed | Switch to another model and retry |
| Both models failed | Return error message |
| API timeout | Switch to another model and retry → if both fail, return error |
| Content compliance interception | Directly return compliance prompt |
Conflict rules:
- User requests both storyboard + direct video output → this tool only generates storyboard scripts; video generation is chained by the upper-layer workflow
text-to-video - User requests copy + accompanying images → copy goes through this tool; accompanying images require upper-layer orchestration
text-to-image - User specifies a model name → respect the specification, skip automatic routing
Deliver
Parse --json:
ok: true→ extract text content from the returned structure- If explicitly specified during the call
output_file, then write according to that path - Otherwise write the text to
{output_dir}/{YYYY-MM-DD}_{descriptive-name}.md
Default persistence:{output_dir}/{YYYY-MM-DD}_{descriptive-name}.md
Output
- Format: plain text / Markdown (
.md/.txt) - Naming:
{YYYY-MM-DD}_{descriptive-name}.md - Location: project →
./output/; one-time →~/.openclaw/workspace/visual/output/text-generate/
Baseline Task ID
See root directory references/task-id-baseline.md in text-generate entry.