linkfox-ai/linkfox-skills

linkfox-aigc-imagegen-cloth

服饰图生成(模特/服装类)。支持单张或套图:白底图(隐形模特)、模特图、种草图、卖点图、A+图、尺码图。单张单类型直接出图;多张多类型自动编排规划。用户上传模特图或服饰图(上装/下装/连衣裙/外套/鞋帽等)并说"做套图""做模特图""做种草图""做卖点图""做A+图""做尺码图""做服饰白底图"时触发。纯图片编辑操作走 linkfox-aigc-imagegen。

Vedi sorgente

Come usare

  1. Copia il comando e controlla il pacchetto prima di installarlo nel tuo ambiente agente.
  2. Controlla strumenti, credenziali e ambienti richiesti nel documento originale.
  3. Descrivi input e risultato desiderato; confronta l’output con le fonti.
npx skills add https://github.com/linkfox-ai/linkfox-skills --skill linkfox-aigc-imagegen-cloth

Prima di iniziare

  • L’installazione non include abbonamenti, quote API o accesso ai file.
  • Stelle e installazioni indicano attività, non un test indipendente di qualità o sicurezza.
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

服饰图生成

统一入口:服饰 / 模特类商品(上装、下装、连衣裙、外套、鞋帽等)的全类型电商出图能力。单张直出 & 套图编排都从这一个 skill 进入。

入口路由

