Not in the top 1,000 by GitHub stars

wzj177/ecommerce-image-suite

面向电商商品图生产场景的图片套图 Skill。仓库提供一套从商品图分析、卖点提炼、Prompt 组织到成图输出的脚本与配置,适合用在淘宝、京东、拼多多、抖音等国内平台,以及独立站、Amazon 等跨境场景。

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

2d508bd990df → 2d508bd990df

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 2d508bd990df

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 2d508bd990df0397026406f210a5915b2c955469

489GitHub stars
6stars in 7 days
1skill in this repository
0commits in 30 days

Heat

5.1
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026489

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

ecommerce-image-suite

When your agent uses it

电商套图生成助手。用户明确提出需要生成电商套图、商品主图、卖点图、场景图、模特图等图片内容时触发。 支持国内平台(淘宝、京东、拼多多、抖音)与国际跨境平台(Amazon、独立站)的尺寸规范。 触发示例:「帮我生成这件T恤的电商套图」「做一套淘宝主图」「生成亚马逊listing图片」。 不应在用户仅上传图片但未明确提出图片生成需求时触发。

What it loads into context

Frontmatter

252 tokens

Always available to the agent

SKILL.md

20,288 tokens

When the skill is activated

Reference documents

36,064 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 概览
  2. ⛔ 前置检查:API Key 验证(必须最先执行)
  3. 触发入口:判断是否已上传图片
  4. 第一步:收集输入信息
  5. 第二步:AI 分析与卖点生成
  6. 第三步:选择平台与套图配置
  7. 第四步:准备生图参数(动态填充商品信息)
  8. 第四步半:模特图判断与模特选择(条件步骤)
  9. 第四步半 B:视觉风格模板智能推荐
  10. 第五步:多供应商图像生成
  11. CLI 执行流程(Agent 调用)
  12. 第六步:平台文案生成(可选)
  13. 第七步:详情页 HTML 生成(可选)
  14. 第八步:产品展示视频生成(可选)
  15. 执行检查清单
  16. 参考文件索引
  17. API Key 配置

Scripts executed separately

  • scripts/analyze.py
  • scripts/check_providers.py
  • scripts/generate.py
  • scripts/generate_video.py

