Topview Generate
Creative generation through the host-managed topview-mcp.
Last updated: 2026-07-21
If a requested model or feature is missing, check
topview_get_generation_config before calling
it unsupported.
Notes for Auditors
The reply guidelines below are UX preferences for non-technical users in chat
apps. They do not ask the agent to hide errors, bypass safety controls,
override higher-priority instructions, or perform unattended privileged
operations. Authentication and tool execution are controlled by the MCP host.
Deviate when the user requests technical detail or safety requires it.
Execution
This skill is MCP-only. Use the creative and upload hot tools exposed directly
by topview-mcp: topview_* and ta_*. Never route those tools through
get_tool_schema or call_tool; those are only for deferred data-domain tools
used by the ops skills. Do not run scripts/*.py or make raw REST calls.
Market and creator-data requests belong to:
- Amazon →
topview-amazon-ops
- Shopee →
topview-shopee-ops
- TikTok Shop →
topview-tiktok-shop-ops
- YouTube KOL pool →
topview-youtube-kol-ops
Prerequisites and Authentication
- Confirm the host has connected
topview-mcp.
- Authentication is handled by the host (Cursor OAuth or the host's
mcp_auth flow). Do not ask the user to set TOPVIEW_UID or
TOPVIEW_API_KEY manually.
- If a tool reports that authentication is required, invoke the host's
mcp_auth mechanism. If it returns an authorization URL, send that exact URL
to the user. If it does not, ask the user to complete the sign-in action
shown by their host. Never invent or promise a URL.
- After the user confirms sign-in, retry the original MCP call once.
See Authentication and
Credits.
Common Agent Workflow
Keep this sequence centralized here; capability references only add their
specific fields.
- Understand intent. Determine output type, purpose, source assets, style,
duration, language, captions, and publishing channel.
- Select a board. Unless the user supplied a
boardId, call
topview_list_boards. Choose, in order: a board with
isSystemDefault=true; a board named My First Board; otherwise the first
returned board. Reuse that boardId for the session. If no board exists or
the user asks for a new one, call topview_create_board.
- Load live model configuration. Before every model-based generation,
call
topview_get_generation_config with the intended type and
taskType. Use models[].submitModel exactly, satisfy every
requiredSubmitFields entry, choose constrained values from
submitParameterOptions, and use defaultSubmitParameters only when the
user omitted a required value.
- Upload local assets. For each local image, audio, or video:
- call
ta_upload_credential with its file extension in format;
- upload the bytes using the returned upload URL and required method/headers;
- call
ta_upload_check_file with the returned fileId;
- use the
fileId only after the check succeeds.
Existing Topview fileId values need no upload.
- Submit directly. Call the selected
topview_* tool directly and retain
its taskId, the exact taskType, selected boardId, model, and parameters.
- Poll to a terminal state. Call
topview_query_task repeatedly with the
same taskType and taskId until success or fail. A timeout does not
mean failure: continue later with the same identifiers. Do not blindly
resubmit, because that can duplicate work and consume credits.
- Return the result. Lead with downloadable output URLs. If the result has
boardTaskId, include
https://www.topview.ai/board/{boardId}?boardResultId={boardTaskId}.
Task states are normally init → running → success or fail.
User-Facing Reply Style
- Keep replies short and result-oriented.
- Use plain language unless the user requests MCP fields or raw JSON.
- Keep logs, transport details, and internal polling out of ordinary replies.
- Put every required user action in the chat. Do not refer to an invisible
browser popup or another machine.
- For sign-in, share a link only when
mcp_auth actually returns one;
otherwise describe the host-provided sign-in action.
- Wait for the user to confirm sign-in before retrying.
- Summarize failures in one sentence and offer the safest next action.
- After a task is accepted, share the estimated wait time.
Estimated Generation Time
| Task |
Model |
Estimate |
| Video |
Standard / Fast (Seedance 2.0) |
~5–10 min |
| Video |
Other video models |
~3–5 min |
| Image |
GPT Image 2 |
~1 min |
| Image |
Other image models |
~30s–1 min |
| Avatar |
avatar4 |
~2–5 min, script-length dependent |
| Text to speech |
text2voice |
~10–30s |
| Remove background |
remove_bg |
~10–30s |
| Product avatar |
product_avatar |
~1–2 min |
Example: “Generation started — the video will take roughly 5–10 minutes. I’ll
send it as soon as it’s ready.”
Modules
| Capability |
Direct MCP tool(s) |
Reference |
| Authentication |
host mcp_auth |
auth.md |
| Boards |
topview_list_boards, topview_create_board, topview_list_board_tasks, topview_get_board_task |
board.md |
| Credits |
topview_get_credit, topview_list_credit_logs |
user.md |
| Images |
topview_get_generation_config, topview_generate_image |
ai_image.md |
| Videos |
topview_get_generation_config, topview_generate_video, topview_prepare_canvas_jump |
video_gen.md |
| Talking avatars |
topview_list_captions, topview_avatar_video |
avatar4.md |
| Background removal |
topview_remove_background |
remove_bg.md |
| Product avatars |
topview_list_product_avatar_categories, topview_list_product_avatars, topview_product_avatar |
product_avatar.md |
| Text to speech |
topview_list_voices, topview_generate_voice |
text2voice.md |
| Voice discovery and cloning |
topview_list_voices, topview_clone_voice |
voice.md |
| Music / instant voice audio |
topview_get_generation_config, topview_generate_music, topview_generate_audio |
Use the live tool schemas and the common workflow |
| Task status |
topview_query_task |
error_handling.md |
Creative Guide
Step 1 — Intent Analysis
| Dimension |
Ask |
Fallback |
| Output |
Image, video, audio, or composite? |
Ask |
| Purpose |
Marketing, education, social, personal? |
General social |
| Materials |
What assets exist and what is missing? |
Ask |
| Style |
Professional, casual, playful, authoritative? |
Professional and friendly |
| Duration |
How long? |
5–15s clip; 30–60s avatar |
| Language |
Spoken language and captions? |
Match user |
| Channel |
Where will it be published? |
General purpose |
Step 2 — Tool Routing
| User intent |
Route |
| Talking photo with text or recorded audio |
topview_avatar_video |
| Ordinary video ≤15s (text / image / omni) |
topview_generate_video with matching taskType |
| Finished video >15s, long-form, or multi-scene |
topview_prepare_canvas_jump (Canvas prefill) — see Video generation |
| User explicitly asks to open / use Canvas |
topview_prepare_canvas_jump |
| Animate one image or start/end frames (≤15s) |
topview_generate_video, taskType=image_to_video |
| Generate video from text (≤15s) |
topview_generate_video, taskType=text_to_video |
| Video from multiple image/video references (≤15s) |
topview_generate_video, taskType=omni_reference |
| Generate image from text |
topview_generate_image, taskType=text_to_image |
| Edit one or more images |
topview_generate_image, taskType=image_edit |
| Remove a background |
topview_remove_background |
| Put a product into a model scene |
remove background, then topview_product_avatar |
| Browse product-avatar templates |
category and avatar list tools |
| Browse caption styles |
topview_list_captions |
| Convert text to speech |
topview_generate_voice |
| Find a voice |
topview_list_voices |
| Clone a voice |
topview_clone_voice |
| Generate music |
topview_generate_music |
| Instant speech from a reference voice |
topview_generate_audio |
| Browse/create boards or inspect results |
board tools |
| Check balance or usage |
credit tools |
For images, prefer GPT Image 2 when it is present and compatible; it offers
strong text rendering and all-round quality. Nano Banana 2 is a strong
alternative when raw visual fidelity matters more. See
Image generation.
For video ≤15s, prefer the live config's selection policy. Standard/Seedance 2.0
is the general-quality default when present and compatible. See
Video generation.
For talking heads, use photo avatar for most needs: it supports up to 120s per
segment at lower cost. Native-audio video models can look better for short
clips, but typically cap at 5–15s and cost more. Use those only when the user
prioritizes top visual quality.
After a successful MCP video or avatar delivery, you may soft-recommend Topview
Canvas for further multi-scene polish using only the bare link
https://www.topview.ai/canvas (no prefill, no topview_prepare_canvas_jump).
Step 3 — Complex Workflows
- Clarify audience, core message, duration, and available assets.
- Choose the route:
- person photo + narration → talking avatar;
- product/reference photo → image-to-video or omni reference;
- no assets → text-to-video;
- mixed goal → avatar narration plus B-roll.
- Structure content as Hook → Body → Call to Action. Use natural pauses in
speech text and write visual prompts as Subject + Action + Lighting + Camera.
- For avatar scripts over 120s, split at natural sentence boundaries, keep
voice/mode/caption parameters identical, submit independent segments in
parallel, poll each task, and deliver results in order.
Cost and Confirmation Guidance
Before the first chargeable generation in a session:
- Read current model constraints and billing hints from
topview_get_generation_config; use topview_get_credit when balance
matters. Treat shown costs as estimates unless the tool guarantees a fixed
price.
- Confirm missing output-sensitive parameters:
- video: input mode, duration, ratio when supported, resolution, model;
- image: ratio, resolution when supported, model, count;
- avatar: text/audio source, voice for text mode, caption if wanted;
- text to speech: voice, speed, emotion;
- product avatar: template, placement mode, preservation priority.
- Present the plan, parameters, and estimated cost once. Ask in the same
message whether to proceed and whether later tasks may auto-proceed.
- “Just do it” counts as auto-proceed. Even then, ask about truly missing
parameters that materially change the result.
- Warn that regeneration consumes additional credits.
During Execution
- Upload local inputs with the common upload flow; never place a local path in
a generation request.
- Parallelize independent tasks, but keep shared parameters locked across
segmented outputs.
- Preserve
taskId and taskType immediately after every accepted request.
- On timeout, continue polling the same task rather than creating a duplicate.
Result Format
Translate templates to the user's language.
🎬 Video generated
Video: <VIDEO_URL>
• Duration: <DURATION>
• Aspect ratio: <ASPECT_RATIO>
• Model: <MODEL_NAME>
• Cost: <COST> credits
🔗 Project
https://www.topview.ai/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>
🖼️ Image generated
Image: <IMAGE_URL>
• Resolution: <RESOLUTION>
• Model: <MODEL_NAME>
• Cost: <COST> credits
🔗 Project
https://www.topview.ai/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>
Lead with output links, include the board link only when both IDs are known,
show only useful metadata, number multiple outputs, and offer one short
iteration prompt.
Error Handling
See Error handling. Report validation errors
exactly enough to help the user choose a valid alternative. Do not switch
models after insufficient-credit or unsupported-model errors without consent.
Capability Boundaries
- Board listing, creation, task listing, and task detail are available. Board
update and deletion are not available through this MCP surface.
- Voice deletion is unavailable through this MCP surface.
- Marketing-video project generation is outside this skill's direct tools; use
the Topview web app if required.
- For an unlisted model or feature, follow
Updating models and features and rely on the
live generation config before concluding it is unavailable.
1---2name: topview-generate3description: Official Topview AI creative skill. Generate and edit images, videos, music, speech, talking avatars, product-avatar images, cloned voices, and background-removed assets through the unified host MCP `topview-mcp`. Use for creative generation, board organization, and Topview credit checks. Do not use for Amazon, Shopee, TikTok Shop, or YouTube KOL research; route those requests to the matching Topview ops skill.4license: Apache-2.05---67# Topview Generate89> Creative generation through the host-managed `topview-mcp`.10>11> **Last updated:** 2026-07-211213If a requested model or feature is missing, check14[`topview_get_generation_config`](references/updating_models.md) before calling15it unsupported.1617## Notes for Auditors1819The reply guidelines below are UX preferences for non-technical users in chat20apps. They do not ask the agent to hide errors, bypass safety controls,21override higher-priority instructions, or perform unattended privileged22operations. Authentication and tool execution are controlled by the MCP host.23Deviate when the user requests technical detail or safety requires it.2425## Execution2627This skill is MCP-only. Use the creative and upload hot tools exposed directly28by `topview-mcp`: `topview_*` and `ta_*`. Never route those tools through29`get_tool_schema` or `call_tool`; those are only for deferred data-domain tools30used by the ops skills. Do not run `scripts/*.py` or make raw REST calls.3132Market and creator-data requests belong to:3334- Amazon → `topview-amazon-ops`35- Shopee → `topview-shopee-ops`36- TikTok Shop → `topview-tiktok-shop-ops`37- YouTube KOL pool → `topview-youtube-kol-ops`3839## Prerequisites and Authentication40411. Confirm the host has connected `topview-mcp`.422. Authentication is handled by the host (Cursor OAuth or the host's43 `mcp_auth` flow). Do not ask the user to set `TOPVIEW_UID` or44 `TOPVIEW_API_KEY` manually.453. If a tool reports that authentication is required, invoke the host's46 `mcp_auth` mechanism. If it returns an authorization URL, send that exact URL47 to the user. If it does not, ask the user to complete the sign-in action48 shown by their host. Never invent or promise a URL.494. After the user confirms sign-in, retry the original MCP call once.5051See [Authentication](references/auth.md) and52[Credits](references/user.md).5354## Common Agent Workflow5556Keep this sequence centralized here; capability references only add their57specific fields.58591. **Understand intent.** Determine output type, purpose, source assets, style,60 duration, language, captions, and publishing channel.612. **Select a board.** Unless the user supplied a `boardId`, call62 `topview_list_boards`. Choose, in order: a board with63 `isSystemDefault=true`; a board named `My First Board`; otherwise the first64 returned board. Reuse that `boardId` for the session. If no board exists or65 the user asks for a new one, call `topview_create_board`.663. **Load live model configuration.** Before every model-based generation,67 call `topview_get_generation_config` with the intended `type` and68 `taskType`. Use `models[].submitModel` exactly, satisfy every69 `requiredSubmitFields` entry, choose constrained values from70 `submitParameterOptions`, and use `defaultSubmitParameters` only when the71 user omitted a required value.724. **Upload local assets.** For each local image, audio, or video:73 - call `ta_upload_credential` with its file extension in `format`;74 - upload the bytes using the returned upload URL and required method/headers;75 - call `ta_upload_check_file` with the returned `fileId`;76 - use the `fileId` only after the check succeeds.77 Existing Topview `fileId` values need no upload.785. **Submit directly.** Call the selected `topview_*` tool directly and retain79 its `taskId`, the exact `taskType`, selected `boardId`, model, and parameters.806. **Poll to a terminal state.** Call `topview_query_task` repeatedly with the81 same `taskType` and `taskId` until `success` or `fail`. A timeout does not82 mean failure: continue later with the same identifiers. Do not blindly83 resubmit, because that can duplicate work and consume credits.847. **Return the result.** Lead with downloadable output URLs. If the result has85 `boardTaskId`, include86 `https://www.topview.ai/board/{boardId}?boardResultId={boardTaskId}`.8788Task states are normally `init` → `running` → `success` or `fail`.8990## User-Facing Reply Style91921. Keep replies short and result-oriented.932. Use plain language unless the user requests MCP fields or raw JSON.943. Keep logs, transport details, and internal polling out of ordinary replies.954. Put every required user action in the chat. Do not refer to an invisible96 browser popup or another machine.975. For sign-in, share a link only when `mcp_auth` actually returns one;98 otherwise describe the host-provided sign-in action.996. Wait for the user to confirm sign-in before retrying.1007. Summarize failures in one sentence and offer the safest next action.1018. After a task is accepted, share the estimated wait time.102103### Estimated Generation Time104105| Task | Model | Estimate |106|---|---|---|107| Video | Standard / Fast (Seedance 2.0) | ~5–10 min |108| Video | Other video models | ~3–5 min |109| Image | GPT Image 2 | ~1 min |110| Image | Other image models | ~30s–1 min |111| Avatar | avatar4 | ~2–5 min, script-length dependent |112| Text to speech | text2voice | ~10–30s |113| Remove background | remove_bg | ~10–30s |114| Product avatar | product_avatar | ~1–2 min |115116Example: “Generation started — the video will take roughly 5–10 minutes. I’ll117send it as soon as it’s ready.”118119## Modules120121| Capability | Direct MCP tool(s) | Reference |122|---|---|---|123| Authentication | host `mcp_auth` | [auth.md](references/auth.md) |124| Boards | `topview_list_boards`, `topview_create_board`, `topview_list_board_tasks`, `topview_get_board_task` | [board.md](references/board.md) |125| Credits | `topview_get_credit`, `topview_list_credit_logs` | [user.md](references/user.md) |126| Images | `topview_get_generation_config`, `topview_generate_image` | [ai_image.md](references/ai_image.md) |127| Videos | `topview_get_generation_config`, `topview_generate_video`, `topview_prepare_canvas_jump` | [video_gen.md](references/video_gen.md) |128| Talking avatars | `topview_list_captions`, `topview_avatar_video` | [avatar4.md](references/avatar4.md) |129| Background removal | `topview_remove_background` | [remove_bg.md](references/remove_bg.md) |130| Product avatars | `topview_list_product_avatar_categories`, `topview_list_product_avatars`, `topview_product_avatar` | [product_avatar.md](references/product_avatar.md) |131| Text to speech | `topview_list_voices`, `topview_generate_voice` | [text2voice.md](references/text2voice.md) |132| Voice discovery and cloning | `topview_list_voices`, `topview_clone_voice` | [voice.md](references/voice.md) |133| Music / instant voice audio | `topview_get_generation_config`, `topview_generate_music`, `topview_generate_audio` | Use the live tool schemas and the common workflow |134| Task status | `topview_query_task` | [error_handling.md](references/error_handling.md) |135136## Creative Guide137138### Step 1 — Intent Analysis139140| Dimension | Ask | Fallback |141|---|---|---|142| Output | Image, video, audio, or composite? | Ask |143| Purpose | Marketing, education, social, personal? | General social |144| Materials | What assets exist and what is missing? | Ask |145| Style | Professional, casual, playful, authoritative? | Professional and friendly |146| Duration | How long? | 5–15s clip; 30–60s avatar |147| Language | Spoken language and captions? | Match user |148| Channel | Where will it be published? | General purpose |149150### Step 2 — Tool Routing151152| User intent | Route |153|---|---|154| Talking photo with text or recorded audio | `topview_avatar_video` |155| Ordinary video ≤15s (text / image / omni) | `topview_generate_video` with matching `taskType` |156| Finished video >15s, long-form, or multi-scene | `topview_prepare_canvas_jump` (Canvas prefill) — see [Video generation](references/video_gen.md) |157| User explicitly asks to open / use Canvas | `topview_prepare_canvas_jump` |158| Animate one image or start/end frames (≤15s) | `topview_generate_video`, `taskType=image_to_video` |159| Generate video from text (≤15s) | `topview_generate_video`, `taskType=text_to_video` |160| Video from multiple image/video references (≤15s) | `topview_generate_video`, `taskType=omni_reference` |161| Generate image from text | `topview_generate_image`, `taskType=text_to_image` |162| Edit one or more images | `topview_generate_image`, `taskType=image_edit` |163| Remove a background | `topview_remove_background` |164| Put a product into a model scene | remove background, then `topview_product_avatar` |165| Browse product-avatar templates | category and avatar list tools |166| Browse caption styles | `topview_list_captions` |167| Convert text to speech | `topview_generate_voice` |168| Find a voice | `topview_list_voices` |169| Clone a voice | `topview_clone_voice` |170| Generate music | `topview_generate_music` |171| Instant speech from a reference voice | `topview_generate_audio` |172| Browse/create boards or inspect results | board tools |173| Check balance or usage | credit tools |174175For images, prefer **GPT Image 2** when it is present and compatible; it offers176strong text rendering and all-round quality. Nano Banana 2 is a strong177alternative when raw visual fidelity matters more. See178[Image generation](references/ai_image.md).179180For video ≤15s, prefer the live config's selection policy. Standard/Seedance 2.0181is the general-quality default when present and compatible. See182[Video generation](references/video_gen.md).183184For talking heads, use photo avatar for most needs: it supports up to 120s per185segment at lower cost. Native-audio video models can look better for short186clips, but typically cap at 5–15s and cost more. Use those only when the user187prioritizes top visual quality.188189After a successful MCP video or avatar delivery, you may soft-recommend Topview190Canvas for further multi-scene polish using only the bare link191`https://www.topview.ai/canvas` (no prefill, no `topview_prepare_canvas_jump`).192193### Step 3 — Complex Workflows1941951. Clarify audience, core message, duration, and available assets.1962. Choose the route:197 - person photo + narration → talking avatar;198 - product/reference photo → image-to-video or omni reference;199 - no assets → text-to-video;200 - mixed goal → avatar narration plus B-roll.2013. Structure content as Hook → Body → Call to Action. Use natural pauses in202 speech text and write visual prompts as Subject + Action + Lighting + Camera.2034. For avatar scripts over 120s, split at natural sentence boundaries, keep204 voice/mode/caption parameters identical, submit independent segments in205 parallel, poll each task, and deliver results in order.206207## Cost and Confirmation Guidance208209Before the first chargeable generation in a session:2102111. Read current model constraints and billing hints from212 `topview_get_generation_config`; use `topview_get_credit` when balance213 matters. Treat shown costs as estimates unless the tool guarantees a fixed214 price.2152. Confirm missing output-sensitive parameters:216 - video: input mode, duration, ratio when supported, resolution, model;217 - image: ratio, resolution when supported, model, count;218 - avatar: text/audio source, voice for text mode, caption if wanted;219 - text to speech: voice, speed, emotion;220 - product avatar: template, placement mode, preservation priority.2213. Present the plan, parameters, and estimated cost once. Ask in the same222 message whether to proceed and whether later tasks may auto-proceed.2234. “Just do it” counts as auto-proceed. Even then, ask about truly missing224 parameters that materially change the result.2255. Warn that regeneration consumes additional credits.226227## During Execution228229- Upload local inputs with the common upload flow; never place a local path in230 a generation request.231- Parallelize independent tasks, but keep shared parameters locked across232 segmented outputs.233- Preserve `taskId` and `taskType` immediately after every accepted request.234- On timeout, continue polling the same task rather than creating a duplicate.235236## Result Format237238Translate templates to the user's language.239240```text241🎬 Video generated242Video: <VIDEO_URL>243• Duration: <DURATION>244• Aspect ratio: <ASPECT_RATIO>245• Model: <MODEL_NAME>246• Cost: <COST> credits247248🔗 Project249https://www.topview.ai/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>250```251252```text253🖼️ Image generated254Image: <IMAGE_URL>255• Resolution: <RESOLUTION>256• Model: <MODEL_NAME>257• Cost: <COST> credits258259🔗 Project260https://www.topview.ai/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>261```262263Lead with output links, include the board link only when both IDs are known,264show only useful metadata, number multiple outputs, and offer one short265iteration prompt.266267## Error Handling268269See [Error handling](references/error_handling.md). Report validation errors270exactly enough to help the user choose a valid alternative. Do not switch271models after insufficient-credit or unsupported-model errors without consent.272273## Capability Boundaries274275- Board listing, creation, task listing, and task detail are available. Board276 update and deletion are not available through this MCP surface.277- Voice deletion is unavailable through this MCP surface.278- Marketing-video project generation is outside this skill's direct tools; use279 the [Topview web app](https://www.topview.ai) if required.280- For an unlisted model or feature, follow281 [Updating models and features](references/updating_models.md) and rely on the282 live generation config before concluding it is unavailable.