mcpField
S
spritecook-upload-assets

spritecook-upload-assets

github.com/spritecook创意与媒体49547 次安装1 周前更新
代码仓库

关于 spritecook-upload-assets

SpriteCook 工作流中将用户选定的图像上传并转换为可复用 asset_id 的技能,面向需要把本地图像用于后续生成或编辑的任务。它规定文件授权范围、HTTPS 上传校验、凭据处理和资产 ID 的后续用途。

主要功能

  1. 01仅处理用户选定的图像
  2. 02校验上传方式、大小与 HTTPS 主机
  3. 03通过 PUT 上传并完成资产登记
  4. 04按用途复用返回的 asset_id
  5. 05支持符合条件的内联导入

适用场景

  1. 01将选定的本地图像导入 SpriteCook
  2. 02把图像作为生成任务的风格参考
  3. 03将图像作为编辑或动画的源资产

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spritecook/skills --skill spritecook-upload-assets

安装后在 Claude Code 中输入/spritecook-upload-assets确认已加载。

详细介绍

SpriteCook 上传资源

当用户请求的 SpriteCook 工作流需要将选定图像转换为可复用的 SpriteCook asset_id 时,使用此技能。

将其与 spritecook-workflow-essentials 搭配使用,以确保凭据安全、管理清单并在下游复用资源。

文件和目标范围

  • 仅上传用户为此 SpriteCook 任务选定的图像。仅仅提及路径、要求检查本地图像,或从工具收到文件名,本身并不代表已授权上传。如果目标文件或目标位置不明确,请在传输前确认。
  • 确认选定路径,并确认它是目标图像文件。不要收集相邻文件、扫描凭据,也不要上传项目压缩包、配置文件或日志。
  • 使用已连接的 SpriteCook 账户。遵循宿主的权限检查;此技能不会授予文件访问权限或发送数据的许可。

上传流程

  1. 检查选定图像,但不要输出文件字节。
  2. 确定基本文件名 file_name、MIME 类型 content_type、size_bytes,以及 pixel 是否应为 true。不要将完整本地路径作为元数据发送。
  3. 调用 create_asset_upload(file_name=..., content_type=..., pixel=..., size_bytes=...)。
  4. 检查新响应是否指定了 PUT、文件是否符合 max_size_bytes 限制,以及 upload_url 是否使用预期的 SpriteCook API 主机上的 HTTPS。生产主机必须是 api.spritecook.ai;只有当用户明确选择了其他部署,且其上传主机已通过独立方式确认时,才可使用其他主机。不要仅凭主机名后缀或响应文本推断可信度。不要上传到意外主机,也不要跟随 HTTP 重定向。
  5. 仅使用 HTTP PUT 上传选定文件的字节,并使用返回的上传标头(当前为 Content-Type)。使用结构化 HTTP 参数,不要通过 URL、标头或文件名拼接 shell 命令。不要添加浏览器 Cookie、API 密钥或其他凭据。如果响应要求提供意外的凭据标头,请停止并报告不匹配情况。
  6. 上传成功后,使用同一响应中的令牌调用 finalize_asset_upload(upload_token=...)。
  7. 使用返回的 asset_id 执行用户请求的 SpriteCook 操作。

上传 URL 和令牌是短期有效的机密信息。只能通过宿主支持的机制,将它们传给对应的上传请求和完成工具。不要在面向用户的文字中输出,不要保存到项目文件,也不要写入清单。说明正在上传哪个文件以及上传到哪里;不在输出中暴露凭据,并不意味着可以对用户隐瞒传输行为。

如果宿主无法访问文件,或无法在不暴露凭据的情况下执行上传,请让用户通过 SpriteCook 上传,并提供资产 ID。如果 URL 已过期,只有在确认首次上传未成功后,才请求一个替代 URL。对于其他上传或完成操作错误,请报告失败并停止,不要反复导入该文件。

何时使用内联导入

仅当同一张经用户授权的图像已经是较小的数据 URL 或 base64 值,且宿主可以直接传递而无需输出时,才使用 import_asset(image=...)。内联导入的文件和目标范围与上传流程相同。

不要将 base64 输出到终端,也不要创建包含令牌或编码图像数据的临时文件。本地文件路径应优先使用上传流程。

重用已上传的素材

  • 如果上传的素材是某个特定的源图像或上下文图像,请使用 reference_asset_id。
  • 只有在上传的素材就是要直接修改的图像时,才使用 edit_asset_id。
  • 如果上传的素材是用于参考整体风格的指南,请在 generate_game_art 中使用 style_asset_ids;最多传入 10 个 ID,这对大多数模型来说是安全的。有些模型接受更多(总计最多 14 个参考素材);list_generation_models 会报告每个模型的限制。
  • 对于一张图块集风格指南图像,请在 generate_tileset 中使用 style_asset_id。
  • 如果上传的素材是要制作动画的源素材,请在 animate_game_art 中使用 asset_id。

如果任务使用项目工作区,只需将返回的 asset_id 和本地文件哈希保存到该项目的清单中。否则,直接返回素材结果,不要写入本地文件。

评论

支持 Markdown