Files

  • .gitignoreasset38 bytes
  • BUSINESS.mddoc1,527 bytes
  • EXAMPLES.mddoc10,307 bytes
  • LICENSEasset11,357 bytes
  • README.mddoc5,961 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • SKILL.mdcore69,725 bytes
  • assets/models.jsonasset17,751 bytes
  • assets/models/00.pngasset202,631 bytes
  • assets/models/01.pngasset234,991 bytes
  • assets/models/02.pngasset215,576 bytes
  • assets/models/03.pngasset213,262 bytes
  • assets/models/04.pngasset217,979 bytes
  • assets/models/05.pngasset194,087 bytes
  • assets/models/06.pngasset178,774 bytes
  • assets/models/07.pngasset194,894 bytes
  • assets/models/08.pngasset178,699 bytes
  • assets/models/09.pngasset191,462 bytes
  • assets/models/10.pngasset183,429 bytes
  • assets/models/11.pngasset204,356 bytes
  • assets/models/12.pngasset214,107 bytes
  • assets/models/13.pngasset146,872 bytes
  • assets/models/14.pngasset190,222 bytes
  • assets/models/15.pngasset129,147 bytes
  • assets/models/16.pngasset144,491 bytes
  • assets/models/17.pngasset211,012 bytes
  • assets/models/18.pngasset205,011 bytes
  • assets/models/19.pngasset343,443 bytes
  • assets/models/20.pngasset326,262 bytes
  • assets/models/21.pngasset114,312 bytes
  • assets/models/22.pngasset223,910 bytes
  • assets/models/23.pngasset136,694 bytes
  • assets/models/24.pngasset204,127 bytes
  • assets/models/25.pngasset292,064 bytes
  • assets/models/26.pngasset101,742 bytes
  • assets/models/27.pngasset131,422 bytes
  • assets/models/28.pngasset88,353 bytes
  • assets/models/29.pngasset208,364 bytes
  • assets/models/30.pngasset162,032 bytes
  • assets/models/31.pngasset174,765 bytes
  • assets/models/32.pngasset190,868 bytes
  • assets/models/33.pngasset205,321 bytes
  • assets/models/34.pngasset243,116 bytes
  • assets/models/35.pngasset263,474 bytes
  • assets/models/36.pngasset219,314 bytes
  • assets/models/37.pngasset101,928 bytes
  • assets/models/38.pngasset178,346 bytes
  • assets/models/39.pngasset92,094 bytes
  • assets/models/40.pngasset92,679 bytes
  • assets/models/41.pngasset117,439 bytes
  • assets/models/42.pngasset177,158 bytes
  • assets/models/43.pngasset178,013 bytes
  • assets/models/44.pngasset215,373 bytes
  • assets/models/models.jsonasset17,751 bytes
  • example/agent客户端测试/001.pngasset394,548 bytes
  • example/agent客户端测试/002.pngasset293,314 bytes
  • example/agent客户端测试/003.pngasset306,027 bytes
  • example/agent客户端测试/004.pngasset297,098 bytes
  • example/agent客户端测试/005.pngasset200,474 bytes
  • example/agent客户端测试/006.pngasset243,931 bytes
  • example/agent客户端测试/007.pngasset256,501 bytes
  • example/agent客户端测试/008.pngasset394,747 bytes
  • example/agent客户端测试/009.pngasset374,704 bytes
  • example/agent客户端测试/010.pngasset117,166 bytes
  • example/agent客户端测试/011.pngasset297,017 bytes
  • example/agent客户端测试/012.pngasset1,028,804 bytes
  • example/agent客户端测试/013.pngasset1,028,357 bytes
  • example/agent客户端测试/014.pngasset664,532 bytes
  • example/agent客户端测试/015.jpgasset2,394,203 bytes
  • example/agent客户端测试/016.pngasset898,399 bytes
  • example/agent客户端测试/017.pngasset545,149 bytes
  • example/agent客户端测试/018.pngasset1,117,843 bytes
  • example/商业项目-视频智能文搜/001.pngasset2,483,540 bytes
  • example/商业项目-视频智能文搜/002.pngasset606,581 bytes
  • example/商业项目-视频智能文搜/003.jpgasset119,194 bytes
  • example/女装/002/product.jsonasset1,909 bytes
  • example/女装/002/三角度拼图.jpgasset4,798,132 bytes
  • example/女装/002/侧面.jpgasset4,966,907 bytes
  • example/女装/002/卖点图.jpgasset5,983,125 bytes
  • example/女装/002/场景展示图.jpgasset6,180,814 bytes
  • example/女装/002/多场景拼图.jpgasset6,294,130 bytes
  • example/女装/002/服装原图.jpgasset65,040 bytes
  • example/女装/002/材质图.jpgasset5,559,884 bytes
  • example/女装/002/核心卖点图.jpgasset3,460,471 bytes
  • example/女装/002/模特展示图.jpgasset2,394,203 bytes
  • example/女装/002/白底主图.jpgasset4,417,950 bytes
  • example/女装/002/背面侧面视图.jpgasset3,866,981 bytes
  • example/女装/003/卖点图.jpgasset6,553,826 bytes
  • example/女装/003/商品原图.jpgasset151,028 bytes
  • example/女装/003/场景展示图.jpgasset5,650,903 bytes
  • example/女装/003/材质图.jpgasset6,037,551 bytes
  • example/女装/003/核心卖点图.jpgasset5,909,506 bytes
  • example/女装/003/白底主图.jpgasset4,303,679 bytes
  • example/女装/005/product.jsonasset2,000 bytes
  • example/女装/005/三角度拼图.jpgasset1,599,131 bytes
  • example/女装/005/卖点图.jpgasset2,198,186 bytes
  • example/女装/005/商品原图.jpgasset582,131 bytes
  • example/女装/005/场景展示图.jpgasset1,774,761 bytes
  • example/女装/005/多场景拼图.jpgasset2,055,831 bytes
  • example/女装/005/材质图.jpgasset2,176,640 bytes
  • example/女装/005/核心卖点图.jpgasset1,550,215 bytes
  • example/女装/005/模特展示图.jpgasset1,859,144 bytes
  • example/女装/005/电商详情图.jpgasset1,011,349 bytes
  • example/女装/005/白底主图.jpgasset931,629 bytes
  • example/电器/product.jsonasset2,057 bytes
  • example/电器/三角度拼图.jpgasset5,975,675 bytes
  • example/电器/卖点图.jpgasset417,479 bytes
  • example/电器/商品原图.jpgasset111,102 bytes
  • example/电器/场景展示图.jpgasset450,744 bytes
  • example/电器/多场景拼图.jpgasset653,497 bytes
  • example/电器/材质图.jpgasset359,781 bytes
  • example/电器/核心卖点图.jpgasset418,139 bytes
  • example/电器/电商详情图.jpgasset6,600,365 bytes
  • example/电器/白底主图.jpgasset330,688 bytes
  • example/男装/product.jsonasset1,787 bytes
  • example/男装/三角度拼图.jpgasset5,123,822 bytes
  • example/男装/卖点图.jpgasset4,275,620 bytes
  • example/男装/场景展示图.jpgasset5,206,580 bytes
  • example/男装/多场景拼图.jpgasset5,720,411 bytes
  • example/男装/服务原图.jpgasset26,054 bytes
  • example/男装/材质图.jpgasset4,746,688 bytes
  • example/男装/核心卖点图.jpgasset4,857,977 bytes
  • example/男装/模特展示图.jpgasset5,352,671 bytes
  • example/男装/电商详情图.jpgasset4,568,795 bytes
  • example/男装/白底主图.jpgasset4,298,253 bytes
  • example/童装/gemini/卖点图.jpgasset1,646,763 bytes
  • example/童装/gemini/场景展示图.jpgasset2,423,350 bytes
  • example/童装/gemini/多场景拼图.jpgasset745,747 bytes
  • example/童装/gemini/材质图.jpgasset744,324 bytes
  • example/童装/gemini/核心卖点图.jpgasset466,906 bytes
  • example/童装/gemini/模特展示图.jpgasset642,456 bytes
  • example/童装/gemini/白底主图.jpgasset1,140,363 bytes
  • example/童装/product.jsonasset1,997 bytes
  • example/童装/卖点图.jpgasset6,353,369 bytes
  • example/童装/商品原图.jpgasset34,824 bytes
  • example/童装/场景展示图.jpgasset5,989,709 bytes
  • example/童装/多场景拼图.jpgasset6,368,050 bytes
  • example/童装/材质图.jpgasset6,068,146 bytes
  • example/童装/核心卖点图.jpgasset4,471,427 bytes
  • example/童装/模特展示图.jpgasset5,484,224 bytes
  • example/童装/白底主图.jpgasset4,302,935 bytes
  • references/analysis-prompts.mddoc8,008 bytes
  • references/copy-prompts.mddoc26,163 bytes
  • references/dynamic-prompt-architecture.mddoc17,553 bytes
  • references/image-types.mddoc44,584 bytes
  • references/model-prompts.mddoc6,350 bytes
  • references/platforms.mddoc3,911 bytes
  • references/providers.mddoc7,861 bytes
  • scripts/analyze.pyruns13,865 bytes
  • scripts/check_providers.pyruns1,615 bytes
  • scripts/generate.pyruns98,602 bytes
  • scripts/generate_video.pyruns9,769 bytes
