像塑 MCP Plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XIANGSU_MCP_URL | No | Change the official MCP server address. | http://127.0.0.1:17320/mcp |
| XIANGSU_MCP_EXT_STATE | No | Change the state directory (used for testing). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ext_statusA | 扩展自身状态:官方 MCP 连接情况,以及每个已加载 XiangsuMcpExt 插件的工程窗口(pid、工程路径、对应的官方 instance_id、编辑器接口自检)。工具报找不到窗口、INCOMPATIBLE_EDITOR 或官方工具不可用时先调它排查;插件只在装好后新打开的工程窗口里生效。 |
| project_openA | 在新窗口打开一个已有的像塑工程(已经开着就直接返回)。返回窗口 pid 和官方 instance_id。旧版本工程可能弹出升级对话框,需要在编辑器里点确认。 |
| project_newA | 新建一个空白像塑工程并首次保存到 path(目录须不存在或为空)。需要已有任意一个工程窗口开着。返回新窗口的 pid 和官方 instance_id。 |
| project_closeA | 关闭一个工程窗口(等同工具栏「回到首页」)。有未保存改动时默认拒绝,先 save_project;确实要丢弃改动才传 discard_changes=true。 |
| image_viewA | 查看图片。列表类工具(素材、作品、灵感、任务、排行榜、音乐等)返回的是短引用 *_ref / *_refs(如 img:12),详情类工具(inspiration_detail 的 images、menu_list details 的 image_url)返回地址,都交给本工具;也可以传本机图片文件的绝对路径(如 menu_list details 的 image_file)。视频和音频引用(video:3、audio:5)看不了画面,返回它的原地址。一次最多 8 张,只认 png / jpeg / gif / webp,单张失败只在该项写明原因;图片很大(如动图)时一次给不完,没给的列在 not_returned 里,再调用一次即可。 |
| library_listA | 不传 panel_key 时列出可直接应用的分类面板(panel_key)和类型 kind:general 为普通面板(如 3d_distortion=脸部变形/3D 变形、distortion=美型、gaoguai_gan/makeup_gan=AI 实时变脸、3d_makeup=美妆、3d_filter=滤镜、sticker=跟脸贴纸);square 为 aigc_material=素材广场(其他创作者分享的素材,含现成的 AI 图片、AI 妆容、自定义实时变脸,应用时不重新生成、不扣额度);collection 为 collection=收藏(当前账号收藏的素材)。需要扣额度现生成的 AI 面板不在其中。传 panel_key 时分页列出该面板里的素材:子分类、素材(template_id、title、kind、封面 cover_ref 等)和翻页游标。素材广场的子分类是妆容、图片、实时变脸、跟脸贴纸、前景贴纸、画面特效、3D 模型、3D 饰品;收藏的子分类是全部、美妆、滤镜等目录。没有可应用内容的广场卡片不列出,只在 unsupported 里计数。按画面挑选时把 cover_ref 交给 image_view 看;知道要找什么时用 library_search 按关键词搜,本工具适合按面板和子分类浏览。拿到 template_id 后用 library_apply 应用,AI 图片卡片(kind=ai_image)的整组结果图用 library_images 取。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| library_searchA | 按关键词搜索官方素材库(美妆、滤镜、脸部变形、AI 实时变脸、贴纸、画面特效、音效、素材广场等)。除了标题匹配,词正好是面板名或子分类名时也带出那里的素材:「滤镜」→ 滤镜面板,「腮红」→ 美妆/腮红、跟脸贴纸/腮红(这些素材标题里多半没有这个词),「复古滤镜」→ 滤镜/复古;每个面板或子分类最多 300 条。结果按标题完全相同 > 标题开头 > 标题包含 > 分类匹配 > 其余排序,每条的 matched 说明命中方式(title、category:面板/分类、panel:面板)。queries 一次搜多个近义词(最多 8 个)并合并去重。按 offset / count 分页(结果缓存 10 分钟,翻页不重新请求),每条带 template_id、title、panel_key、kind、cover_ref,另返回 total、by_panel(各面板条数,可再用 panel_key 缩小)、matched_categories(展开了哪些分类)、related_categories(名字里含这个词、没有展开的分类,可用 library_list 列出)。kind:package 素材包、ai_image AI 图片、ai_makeup AI 妆容、custom_gan 自定义实时变脸、foreground_sticker 前景贴纸、face_sticker 跟脸贴纸、filter 滤镜。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| library_imagesA | 一张 AI 图片卡片(kind=ai_image)的整组结果图 image_ref,按 image_index 编号;用 image_view 看图,应用时用 library_apply 的 image_index 选择。template_id 须来自本会话的 library_list / library_search。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| library_applyA | 把一个官方素材应用到目标工程,与素材库面板里点应用相同(可撤销):素材包下载、校验 MD5、导入并默认放进场景;素材广场的卡片按 kind 走编辑器自己的应用流程(AI 图片、AI 妆容等只下载现成结果,不重新生成、不扣额度),等对象出现在场景里才返回。返回 kind、added_objects(新放进场景的对象名和 object_path)和 package_folders。template_id 须来自本会话的 library_list / library_search。应用后用 capture_preview 验收。 |
| works_listA | 分页列出像塑首页「模板」某个分类下的作品。首页作品是完整的像塑工程(官方工程和用户投稿),可下载到本地阅读、学习其场景和脚本做法;任意一个工程窗口开着即可。每次都带上全部分类 categories(推荐、官方工程、新手必做、游戏、妆容、AI玩法等)。每条作品有 template_id、标题、标签、已发布到抖音的特效 ID 和发布量(effect_id / publish_count,没有则为 null)、使用量、工程包大小、封面 cover_ref 和动图 gif_ref(交给 image_view 看)。拿到 template_id 后用 works_download 下载工程。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| works_searchA | 按作品名搜索首页作品(与首页搜索框同一个接口)。不给 category_id 时搜全部分类并合并去重:「推荐」翻到底只有约 300 条,「美化」「友友天地」等分类里还有它没有的作品。合并顺序是先「推荐」里的(按 sort),再按分类顺序追加只在其它分类出现的;每个分类最多 300 条。每条带 found_in(出现在哪些分类),另返回 total、by_category(各分类条数)。queries 一次搜多个词(最多 8 个)并合并,每条带 matched_queries。按 offset / count 分页,结果缓存 10 分钟,翻页不重新请求。某个分类翻页时服务端一直给同一页,会列在 incomplete 里。其余字段同 works_list。按特效 ID 查用 works_by_effect。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| works_by_effectA | 按特效 ID 查排行榜等处给出的特效(rank_list / rank_subjects / rank_innovation 的 effect_id)在首页有没有工程,与首页搜索框「特效ID」搜索同一个接口。逐个返回 status:found 首页有这个特效的工程;same_name 首页没有它、只有同名作品(effect_id 不同,可能是别人的同名作品,不能当成同一个特效);not_on_homepage 作者没把工程分享到首页,拿不到工程。found 和 same_name 的作品在 items 里(字段同 works_list),template_id 可直接用于 works_download / works_open。默认在「推荐」里查:按特效 ID 查时「推荐」也能查到只在其它分类出现的作品,在别的分类里按 ID 查反而查不到,所以一般不用给 category_id。每个特效一到两次请求,20 个约 6 秒。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| works_downloadA | 下载一个首页作品的完整工程并解压(与在首页点开作品同一流程,但不打开窗口),返回工程目录和文件清单(files 列出相对路径和大小,可直接读取 effect.dyehpj、Assets 下的场景、Graph 下的脚本等来学习做法)。dest 给定时把工程放到该目录(须不存在或为空,跳过 Library 缓存),像塑临时目录里的那份随即删除。下载的工程(含 dest)都会登记,expires_at(24 小时)后在下次下载时自动删除;学完请立即调用 works_cleanup。要在编辑器里看效果用 works_open。作品版权归原作者,只用于学习参考,不要复制进自己的工程或仓库。 |
| works_openA | 下载一个首页作品并在新的编辑器窗口里打开,与在首页点开作品同一流程(不弹版本升级提示,工程处于未保存状态)。返回窗口 pid、官方 instance_id 和工程目录,之后可用 get_scene、capture_preview 等官方工具观察它的做法。看完用 project_close(discard_changes=true)关窗,再 works_cleanup 删除下载;窗口开着时工程不会被删除。 |
| works_cleanupA | 删除 works_download / works_open 下载过的作品工程(像塑临时目录里的和 dest 副本)。省略 paths 时删除全部;编辑器窗口正开着的会保留并在 kept_open 里列出,关窗后再调用即可。只删登记过的下载,其它路径一律拒绝。 |
| icon_setA | 设置特效图标(提交特效必需):把一张图片居中裁成正方形、缩放到 360×360 PNG,写进工程的 Icon/ 目录(与「图标制作」窗口保存的同一批文件),并和那个窗口的「完成」按钮一样把图标上传到抖音特效平台(提交窗口只认上传过的图标)。默认女性、男性两个图标位都用这张图(提交窗口要这两个)。上传失败报 ICON_UPLOAD_FAILED,重试即可。图片可以来自 generate_image 生成的资源,或 capture_preview 截图另存的文件。之后 save_project 落盘。 |
| icon_openB | 打开编辑器的「图标制作」窗口(官方图标模板、文字模板、AI 图标),让用户在里面挑选或调整。 |
| effect_checkA | 特效检测,和在编辑器工具栏点「特效检测」一样:打开「特效检测」窗口,由窗口把特效包上传到抖音做云端检测(不是发布),等待结果 passed / not_passed / needs_optimization / failed。出结果后读出检测页的详情一起返回:verdict(页面结论,如「检测通过」「特效不通过」)、checks(每项检测的结论;包体积、帧率给出 figures:数值、上限、是否达标,帧率分 android / ios;没通过的项带页面给的改进建议 advice,读不到时写 advice_unavailable),然后关掉这个窗口(window_closed=true);详情读不出来时窗口留着,返回 details_error。超过 timeout_ms 还没出结果时返回 timeout,窗口留着继续检测;之前调用留下的检测窗口会先关掉再开新的(closed_previous 是关掉的个数),所以窗口不会越叠越多。 |
| submit_prepareA | 填好提交窗口,停在最后一步等用户点「提交审核」:先在本地检查提交流程会拒收的情况(包体上限、是否原样套用模板、登录、图标),全部通过后先关掉还开着的提交窗口(之前调用留下的,closed_previous 是关掉的个数,关不掉报 WINDOW_NOT_CLOSED),再走和工具栏「提交特效」按钮相同的入口打开一个新的,然后逐页填写:「特效基础信息」页填名称、触发提示、默认摄像头方向(图标来自工程,可先用 icon_image 设好),「特效发布设置」页选灵感和任务,再翻到「提交审核」页,等页面上的检测(包体积、性能、相似度等,一般一分钟内)跑完,返回页面摘要、各检测结果、是否已同意创作者协议、「提交审核」按钮是否可点,以及 next(用户还要做什么)。本工具不会勾选协议,也不会点「提交审核」,发布只在用户点了之后发生。每一项都从页面读回核对:页面截断、报错、没选上、或翻页被拦住时直接报错(SUBMIT_*,原样带上页面提示),窗口保持打开。页面上本工具没填的其它设置(如活动、创新声明)列在 other_sections 里,保持页面原样。本地检查未通过时不打开窗口,返回 issues。 |
| mobile_previewA | 手机预览:按工具栏「手机预览」的方式打包当前工程并上传到抖音的预览服务,返回和编辑器弹出的一样的二维码图片(及其文本、有效期),用抖音 App 扫码即可在真机上看效果。二维码同时存成文件 qr_file,可直接给用户扫,不要另存到别处:到期(expires_at,一般 7 天)后自动删除。会把特效包上传到抖音服务器;内容审核不通过时报 MOBILE_PREVIEW_MODERATION_FAILED。 |
| inspiration_listA | 分页列出某个分类下的灵感(灵感是官方和创作者发布的特效创意,首页右侧「灵感」页签就是它):inspiration_id、标题、标签(如「激励」)、作者、收藏数、是否已收藏、是否 AI 灵感、关联热点 hotspot、封面 cover_ref(交给 image_view 看)。每次都带上全部分类 tabs。拿到 inspiration_id 后用 inspiration_detail 看详情。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| inspiration_detailB | 一个灵感的详情:玩法说明、特效类型、激励说明、全部图片的地址 images(用 image_view 看)、作者、奖励(金额、说明、时间)、关联热点(热度和标签,如「66条热点相关灵感」)、关联官方工程、已有的同灵感特效及发布量、示例视频 videos(抖音视频的播放地址 url、封面 cover_url、作者、点赞数、尺寸)、贴纸 stickers,以及当前账号是否已收藏和总收藏数。 |
| inspiration_collectB | 收藏或取消收藏一个灵感(写入当前登录账号,与灵感详情页的收藏按钮相同),之后重新查询收藏状态确认生效。 |
| inspiration_bindA | 按 inspiration_id 把一条创作灵感绑定到当前工程(编辑器给 agent 的同一接口),之后 save_project 落盘,打开提交窗口时会自动带出。只在提交时选灵感的话,也可以直接给 submit_prepare 传 inspiration:它在提交窗口的下拉里按名称选,只列当前账号收藏的灵感和热点。 |
| tasks_listA | 按 offset / count 分页列出首页活动中心的任务。kind=effect(默认)为活动和特效征集任务:标题、状态(如 WAIT_RECEIVE 待领取 / WAIT_SUBMIT 待提交)、是否已领取、状态说明(如「查看官方指导,帮您完成任务」)、剩余天数、收益、上下线时间、可完成次数;kind=growth 为活动中心里的成长任务:奖励金额、参考工程(特效师等级、每级目标和进度在 growth_route)。拿到 task_id 后用 task_detail 看详情、task_receive 领取、task_bind 绑定到工程(bindable=true 的才能绑)。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| task_detailA | 一个任务的详情。征集任务返回状态、奖励时间、下线时间、我提交到这个任务的特效 my_effects(名称、effect_id、审核状态、拍摄数、播放数、投稿峰值、获奖金额、是否符合主题、赛道)、完成状态、是否分档任务,和整理过的任务说明 content:每个内容块(参与要求、奖项详情、近期热门、任务说明等)有名称 name、条目 items 和链接 links;条目有标题 title、正文 text(页面里的链接标记已换成文字,链接放进 links)、参考图 image_refs 和参考视频 video_refs,奖项条目另有页面原样给的金额 money、发放方式 money_mode 和名额 people(unlimited 为不限);空地址和 blob: 地址任务页里也显示不出来,只在 unusable_media 里计数;读不懂的字段原样放进 unread。要原始返回时传 save_to。成长任务返回奖励、参考工程、相关灵感(封面 cover_ref)和教程。task_id 须来自本会话的 tasks_list;活动没有详情。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| task_receiveA | 领取一个征集任务(写入当前登录账号,与活动中心的「领取」按钮相同,领取后不能撤销)。只有状态为 WAIT_RECEIVE 的任务能领,其它状态直接拒绝。返回 designer_task_id 和新状态;领取后重新 tasks_list,该任务即可 task_bind。 |
| task_bindA | 把工程绑定到一个已领取的任务,和从任务详情页点「去创作」打开的工程一样,提交时会带上该任务。编辑器只在打开工程时写入任务信息,所以本工具会先关闭该工程的窗口(有未保存改动时拒绝,先 save_project),再带着任务信息重新打开,返回新的 pid 和 instance_id。task_id 须来自本会话的 tasks_list。只在提交时选任务的话,直接给 submit_prepare 传 task(已领取任务的标题),不用重开窗口。 |
| growth_routeA | 像塑移动版的「成长之路」:当前账号的特效师等级 current_level,以及每一级(新手特效师、潜力特效师……大师特效师)的现金奖励、状态(done 已完成 / in_progress 进行中 / locked 未解锁)和要达成的目标:每个目标的说明(如「绑定「灵感」上线 0/3 个作品」)、当前进度 current / 目标 target、对应奖励。最高级给的是权益 rights。任意一个工程窗口开着即可,用编辑器里登录的账号读取。活动中心里一个个带参考工程和教程的成长任务用 tasks_list 的 kind=growth。 |
| rank_listA | 分页读取一个排行榜(与像塑移动版排行榜页同一个接口):名次、特效名、effect_id、等级、投稿量(峰值 / 累计)、跟拍量、男女比例、年轻喜爱度、热玩分、总收益等。可按日期、分类(每级一个,如只看「人像美化 › 美妆」)和筛选项过滤,每页都带上该榜当天的分类 categories(level 1 大类如人像美化、游戏玩法、人设扮演、AI 玩法,level 2 细类如基础头饰、测一测、不露脸壁纸;每个榜不同)。按主题的专题榜(如「热爆美妆特效榜」)见 rank_subjects。要看某个特效的工程,把 effect_id 和 name 交给 works_by_effect,查它在不在首页。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| rank_hotspotsA | 热点榜(按热度排序的抖音热点,每小时更新),按 offset / count 分页:名次、topic_id、标题、说明、热度、相关灵感数、封面 cover_ref。传 topic_id 时改为返回该热点下的灵感(inspiration_id、标题、标签、说明、封面 cover_ref,交给 image_view 看)。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| rank_subjectsA | 像塑移动版「专题合集」里按主题的榜单,最新的在前:kind=effect 为特效专题榜(近 200 期,如「测一测玩法特效榜 - 11月」「热爆美妆特效榜」「熊出没IP特效榜」「主题创新优胜特效榜」、各期征集活动优质特效),kind=template 为模板专题榜(如「歌词玩法模板榜」「AI配文创意模板榜」「氛围转场模板榜」)。每个榜带前几个特效、浏览量。keyword 按榜名搜索全部期;传 subject_id 时返回该榜的全部特效(最多 20 个)。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| rank_innovationA | 创新计划的榜单。kind=template / effect 为官方精选(像塑移动版发现页的精选列表,移动版展示的是模板):特效名、effect_id、标签、投稿量、总收益、入选日期、封面;kind=creators 为创作者月榜:名次、创作者 uid 和昵称、上榜素材数、跟拍量、预计奖金(元)。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| my_effectsA | 当前登录账号提交过的特效,最新的在前(与像塑移动版「作品」同一个接口):effect_id、名称、审核状态 status 和 status_text(100 审核中、101 审核未通过、111 测试中、112 测试未通过、120 测试通过、103 已上线、104 已下线、113 延后上线、118 申诉重审中、119 申诉审核未通过)、提交和上线时间、绑定的任务 / 灵感 / 热点、能否编辑 / 删除 / 申诉及申诉类型、投稿量。101、112、119 的特效带 review:最近一条审核记录,text 是去掉标记的原因正文,refuse_reasons 是分条原因,links 是正文里的链接(如审核规则)。完整审核时间线用 my_effect_reviews。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| my_effect_reviewsA | 一个自己的特效的审核记录,与像塑移动版「审核记录」页同一组接口:名称、当前状态、绑定的任务,reviews 为「上线审核」时间线(最新的在前,提交成功、审核中、审核未通过等,每条有时间、去掉标记的正文 text、分条原因 refuse_reasons、链接 links),innovation_reviews 为「精选审核」时间线(没有时为空)。 |
| music_listA | 列出抖音音乐:两个参数都不传时返回音乐库的分类(像塑原创、推荐、抖音收藏、潮流心选等)的 code 和名称;传 query 按关键词搜索,或传 category_code 看某个分类的第一页(35 首)。返回 music_id、标题、作者、时长 duration_sec、封面 cover_ref、试听 preview_ref(音频引用)和 has_copyright(音乐库给的版权标记,false 或 null 的不要用于要发布的特效)。 返回里的图片、视频、音频给的是短引用(*_ref / *_refs,如 img:12、video:3),交给 image_view:图片直接显示,视频和音频返回原地址;引用在 MCP 服务这次运行期间有效。 |
| music_applyA | 把一首抖音音乐设为特效的音乐,和音乐库里点「使用」相同:下载音频进工程、写入音乐信息,并在场景里加入抖音音乐对象(再次使用会替换上一首)。start_sec / end_sec 截取片段,默认整首。music_id 须来自本会话的 music_list。之后 capture_preview 验收、save_project 落盘。 |
| scene_treeA | 把场景结构输出成紧凑的缩进文本:渲染组,以及每个对象的 guid、名称、是否隐藏、组件类型。比官方 get_scene 的 JSON 好读,适合先摸清结构再用 inspect_many 查参数;要渲染组和对象的完整 JSON 用 get_scene。subtree 只看某个对象(guid 或名称),depth 控制展开层数(默认 6);没展开的子对象会注明数量。传 project_dir(工程目录,如 works_download 下载的作品)时不需要打开窗口,直接读 Assets/main.scene 和 main.scene.extra,对象写成 #序号,组件类型和窗口里显示的一致(编辑器数据缺失时退回场景文件里的名称);没有渲染组这一层,渲染组本身作为根对象列出。save_to 是目录的绝对路径,结果另存为其中的 scene_tree.txt,长期保留。 |
| inspect_manyA | 一次查看多个对象的组件参数(逐个调用官方 inspect;只看一个对象的完整原始数据时直接用 inspect),值里的 {type, data} 包装直接展开成值,超长数组只给长度和前几项;绑定的资源写成 {resource, type, file},引用的对象写成 {object, name}。component_types 只留某些组件(如 ["Transform"]),fields 只留属性名包含这些片段的属性(不分大小写,如 ["intensity", "position"])。preset="key" 自动留下通常决定效果的参数:位置/缩放/旋转、显隐与启用、强度/不透明度/权重/颜色类属性、文字内容(str)与 2D 尺寸(sizeDelta)、绑定的资源,以及场景文件里脚本组件的全部参数(这份清单是按已做过的妆容、形变、贴纸、文字效果拍的,缺的用 fields 补,可与 fields 同时用)。传 project_dir 时不开窗口、直接读场景文件(含编辑器面板里的参数,如妆容的贴图和强度),guids 用 scene_tree 给出的 #序号;内置资源写成 {builtin: id},组件运行时生成、工程里没有文件的资源写成 {path}。单个对象失败只在该项写明原因。save_to 是目录的绝对路径,结果另存为其中的 inspect_many.json,长期保留。 |
| makeup_layersA | 列出一个工程的全部美妆层(FaceMask 妆容层和 EyeColorV2 美瞳),逐层说明画在哪个部位、什么颜色、男女强度,以及是否生效(对象或上级隐藏、组件停用、男女强度都为 0 的不生效)。区域(全脸 / 眼部 / 睫毛 / 唇部 / 牙齿)取自妆容层自身的类型;部位先看层名(眉、眼线、腮红、口红等关键字),层名看不出时按贴图像素判断(part_from 注明依据),颜色是贴图上色部分按透明度加权的平均色(color 和 hsl)。groups 按眉、眼妆、美瞳、颊、轮廓、唇、点缀汇总生效的层,absent 列出整套妆里没有的部位,用来看一套妆缺了什么、或拆解别人的作品(works_download 下载的工程)用了哪些部位和颜色。读的是工程目录里的场景文件:正在编辑的工程先 save_project。 |
| preview_framesA | 按时间连续截取预览画面,分辨率是预览本身的(720×1280,官方截图是缩小后的 320×569),取自预览的渲染结果,窗口在后台或最小化时也能截(截图期间临时恢复正常帧率):默认先重置预览、等到重载后的画面出来,再每隔 interval_ms 截一张,共 count 张(一次最多 24 张),用来看动态效果、摇头时的侧脸等。videos 可依次换几个预览视频各截一组(名称取自 list_preview_videos,如 preview_single_shake_head||女),全部截完切回原视频;切换会让工程变成「已修改」,之后需要 save_project。crop 按画面比例(0–1)裁出局部,如脸部。每帧都存成文件并随结果返回,files 里是路径,可直接贴给用户看;默认存在临时目录、24 小时后删除,save_to(目录的绝对路径)则存到那里长期保留。每帧注明实际截取时刻(相对重置完成的毫秒数)。 |
| menu_listA | 列出像塑「添加对象」菜单里的全部官方功能项(工具栏美妆、美型、AI 实时变脸,及人脸/身体/2D/3D/AI 玩法/互动/宠物/音乐等),返回 menu_id、中文名、路径、类型。官方 add_builtin_object 只覆盖其中一部分;美容(面部提拉、祛皱纹)、面部生成(烟熏妆、卡通脸)、表情生成(香肠嘴、呲牙尬笑)、性别年龄、五官处理、身体换装等用 menu_add。query 按名称、路径或 menu_id 过滤。details=true 时每项再带说明 description 和示意图(编辑器悬停提示里的图:在 CDN 上的给 image_url,随编辑器安装的给本机文件 image_file,都没有为 null),按画面挑选 AI 变脸、美容等效果时把它交给 image_view 看;details 一次最多 8 项,query 匹配更多时报错。云端 AI 生成项不在列表中;拍照后云端生图的「AI 组合效果」用 ai_combine_new / ai_combine_apply。 |
| menu_addA | 按 menu_id 往场景添加一个官方功能对象,与在编辑器菜单里点选等效(可撤销)。kind=package 的项会先下载官方素材包再导入。返回 added_objects(新对象名和 object_path)。 |
| ai_combine_newA | 新建一张「AI 组合效果」工作流(用户拍照后在云端按工作流出图或出视频),等同 AI 效果窗口的「新建工作流」:在本地建 AI Graph,只有「输入图」和「效果组合」两个节点且未连线;不联网、不扣额度、不建云端草稿。返回 ai_graph_id 和各节点的 node_id,交给官方 get_workflow_context / get_workflow_capabilities / apply_workflow_patch 添加生图节点、写 prompt、连线(官方 apply_workflow_patch 每次改完会把工作流保存成账号下的云端 AI 效果草稿),要看效果用官方 generate_workflow(扣额度)。改好后用 ai_combine_apply 放进场景。「添加对象」菜单里的 AI 组合效果只建空壳,不要用 menu_add。 |
| ai_combine_applyA | 把一张 AI 工作流放进场景,等同 AI 效果窗口的「应用」(可撤销):编辑器编译工作流、把工作流文件上传到特效平台,再添加「AI 组合效果」对象(场景里没有 2D 前景时一并建「2D 前景」「2D 摄像机」)。不扣额度,不新建草稿;工作流生成过预览视频时一并上传供审核。效果组合节点没有输入连线等情况下编辑器会拒绝,返回 AI_COMBINE_APPLY_FAILED 和编辑器的提示原文(如「请先连接效果组合器」)。返回 added_objects(新对象名和 object_path)和 draft_id(工作流已存成云端草稿时才有,否则为 null)。之后 save_project。 |
| face_warp_listA | 列出场景里所有「塑型画笔」组件(FaceWarpX,含猫脸/狗脸),返回 object_path、是否启用、每项画笔的序号与强度。官方 set_component 改不了画笔强度,用 face_warp_set_intensity。 |
| face_warp_set_intensityA | 修改「塑型画笔」强度(等同检查器强度滑块,0–100),只改强度、保留笔刷数据,可撤销。object_path 取 face_warp_list 的路径,或能唯一定位的末尾几段。省略 item_index 时改全部画笔项。 |
| object_removeA | 删除一个场景对象(含子对象,可撤销),并找出只被它使用的工程资源:删除前后对比场景引用,删除前被引用、删除后不再被引用的即为孤儿(unused_paths 已合并到素材包文件夹,只含磁盘上存在的路径)。editor_only_paths 是素材放进场景时编辑器按对象名建的文件夹(如「复古清冷_滤镜」),只在编辑器里、尚未写到磁盘,对象删除后下次保存就会消失,不用删。delete_unused_resources=true 时一并删除 unused_paths(资源删除不可撤销);默认只报告,可之后用 resource_delete_unused 删除。object_path 用完整层级路径或能唯一定位的末尾几段(渲染组本身请用官方 delete_render_group)。只删对象、不关心资源时官方 edit_by_dsl 也能删;要知道删完哪些资源没人用了,用本工具。 |
| resource_delete_unusedA | 删除 object_remove 报告的 unused_paths(工程内相对路径的资源或素材包文件夹)。删除前再次核对:当前场景仍在引用的一律拒绝。资源删除不可撤销。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 49 tools
Each tool targets a distinct resource+action and the descriptions go to unusual lengths to state when to use one over another (library_list vs library_search, works_download vs works_open, menu_add vs library_apply, object_remove vs resource_delete_unused). The only real confusion points are the parallel browse/search pairs (library_*, works_*) and the two catalogs (library_list = 素材库 vs menu_list = 添加对象菜单), which an agent can resolve from the text but must read carefully.
All names are snake_case and the dominant convention is domain-prefixed noun_verb (works_list, library_apply, inspiration_bind, music_apply, menu_add, ai_combine_new, face_warp_set_intensity), which clusters nicely by domain. Deviations are minor but real: tasks_list breaks the singular task_* family, object_remove vs resource_delete_unused use different verbs for delete, and several tools are noun-only labels (scene_tree, makeup_layers, growth_route, my_effects, ext_status, image_view).
49 tools is a heavy surface for an agent to select from, and a few groups could plausibly collapse (three near-parallel list/search pairs, rank_list/subjects/innovation/hotspots, icon_set/icon_open). Still, the domain is genuinely enormous — editor scene inspection, material library, homepage works, inspirations, tasks, rankings, music, submission and preview — and most tools map to a distinct editor action, so this is borderline heavy rather than bloated.
Coverage spans the whole workflow: project open/new/close, material browse→apply, works browse→download→open→cleanup, inspiration/task binding, scene introspection (scene_tree, inspect_many, makeup_layers, face_warp_*), object/resource removal, icon, effect check, mobile preview and submit prep. Minor gaps remain — saving, undo, and capturing previews are delegated to the official editor tools rather than surfaced here, and there is no local asset import beyond images/icons.