条件路径操作
只要一张特定类型的图(如"做一张模特图")单张直出确定 type → Read 对应 references/types/<type>.md → 执行共享流水线
要多张 / 多类型 / 套图(如"做一套图""出5张图")套图编排Read references/runtime/00-index.md → 按步 Read 01-plan / 02-confirm → 调 scripts/run_collection_pipeline.py 三阶段(plan / dispatch / summary,agent 顺序发 3 个 Bash;dispatch 在 skill 层用 ThreadPoolExecutor 并发跑 scripts/run_one_task.py,agent 自己不并发;禁止 Read maintainer/collection/ 或套图阶段 Read types/*.md)

类型路由表

type名称与卖点关联是否有画面描述默认比例支线是否走 textgen详情 reference
WHITE_BG白底图(隐形模特)否否1:1①静态直出否references/types/white-bg.md
MODEL_IMAGE模特图否是1:1②占位符直出否references/types/model-image.md
SCENE种草图是是1:1③textgen 改写是references/types/scene.md
SELLING_POINT卖点图是是1:1③textgen 改写是references/types/selling-point.md
PREMIUM_APLUS高级A+图是是1464:600③textgen 改写是references/types/aplus.md
STANDARD_APLUS普通A+图是是970:600③textgen 改写是references/types/aplus.md
PHONE_APLUS手机A+图是是600:450③textgen 改写是references/types/aplus.md
SIZE尺码图否是1:1两阶段:①阶段1=③textgen 前置分析 + ②阶段2=占位符直出阶段1是/阶段2否references/types/size.md

确定 type 后,必须 Read 对应的 type reference 文件获取该类型走哪条支线、步骤 2 差异逻辑和运行时模板来源,禁止跳过。

不适用

  • 非服饰类实物商品(美妆、数码、家居、食品等)→ 走 linkfox-aigc-imagegen-product 系列。
  • 纯图片编辑操作(换背景、去水印、换角度等已有明确创意方向的操作)→ 走 linkfox-aigc-imagegen。
  • 已有模特图换姿势 / 换动作裂变(模特裂变)→ 不在本范围(业务方上游构造 posePrompt,不读字典)。
  • 纯文字生成 → linkfox-aigc-textgen。
  • 视频生成 → linkfox-aigc-videogen。

共享流水线

所有类型都走同一条 3 步流水线(尺码图为两阶段,见下),步骤 2 的差异由各 type reference 指定走哪条支线。

三条支线(步骤 2 的差异本质)

支线机制是否填占位符是否调 textgen是否过敏感词适用类型
① 静态直出用 scripts/build_imagegen_prompt.py --type WHITE_BG 从 white-bg.md 动态提取静态正文作为最终 prompt否否否WHITE_BG
② 占位符直出模板填占位符后直接出图(用 scripts/build_imagegen_prompt.py)是否MODEL_IMAGE 否 / SIZE 阶段2 末尾追加规避指令MODEL_IMAGE、SIZE 阶段2
③ textgen 改写模板填占位符 → linkfox-aigc-textgen 改写出最终 prompt(用 scripts/build_textgen_params.py)是是SCENE 否 / 卖点·A+ 是 / SIZE 阶段1 否SCENE、SELLINGPOINT、*APLUS、SIZE 阶段1

步骤 1:校验图片 URL 可访问性(所有类型通用)

  • 输入:imageUrls
  • 空数组护栏(强制):若 imageUrls 为空数组 / 缺失 / 全部无效,立即停止,不得带空图调下游。优先从上下文(用户本轮/历史上传的原始图片路径)补齐;仍无法补齐时如实向用户报错并请求重新上传,禁止带空 imageUrls 继续执行。
  • 操作:逐项检查 imageUrls 中的值(保持原顺序):已是公开 URL(http/https 开头)→ 直接透传;本地文件路径(非 http/https)→ 调 linkfox-file-upload 上传获得公开 URL 后替换。
  • 输出:imageUrls(全部为公开可访问的 HTTPS URL)

步骤 2:构造最终 prompt(差异部分见各 type reference)

各类型的步骤 2 逻辑不同(走哪条支线、用哪个模型、是否做敏感词规避等),详见已 Read 的 references/types/<type>.md。

①静态直出支线约束(WHITE_BG):用 scripts/build_imagegen_prompt.py --type WHITE_BG 构建 imagegen 参数文件,脚本会自动从 references/types/white-bg.md 的 ``text 代码块提取白底图静态正文作为最终 prompt。正文较长,一律交脚本读取,**不要手动复制或经 shell 变量传递**。 **②占位符直出支线约束(MODEL_IMAGE、SIZE 阶段2)**:必须使用本 skill 的 scripts/buildimagegenprompt.py 辅助脚本构建 imagegen 提示词参数文件(脚本自动完成模板读取、占位符填充、null 入参替换、SIZE 阶段2 末尾敏感词规避指令追加),**禁止**手动用 Write 工具拼接 prompt 或用 shell 变量捕获大文本。SIZE 阶段2 的 analysisresult` 用 `--analysis-file` 注入,避免大文本经 shell。 **③textgen 改写支线约束(SCENE、SELLINGPOINT、_APLUS、SIZE 阶段1):必须使用本 skill 的 `build_textgen_params.py` 辅助脚本构建 textgen 参数文件(脚本自动完成模板读取、占位符填充、模型/thinkingLevel 设置、卖点·A+ 敏感词规避指令追加),然后按 textgen SKILL.md 的链式调用方式执行。 套图强制走 pipeline 三阶段:套图路径用 `scripts/run_collection_pipeline.py` 跑 plan / dispatch / summary 三阶段,agent 按顺序发 3 个 Bash;并发由 skill 层 dispatch 用 `ThreadPoolExecutor` 完成,agent 自己不并发: 1. `--phase plan` 写 `image-plan.json` / `collection-state.json`,stdout 直接打 markdown 表格 + 1 行 status JSON(含 `specs[]` / `run_one_task_script` / `state_file` / `total`) 2. 用户确认后,agent 只发 1 个 dispatch Bash:`python <本skill根>/scripts/run_collection_pipeline.py --phase dispatch --state <state_file>`;dispatch 内部用 `ThreadPoolExecutor` 并发跑 `run_one_task.py --index 1..N`,每个子任务落 `task-result-<id>.json` 片段;dispatch 自身 stdout 不 emit `Saved full response`,仅末尾 1 行 `{"status":"dispatch_complete",...}` 供 agent 内部解析(这条 Bash 不渲染图,是正常的) 3. `--phase summary --state <state_file>` 读片段 → stdout 打末尾 markdown 明细(每张成功图自带 `![label](abs_path)` 内联引用,前端 markdown 渲染器据此渲染整组图)+ 1 行 status JSON;product variant 同时写 `collection-asset-manifest.json` 禁止 Agent 在对话中手工完成 S1 推理或 Read S0~S3 全文;禁止用户确认后自己拆 N 个 Bash 跑 `run_one_task.py`(旧协议;现在并发已在 skill 层完成,自己并发只会重复出图);禁止转发 summary markdown 时把 `![]()` 行剥掉(整组图就靠这些行渲染);禁止在 summary 之外另贴 `Saved full response: [...]`(与 markdown `![]()` 双重渲染)。下方 bash 单步链路仅适用于单张直出。 路径铁律:本链路横跨两个 skill 目录(构参脚本属本 skill,生文与注参脚本属 `linkfox-aigc-textgen`),当前工作目录不固定,所有脚本一律用绝对路径调用,不要用裸 `scripts/...` 相对路径(相对路径会指向错误目录导致执行失败)。其中 `<本skill根目录>` = 本 SKILL.md 所在目录的绝对路径;`<textgen根目录>` 通过 `skill:linkfox-aigc-textgen` 解析其 SKILL.md 所在目录的绝对路径取得。 1. 构参(本 skill):`python <本skill根目录>/scripts/build_textgen_params.py --type <TYPE> ... --out <textgen_params.json>` 2. 生文(textgen skill):`PROMPT=$(python <textgen根目录>/scripts/aigc_textgen.py --stdin --content-only < <textgen_params.json>)` —— `--content-only` 输出单行 content 捕获进变量(换行压平为 `⏎`、下游自动还原的机制见 textgen SKILL.md)。 3. 注参(步骤 3,用 `jq` 内联):用 `jq` 把 `$PROMPT` 内联拼进下游 imagegen 参数 JSON,再交 `linkfox-aigc-imagegen` 出图。 ```bash PROMPT=$(python <textgen根目录>/scripts/aigc_textgen.py --stdin --content-only < <textgen_params.json>) PARAMS=$(jq -nc --arg p "$PROMPT" --argjson imgs '<步骤1的URL JSON数组>' \ '{prompt:$p, imageUrls:$imgs, provider:"<provider>", outputNum:1, aspectRatio:"<ratio>", resolution:"<resolution>"}') # 然后按 linkfox-aigc-imagegen SKILL.md 的调用方式把 $PARAMS 传入出图 ``` 禁止*手动用 Write 工具构造 textgen 参数文件(必须经 build_textgen_params.py)、用 jq -r 抽取原始 content(会重新引入真实换行符破坏拼接)、或直接写 Python 调 API 绕过此链路。

步骤 3:调 linkfox-aigc-imagegen 出图(所有类型通用)

  • 输入:步骤 2 的 prompt、步骤 1 的 imageUrls、ratio、resolution、provider
  • 操作:Read `skill:linkfox-aigc-imagegen` 的 SKILL.md,按其调用方式执行出图脚本。传入参数:
  • prompt:步骤 2 产出的最终 prompt
  • imageUrls:步骤 1 的全部图片 URL
  • provider:入参指定的模型(默认 BANANA_PRO)
  • aspectRatio:ratio 原样透传
  • resolution:原样透传
  • outputNum:1
  • 输出:图片(Saved full response: 后的本地路径)
  • 单张直出交付(按类型):本 skill 单张直出场景按 references/runtime/03-deliver.md §3.1 走,agent 在 imagegen Bash 完成后必须:
  1. 解析 stdout 的 Saved full response: ["..."] 取本地路径(成功时 1 张)
  2. 在对话回复正文里追加 markdown 内联块:
markdown
     - 第 1 张 · <类型中文名>
       ![<类型中文名>](<abs_path>)
  1. 类型中文名对照:SCENE→种草图 / SELLINGPOINT→卖点图 / MODELIMAGE→模特图 / SIZE→尺码图 / WHITEBG→白底图 / PREMIUMAPLUS→高级A+图 / STANDARDAPLUS→普通A+图 / PHONEAPLUS→手机A+图
  2. 禁止把 Saved full response: [...] / Saved full response: <json路径> 协议原文复述进对话回复——它是 skill ↔ bridge 内部协议行,复述会让用户看到裸露的 JSON 数组路径(即"协议行裸露"故障);只读它取路径,不抄字面
  3. 禁止自行 echo 一遍 Saved full response: 字面让 bridge 再渲染——bridge 路径 A 的「任务产出」资源卡是 imagegen Bash stdout 自动触发的,agent 不要手动复制
  4. 双重渲染(markdown 内联图 + bridge「任务产出」资源卡同时呈现)是当前协议下的预期行为,不算故障
  5. 失败情形(stdout 是 Saved full response: <data 路径>.json 单文件)按本 SKILL.md「错误处理与失败护栏」如实告知,不追加内联图

中间产物落盘(强制)

所有要跨步骤复用或交付的文件一律落到会话目录 <cwd>/linkfox/<YYYY-MM-DD>/<session>/{data|media}/(协议见仓库 CLAUDE.md「输出文件位置」)。

产物类型目录获取方式
品牌基因 JSONdata/linkfox-aigc-imagegen-brand-gene-extract 的 save_brand_gene.py
套图规划 image-plan.jsondata/S2 确认后 scripts/save_image_plan.py 逐条追加落盘
imageUrls 数组data/步骤 1 校验后 Write 到 $DATADIR/image-urls.json(通常很小)
task-result-*.jsondata/每个 run_one_task.py 完成后落盘的任务结果片段,summary phase 读后汇总末尾 markdown
单张构参 JSON(textgen/imagegen 入参)data/build_textgen_params.py / build_imagegen_prompt.py 的 --out(仅单张直出场景)
结果图media/linkfox-aigc-imagegen 脚本自动落盘

DATADIR=$(python <brand-gene根目录>/scripts/save_brand_gene.py --datadir);下游 --brand-gene-file 指向 S1 落盘的品牌基因绝对路径。

下游 skill 调用约定

本 skill 依赖下表两个下游 skill,按文档化方式调用:先 Read 对方 SKILL.md 了解其调用方式,单张直出按步骤 2/3 的链式命令、套图按 scripts/run_collection_pipeline.py + scripts/run_one_task.py 编排——两者都按文档以绝对路径调用下游官方脚本(这是允许的)。本 skill 自带的 build_textgen_params.py / build_imagegen_prompt.py / run_collection_pipeline.py / run_one_task.py 等是参数构建与编排辅助脚本,可直接运行。脱离上述文档化链路自行拼调用、或直连下游 HTTP API 才是不允许的。

下游 skill用途调用时机
linkfox-aigc-imagegenAI 生图步骤 3(所有类型)
linkfox-aigc-textgen提示词改写 / 前置分析步骤 2(SCENE、SELLINGPOINT、*APLUS、SIZE 阶段1)

调用方式:Read skill:<skill-name> 的 SKILL.md,按其中的调用方式章节执行。

共享输入参数

以下参数为所有类型通用(类型特有参数见各 type reference):

参数类型默认说明
imageUrlsstring[]必填服饰参考图 URL。步骤 1 会校验可访问性
ratiostring随类型图片比例,原样透传给 imagegen 的 aspectRatio
resolutionstring2K分辨率,2K / 4K
providerstring—生图模型(BANANA_PRO / GPT_2_IMAGE / BANANA_2 / AIDRAW_EDIT / WAN2_7);未传入时用 AskUserQuestion 让用户从上述 5 个模型中选择

错误处理与失败护栏

linkfox-aigc-imagegen skill 对业务失败也返回 exit 0(不是非零退出),所以不能靠命令退出码判断成败,必须解析 stdout。

1. 怎么判一次调用成败

  • 成功:stdout 含 Saved full response: ["xxx.png", ...](JSON 数组路径)→ 图片已落盘 media/,取路径展示。
  • 失败:stdout 含 Saved full response: xxx.json(单个 JSON 文件路径,非数组)→ 无图片产物,需读该 JSON 查看错误详情(errcode/errmsg/error)。

2. 失败怎么处理(按类型分流)

失败类型判断依据处理
参数非法errmsg/errorMsg 指向 provider、aspectRatio、resolution、quality 等入参不被接受用 AskUserQuestion 让用户重选对应参数
认证失败errcode==401 或提示 API Key停止并提示用户配置 LINKFOX_AGENT_API_KEY,不重试
瞬时错误error 为网络/超时/连接失败(Connection failed、timeout 等)最多自动重试 1 次;再失败转「其它错误」
其它错误配额、内容被拒、服务端 5xx、未知 errcode 等不重试,如实告知用户失败原因

3. 硬性护栏(违反即视为故障)

  • ❌ 禁止因生图失败改调任何其它 skill——本 skill 的生图路径唯一(linkfox-aigc-imagegen),失败就按上表处理或上报,绝不"换一个 skill 试试"。
  • ❌ 禁止无上限重试:除"瞬时错误最多 1 次"外,同一类失败不得反复重试。
  • ❌ 禁止把失败的返回体当成功继续往下走(展示空图、告诉用户"已生成")。

全局规则

模型类型规则

本 skill 支持以下 5 个生图模型,模型由 agent 层通过 provider 参数传入;若未传入则由本 skill 向用户确认。

模型名称内部代码
LFBanana ProBANANA_PRO
Img2GPT_2_IMAGE
LFBanana2BANANA_2
Linkfox-Image-1AIDRAW_EDIT
Wan 2.7WAN2_7

模型确认:若 provider 为空或不在上表内,使用 AskUserQuestion 让用户从上述 5 个模型中选择,用户选择后再继续执行。将 provider 统一下发给步骤 3。

分辨率规则

分辨率是步骤 3 的必传参数。本 skill 支持 2K、4K。

  1. agent 层透传了 resolution(值为 2K 或 4K):直接使用
  2. agent 层未透传:使用 AskUserQuestion 让用户从 2K / 4K 中选择

任务独立性声明

套图中的每张图片都是独立任务,各任务之间互不依赖。单个类型出图失败不影响其余任务继续执行。

执行期约束

  1. 无上传环节:服饰图片以 imageUrls 形式直接传递,本 skill 不涉及本地文件上传操作(步骤 1 的 URL 校验除外),禁止探查或调用任何上传脚本。
  2. 计划管理工具使用规范:单张直出时不使用计划工具。套图并发出图前须为 N 张图创建任务计划(见 references/runtime/02-confirm.md)。
  3. 套图落盘:plan / summary 由 run_collection_pipeline.py 写盘;禁止 Agent 凭记忆 Write 整份 image-plan。
  4. Listing 报告回写资产清单(强制):如果套图结果要合并进 Listing HTML,调用方必须保留 $DATADIR/collection-asset-manifest.json,并在 merge 前把 manifest 中的本地 media/ 路径通过 linkfox-file-upload 换成公开 OSS URL。本 skill 不直接上传,但不得暗示本地路径可直接写入 HTML。

套图编排流程(runtime,渐进 Read)

仅套图路径触发;单张直出不要 Read 本节。

步骤Read操作
入口references/runtime/00-index.mdS0 场景判定
planreferences/runtime/01-plan.md写 job.json → --phase plan,stdout markdown 表格原样转发 + AskUserQuestion
确认 → dispatch → summaryreferences/runtime/02-confirm.md用户确认 → agent 发 1 个 --phase dispatch Bash(skill 层并发跑全部 run_one_task.py,不渲染图)→ 紧接 1 个 --phase summary Bash 写 manifest + 打含 ![]() 的 markdown 明细

维护细则(场景 A/G 完整规则、历史 S1 文案规范)见 references/maintainer/collection/,运行时禁止 Read。

已知局限

  • 白底图模板为静态指令,强依赖模型对视角(正面/背面)与版型(男装/女装/童装)的判定;判错会影响廓形与体积重建。
  • 模特图链路不调 textgen、不过敏感词,全部解码与构图判断压在出图模型单次出图上;模板只消费 {image_desc},市场化人种 / 品牌调性强控需经 imageDesc 文字描述传入。
  • 种草图强依赖 linkfox-aigc-textgen(GEM_3_FLASH)对目标人群 / 年龄(童装 vs 成人)/ 性别的判定,判定错误会直接传导到模特画像与场景构图。
  • 卖点图/A+ 共用字典模板,靠 {layoutInfo} 区分;意图填错会导致版式串型。卖点图/A+ 图在 textgen 环节含敏感词规避。
  • 尺码图为双阶段链路:阶段1 analysis_result 质量直接决定阶段2 尺码表的品类判定与提示文案;阶段2 敏感词规避降级为"在送 imagegen 的最终 prompt 末尾追加规避指令、由出图模型自审",无确定性词库兜底。
  • 多张参考图时由模型自行判断主体服饰角色,复杂组合下可能误判主图。
  • 不做敏感词改写的支线(种草图/模特图/白底图):若卖点/场景含违禁内容,本链路不拦截,由上游或人工把关。

解决认证和算力问题

发生以下异常情况时,采用 references/onboarding.md 引导解决问题:

异常情况

  • 未配置API Key:环境变量未配置 LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。
  • 响应401或402状态码
  • 响应提示算力或余额不足:消息含"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
dallo stesso repository

Altri Skills

Tutti gli Skills
linkfox-ai
Community

linkfox-aigc-imagegen

AI生图工具,根据提示词和参考图生成图片。支持多种模型(BANANA/BANANA2/BANANAPRO/GPT2IMAGE/AIDRAWEDIT/WAN27/SEEDREAM5),可控制分辨率、宽高比、输出数量。用户说"生成图片"、"AI画图"、"AI生图"、"帮我画"、"图片生成"、"image generation"、"generate image"、"画一张图"、"做张图"、"图生图"时触发。

installazioni
1
GitHub Stars
105
Aggiornato
14 set
linkfox-ai
Community

linkfox-aigc-videogen

AI生视频工具(首尾帧/单图模式),根据原图和提示词生成视频,支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEEDFAST/HAILUO海螺。用户说"生成视频"、"AI视频"、"图生视频"、"做个视频"、"video generation"、"generate video"、"图片转视频"、"动态视频"时触发。

installazioni
1
GitHub Stars
105
Aggiornato
14 set
linkfox-ai
Community

linkfox-amazon-ads-auth

亚马逊广告(Amazon Ads)店铺授权与管理技能,提供完整的授权流程、已绑定账号与站点的查询、令牌刷新与读取、当前用户广告授权连接解绑等能力。发起授权链接时需要先向用户确认一个账号名称;一次授权即可自动发现并绑定同账号下所有可用站点的广告 profile(每个站点对应一个 profileId)。当用户提到亚马逊广告授权、Amazon Ads 授权、绑定广告账户、解绑广告账户、断开广告连接、取消广告授权、刷新广告令牌、查询 profile 列表、管理已授权广告账户、Amazon Advertising authorization, Ads token refresh, list profiles, ad account management时触发此技能。即使未明确提及"Amazon Ads"或"授权",只要涉及亚马逊广告账号绑定、访问令牌管理或广告 profile 列表查询,也应触发。

installazioni
1
GitHub Stars
105
Aggiornato
14 set
linkfox-ai
Community

linkfox-amazon-ads-report

亚马逊广告(Amazon Ads)报告一站式获取技能,覆盖 Sponsored Products (SP) / Sponsored Brands (SB) / Sponsored Display (SD) 全部报告类型。脚本自动完成报告的创建、等待、下载和解压,直接返回可读的结构化数据。真实可用的报告类型及每类的列清单/groupBy/filters 以 references/report-types/{adProduct-dir}/{reportTypeId}.md 为单一真相源。当用户提到拉取亚马逊广告报告、下载 Amazon Ads 报告、获取 SP/SB/SD 广告活动/关键词/搜索词/投放商品/购买商品/广告组/流量异常/Prompt 扩展等任意报告时触发。本技能依赖 linkfox-amazon-ads-auth。Sponsored Television (ST) / Amazon DSP 暂未覆盖。

installazioni
1
GitHub Stars
105
Aggiornato
14 set