Read SKILL.md

# 电商套图生成助手

## 概览

本 Skill 实现从「商品原始图片 + 卖点信息」到「完整电商套图」的一键生成流程:

```
① 上传商品图片(必须)+ 输入卖点信息(可选)
        ↓
② AI 视觉分析:提取商品主体,智能生成卖点文案(可编辑)
        ↓
③ 选择平台规范 + 套图类型(7种标准图)
        ↓
④ AI 生成每张图的详细 Prompt(可编辑)
View the complete source on GitHub

Skills included

  • ecommerce-image-suite

Repository facts

License
Apache-2.0
Created
Apr 24, 2026
Last pushed
Aug 27, 2026
Forks
96
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 18 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 257 signals by file

LICENSE

  • Network accessline 1
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/
  • Network accessline 195
    http://www.apache.org/licenses/LICENSE-2.0

README.md

  • Network accessline 7
    ## 插个广子 - [丸子GPT超低价中转站&丸子Image2生图公益站](https://ai.wanzij.cn)
  • Network accessline 8
    - [丸子GPT超低价中转站&丸子Image2生图公益站](https://ai.wanzij.cn)
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Access to secretsline 108
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Network accessline 188
    [![LINUXDO](https://img.shields.io/badge/%E7%A4%BE%E5%8C%BA-LINUXDO-0086c9?style=for-the-badge&labelColor=555555)](https://linux.do)

SKILL.md

  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 122
    > 📋 **CLI 环境(如 Claude Code)**:无法直接拖拽上传图片,请提供以下任一方式: > - 本地文件路径(如 `/Users/me/photos/product.jpg`) > - 远程图片 URL(如 `https://example.com/product.jpg`)
  • Network accessline 123
    > - 本地文件路径(如 `/Users/me/photos/product.jpg`) > - 远程图片 URL(如 `https://example.com/product.jpg`) > - Base64 字符串(`data:image/jpeg;base64,/9j/4AAQ...`)
  • Network accessline 124
    > - 远程图片 URL(如 `https://example.com/product.jpg`)
  • Access to secretsline 399
    [Credential-related source omitted]
  • Access to secretsline 423
    [Credential-related source omitted]
  • Access to secretsline 432
    [Credential-related source omitted]
  • Access to secretsline 433
    [Credential-related source omitted]
  • Access to secretsline 434
    [Credential-related source omitted]
  • Network accessline 1122
    [Credential-related source omitted]
  • Network accessline 1123
    [Credential-related source omitted]
  • Access to secretsline 1123
    [Credential-related source omitted]
  • Network accessline 1124
    GEMINI_BASE_URL="https://my-proxy.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
  • Network accessline 1127
    [Credential-related source omitted]
  • Network accessline 1128
    [Credential-related source omitted]
  • Access to secretsline 1128
    [Credential-related source omitted]
  • Network accessline 1129
    DASHSCOPE_BASE_URL="https://my-proxy.com/api/v1/services/aigc/multimodal-generation/generation" \
  • Access to secretsline 1278
    [Credential-related source omitted]
  • Access to secretsline 1345
    [Credential-related source omitted]
  • Access to secretsline 1351
    [Credential-related source omitted]
  • Access to secretsline 1383
    [Credential-related source omitted]
  • Access to secretsline 1393
    [Credential-related source omitted]
  • Access to secretsline 1394
    [Credential-related source omitted]
  • Access to secretsline 1396
    [Credential-related source omitted]
  • Access to secretsline 1397
    [Credential-related source omitted]
  • Access to secretsline 1398
    [Credential-related source omitted]
  • Access to secretsline 1399
    [Credential-related source omitted]
  • Access to secretsline 1409
    [Credential-related source omitted]
  • Access to secretsline 1410
    [Credential-related source omitted]
  • Access to secretsline 1411
    [Credential-related source omitted]
  • Access to secretsline 1412
    [Credential-related source omitted]
  • Access to secretsline 1413
    [Credential-related source omitted]
  • Network accessline 1415
    # 可选:自定义代理地址 export OPENAI_BASE_URL="https://my-proxy.com/v1"
  • Network accessline 1416
    export OPENAI_BASE_URL="https://my-proxy.com/v1"
  • Network accessline 1417
    export GEMINI_BASE_URL="https://my-proxy.com/gemini"
  • Network accessline 1418
    export DASHSCOPE_BASE_URL="https://my-proxy.com/dashscope"
  • Access to secretsline 1430
    [Credential-related source omitted]

references/copy-prompts.md

  • Network accessline 251
    【字体系统】 @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500&family=Oswald:wght@500;600&display=swap');
  • Network accessline 252
    @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500&family=Oswald:wght@500;600&display=swap');
  • Network accessline 352
    【字体系统】 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=Source+Han+Serif+SC:wght@400;700&family=Roboto+Mono:wght@400;500&display=swap');
  • Network accessline 353
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=Source+Han+Serif+SC:wght@400;700&family=Roboto+Mono:wght@400;500&display=swap');
  • Network accessline 454
    【字体系统】 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700;900&family=ZCOOL+KuaiLe&display=swap');
  • Network accessline 455
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700;900&family=ZCOOL+KuaiLe&display=swap');
  • Network accessline 538
    【字体系统】 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700;900&family=JetBrains+Mono:wght@400;700&display=swap');
  • Network accessline 539
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700;900&family=JetBrains+Mono:wght@400;700&display=swap');
  • Network accessline 627
    【Font System】 @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600&display=swap');
  • Network accessline 628
    @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600&display=swap');
  • Network accessline 682
    Include in <script type="application/ld+json">: {   "@context": "https://schema.org",
  • Network accessline 683
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 684
    "@context": "https://schema.org",
  • Network accessline 721
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');

references/providers.md

  • Network accessline 23
    **Key获取:** https://platform.openai.com/api-keys
  • Network accessline 36
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 38
    # export OPENAI_BASE_URL="https://your-proxy.com/v1"  # 可选代理
  • Network accessline 43
    const response = await fetch("https://api.openai.com/v1/images/generations", {
  • Network accessline 73
    const response = await fetch("https://api.openai.com/v1/images/edits", {
  • Network accessline 88
    **API Endpoint:** `https://generativelanguage.googleapis.com/v1beta/models/imagen-3.0-generate-001:predict`
  • Network accessline 89
    **Key获取:** https://aistudio.google.com/app/apikey
  • Network accessline 92
    const response = await fetch(
  • Network accessline 93
    `https://generativelanguage.googleapis.com/v1beta/models/imagen-3.0-generate-001:predict?key=${apiKey}`,
  • Network accessline 116
    **API Endpoint:** `https://api.stability.ai/v2beta/stable-image/generate/core`
  • Network accessline 117
    **Key获取:** https://platform.stability.ai/account/keys
  • Network accessline 126
    const response = await fetch("https://api.stability.ai/v2beta/stable-image/generate/core", {
  • Network accessline 142
    **API Endpoint:** `https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis`
  • Network accessline 143
    **Key获取:** https://dashscope.console.aliyun.com/
  • Network accessline 147
    // Step 1: 提交任务 const submitRes = await fetch(
  • Network accessline 148
    const submitRes = await fetch(
  • Network accessline 149
    "https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis",
  • Network accessline 171
    for (let i = 0; i < 30; i++) {   await new Promise(r => setTimeout(r, 2000));   const pollRes = await fetch(
  • Network accessline 172
    await new Promise(r => setTimeout(r, 2000));   const pollRes = await fetch(     `https://dashscope.aliyuncs.com/api/v1/tasks/${task_id}`,
  • Network accessline 173
    const pollRes = await fetch(
  • Network accessline 174
    `https://dashscope.aliyuncs.com/api/v1/tasks/${task_id}`,
  • Network accessline 179
    const imageUrl = pollData.output.results[0].url;     // 转base64     const imgBlob = await (await fetch(imageUrl)).blob();
  • Network accessline 180
    // 转base64     const imgBlob = await (await fetch(imageUrl)).blob();     const base64 = await new Promise(r => {
  • Network accessline 181
    const imgBlob = await (await fetch(imageUrl)).blob();
  • Network accessline 197
    **API Endpoint:** `https://ark.cn-beijing.volces.com/api/v3/images/generations`
  • Network accessline 198
    **Key获取:** https://console.volcengine.com/ark → API Key管理
  • Network accessline 201
    const response = await fetch("https://ark.cn-beijing.volces.com/api/v3/images/generations", {

scripts/analyze.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 17
    python3 analyze.py ./product.jpg   python3 analyze.py ./front.jpg ./back.jpg          # 多张图(正面+背面)   python3 analyze.py https://example.com/product.jpg
  • Network accessline 18
    python3 analyze.py ./front.jpg ./back.jpg          # 多张图(正面+背面)   python3 analyze.py https://example.com/product.jpg   python3 analyze.py ./product.jpg --provider tongyi
  • Network accessline 19
    python3 analyze.py https://example.com/product.jpg
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Network accessline 50
    "env_model":     "DASHSCOPE_VISION_MODEL",         "default_model": "qwen-vl-max",         "default_url":   "https://dashscope.aliyuncs.com/compatible-mode/v1",
  • Network accessline 51
    "default_model": "qwen-vl-max",         "default_url":   "https://dashscope.aliyuncs.com/compatible-mode/v1",     },
  • Network accessline 52
    "default_url":   "https://dashscope.aliyuncs.com/compatible-mode/v1",
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 60
    "env_model":     "ARK_VISION_MODEL",         "default_model": "doubao-vision-pro-32k",         "default_url":   "https://ark.cn-beijing.volces.com/api/v3",
  • Network accessline 61
    "default_model": "doubao-vision-pro-32k",         "default_url":   "https://ark.cn-beijing.volces.com/api/v3",     },
  • Network accessline 62
    "default_url":   "https://ark.cn-beijing.volces.com/api/v3",
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 70
    "env_model":     "OPENAI_VISION_MODEL",         "default_model": "gpt-4o",         "default_url":   "https://api.openai.com/v1",
  • Network accessline 71
    "default_model": "gpt-4o",         "default_url":   "https://api.openai.com/v1",     },
  • Network accessline 72
    "default_url":   "https://api.openai.com/v1",
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 178
    [Credential-related source omitted]
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 187
    [Credential-related source omitted]
  • Access to secretsline 195
    [Credential-related source omitted]
  • Access to secretsline 201
    [Credential-related source omitted]
  • Access to secretsline 202
    [Credential-related source omitted]
  • Access to secretsline 216
    [Credential-related source omitted]
  • Access to secretsline 258
    [Credential-related source omitted]
  • Access to secretsline 259
    [Credential-related source omitted]
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 274
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 280
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]

scripts/check_providers.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]

scripts/generate.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 7
    python3 generate.py      --product '{"product_description_for_prompt": "white T-shirt...", "selling_points": [...]}'      --provider openai      --api-key "sk-..."      --base-url "https://custom-proxy.example.com/v1"
  • Network accessline 9
    --provider openai \     --api-key "sk-..." \     --base-url "https://custom-proxy.example.com/v1" \
  • Network accessline 10
    --api-key "sk-..." \     --base-url "https://custom-proxy.example.com/v1" \     --model "dall-e-3" \
  • Network accessline 11
    --base-url "https://custom-proxy.example.com/v1" \
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 134
    DEFAULT_URLS = {     "openai":    "https://api.openai.com/v1/images/generations",
  • Network accessline 135
    "openai":    "https://api.openai.com/v1/images/generations",
  • Network accessline 136
    "gemini":    "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
  • Network accessline 137
    "stability": "https://api.stability.ai/v2beta/stable-image/generate/core",
  • Network accessline 138
    "tongyi":    "https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation",
  • Network accessline 139
    "doubao":    "https://ark.cn-beijing.volces.com/api/v3/images/generations",
  • Network accessline 1133
    return b64, mime     if path_or_url.startswith(("http://", "https://")):         resp = requests.get(path_or_url, timeout=60)
  • Network accessline 1134
    if path_or_url.startswith(("http://", "https://")):         resp = requests.get(path_or_url, timeout=60)         resp.raise_for_status()
  • Network accessline 1135
    resp = requests.get(path_or_url, timeout=60)
  • Network accessline 1175
    url = (base_url.rstrip("/") + "/v1/images/generations") if base_url else DEFAULT_URLS["openai"]             resp = requests.post(
  • Network accessline 1176
    resp = requests.post(
  • Possible obfuscationline 1183
    return base64.b64decode(_fix_base64_padding(resp.json()["data"][0]["b64_json"]))
  • Network accessline 1189
    # 直接拼接 /images/edits(用户的 BASE_URL 是 https://api.laozhang.ai/v1)
  • Network accessline 1190
    url = base_url_clean + "/images/edits"         else:             url = "https://api.openai.com/v1/images/edits"
  • Network accessline 1192
    url = "https://api.openai.com/v1/images/edits"
  • Network accessline 1201
    # 使用 image[] 作为字段名(与 curl 示例一致)
  • Possible obfuscationline 1202
    files.append(("image[]", (f"image{i}.{mime.split('/')[-1]}", base64.b64decode(_fix_base64_padding(b64_data)), mime)))
  • Network accessline 1210
    resp = requests.post(
  • Possible obfuscationline 1226
    return base64.b64decode(_fix_base64_padding(b64_value))
  • Network accessline 1231
    url = (base_url.rstrip("/") + "/v1/images/generations") if base_url else DEFAULT_URLS["openai"]     resp = requests.post(
  • Network accessline 1232
    resp = requests.post(
  • Possible obfuscationline 1239
    return base64.b64decode(_fix_base64_padding(resp.json()["data"][0]["b64_json"]))
  • Network accessline 1274
    # 如果 base_url 以 /v1 结尾(如 https://api.example.com/v1),拼接 /images/edits
  • Possible obfuscationline 1291
    files.append(("image[]", (f"image{i}.{mime.split('/')[-1]}", base64.b64decode(_fix_base64_padding(b64_data)), mime)))
  • Network accessline 1299
    resp = requests.post(
  • Network accessline 1313
    return base64.b64decode(_fix_base64_padding(img_data["b64_json"]))                 elif "url" in img_data:                     img_resp = requests.get(img_data["url"], timeout=60)
  • Possible obfuscationline 1313
    return base64.b64decode(_fix_base64_padding(img_data["b64_json"]))
  • Network accessline 1314
    elif "url" in img_data:                     img_resp = requests.get(img_data["url"], timeout=60)                     img_resp.raise_for_status()
  • Network accessline 1315
    img_resp = requests.get(img_data["url"], timeout=60)
  • Network accessline 1338
    resp = requests.post(
  • Network accessline 1351
    return base64.b64decode(_fix_base64_padding(img_data["b64_json"]))             elif "url" in img_data:                 img_resp = requests.get(img_data["url"], timeout=60)
  • Possible obfuscationline 1351
    return base64.b64decode(_fix_base64_padding(img_data["b64_json"]))
  • Network accessline 1352
    elif "url" in img_data:                 img_resp = requests.get(img_data["url"], timeout=60)                 img_resp.raise_for_status()
  • Network accessline 1353
    img_resp = requests.get(img_data["url"], timeout=60)
  • Network accessline 1362
    url = base_url     elif model and model != DEFAULT_MODELS["gemini"]:         url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
  • Network accessline 1363
    elif model and model != DEFAULT_MODELS["gemini"]:         url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"     else:
  • Network accessline 1364
    url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
  • Network accessline 1386
    resp = requests.post(
  • Possible obfuscationline 1405
    return base64.b64decode(_fix_base64_padding(part["inlineData"]["data"]))
  • Network accessline 1410
    reference_image: str = "", **_kw) -> bytes:     url = base_url or DEFAULT_URLS["stability"]     resp = requests.post(
  • Network accessline 1411
    url = base_url or DEFAULT_URLS["stability"]     resp = requests.post(         url,
  • Network accessline 1412
    resp = requests.post(
  • Possible obfuscationline 1420
    return base64.b64decode(_fix_base64_padding(resp.json()["image"]))
  • Network accessline 1430
    import time     poll_url = "https://dashscope.aliyuncs.com/api/v1/tasks/" + task_id
  • Network accessline 1431
    poll_url = "https://dashscope.aliyuncs.com/api/v1/tasks/" + task_id
  • Network accessline 1434
    interval = 3     while elapsed < max_wait:         resp = requests.get(poll_url, headers=headers, timeout=30)
  • Network accessline 1435
    while elapsed < max_wait:         resp = requests.get(poll_url, headers=headers, timeout=30)         resp.raise_for_status()
  • Network accessline 1436
    resp = requests.get(poll_url, headers=headers, timeout=30)
  • Network accessline 1473
    url = base_url     elif is_wan:         url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation"
  • Network accessline 1474
    elif is_wan:         url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation"     else:
  • Network accessline 1475
    url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation"
  • Network accessline 1515
    resp = requests.post(url, headers=headers, json=body, timeout=request_timeout)
  • Network accessline 1528
    return base64.b64decode(_fix_base64_padding(img_url.split(",", 1)[-1] if "," in img_url else img_url))         return requests.get(img_url, timeout=request_timeout).content
  • Possible obfuscationline 1528
    return base64.b64decode(_fix_base64_padding(img_url.split(",", 1)[-1] if "," in img_url else img_url))
  • Network accessline 1529
    return requests.get(img_url, timeout=request_timeout).content
  • Network accessline 1532
    img_url = data["output"]["choices"][0]["message"]["content"][0]["image"]         return requests.get(img_url, timeout=request_timeout).content
  • Network accessline 1533
    return requests.get(img_url, timeout=request_timeout).content
  • Access to secretsline 1545
    [Credential-related source omitted]
  • Network accessline 1566
    if len(ref_images) > 1:             print(f"    📎 已传递 {len(ref_images)} 张参考图", flush=True)     resp = requests.post(
  • Network accessline 1567
    print(f"    📎 已传递 {len(ref_images)} 张参考图", flush=True)     resp = requests.post(         url,
  • Network accessline 1568
    resp = requests.post(
  • Network accessline 1574
    resp.raise_for_status()     img_url = resp.json()["data"][0]["url"]     return requests.get(img_url, timeout=_kw.get('request_timeout', 180)).content
  • Network accessline 1576
    return requests.get(img_url, timeout=_kw.get('request_timeout', 180)).content
  • Access to secretsline 1588
    [Credential-related source omitted]
  • Access to secretsline 1589
    [Credential-related source omitted]
  • Access to secretsline 1590
    [Credential-related source omitted]
  • Access to secretsline 1591
    [Credential-related source omitted]
  • Access to secretsline 1592
    [Credential-related source omitted]
  • Access to secretsline 1622
    [Credential-related source omitted]
  • Access to secretsline 1661
    [Credential-related source omitted]
  • Access to secretsline 1662
    [Credential-related source omitted]
  • Access to secretsline 1667
    [Credential-related source omitted]
  • Access to secretsline 1842
    [Credential-related source omitted]

scripts/generate_video.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 38
    DEFAULT_MODEL = "doubao-seedance-1-5-pro-251215" TASK_URL = "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks"
  • Network accessline 39
    TASK_URL = "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks"
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 110
    [Credential-related source omitted]
  • Network accessline 111
    [Credential-related source omitted]
  • Network accessline 112
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Network accessline 124
    interval = 5     while elapsed < max_wait:         resp = requests.get(url, headers=headers, timeout=30)
  • Network accessline 125
    while elapsed < max_wait:         resp = requests.get(url, headers=headers, timeout=30)         resp.raise_for_status()
  • Network accessline 126
    resp = requests.get(url, headers=headers, timeout=30)
  • Network accessline 141
    def download_video(video_url: str, output_path: Path):     resp = requests.get(video_url, timeout=120, stream=True)
  • Network accessline 142
    resp = requests.get(video_url, timeout=120, stream=True)
  • Access to secretsline 166
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 168
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Access to secretsline 200
    [Credential-related source omitted]
  • Access to secretsline 204
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 9 facts
  • Contacts dashscope.aliyuncs.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/analyze.py:52High confidence
  • Contacts ark.cn-beijing.volces.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/analyze.py:62High confidence
  • Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/analyze.py:72High confidence
  • Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate.py:135High confidence
  • Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate.py:136High confidence
  • Contacts api.stability.ai, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate.py:137High confidence
  • Contacts dashscope.aliyuncs.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate.py:138High confidence
  • Contacts ark.cn-beijing.volces.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate.py:139High confidence
  • Contacts ark.cn-beijing.volces.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_video.py:39High confidence
Signal confidence: 254 facts
  • Network access in prose of documentationREADME.md:7Low confidence
  • Network access in prose of documentationREADME.md:8Low confidence
  • Access to secrets in prose of documentationREADME.md:61Low confidence
  • Access to secrets in prose of documentationREADME.md:62Low confidence
  • Access to secrets in prose of documentationREADME.md:63Low confidence
  • Access to secrets in prose of documentationREADME.md:64Low confidence
  • Access to secrets in prose of documentationREADME.md:65Low confidence
  • Access to secrets in code of documentationREADME.md:74Low confidence
  • Access to secrets in code of documentationREADME.md:75Low confidence
  • Access to secrets in code of documentationREADME.md:81Low confidence
  • Access to secrets in code of documentationREADME.md:82Low confidence
  • Access to secrets in code of documentationREADME.md:89Low confidence
  • Access to secrets in code of documentationREADME.md:90Low confidence
  • Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:101Low confidence
  • Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:102Low confidence
  • Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:108Low confidence
  • Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:109Low confidence
  • Access to secrets in code of documentationREADME.md:115Low confidence
  • Access to secrets in code of documentationREADME.md:116Low confidence
  • Network access in prose of documentationREADME.md:188Low confidence
  • Access to secrets in the frontmatter of the SKILL.mdSKILL.md:8Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:61Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:62Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:63Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:64Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:65Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:69Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:71Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:122Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:123Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:124Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:399Low confidence
  • Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:423Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:432Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:433Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:434Low confidence
  • Network access in code of the SKILL.mdSKILL.md:1122High confidence
  • Network access in code of the SKILL.mdSKILL.md:1123High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:1123High confidence
  • Network access in code of the SKILL.mdSKILL.md:1124High confidence
  • Network access in code of the SKILL.mdSKILL.md:1127High confidence
  • Network access in code of the SKILL.mdSKILL.md:1128High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:1128High confidence
  • Network access in code of the SKILL.mdSKILL.md:1129High confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1278Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1345Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1351Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1383Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1393Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:1394Low confidence

and 204 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.