{"id":"4b2dfa51-56ba-4617-bdd6-e07b850c553c","entityType":"agent","slug":"clawhub-dlazyai-creative-scene","name":"创意生图 Creative Scene","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dlazyai-creative-scene","canonicalPath":"/agent/clawhub-dlazyai-creative-scene","generatedAt":"2026-10-10T23:45:49.595Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":null},"description":"从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Skill: 创意生图 Creative Scene Owner: dlazyai Summary: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Tags: latest:1.0.19 Version history: v1.0.19 | 2026-10-10T01:48:30.396Z | user 例行版本更新 2026-10-10 v1.0.18 | 2026-10-08T01:41:08.055Z | user 例行版本更新 2026-10-08 v1.0.17 | 2026-10-04T01:41:29.342Z | user 例行版本更新 2026-10-04 v1.0.16 | 2026-10-02T05:14:45.101Z | user 例行版本更新 2026-10-02 v1.0.15 | 2026-09","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:creative-scene","sourceUrl":"https://clawhub.ai/dlazyai/creative-scene","homepage":"https://clawhub.ai/dlazyai/skills/creative-scene","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dlazyai/creative-scene","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dlazyai/skills/creative-scene","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Skill: 创意生图 Creative Scene Owner: dlazyai Summary: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":null},"stars":null,"forks":null,"downloads":1263,"packageName":null,"latestVersion":"1.0.19","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T20:41:33.285Z","lastCrawledAt":"2026-10-10T20:41:33.285Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T20:41:33.285Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.19","createdAt":"2026-10-10T01:48:30.396Z","changelog":"例行版本更新 2026-10-10","fileCount":11,"zipByteSize":25656},{"version":"1.0.18","createdAt":"2026-10-08T01:41:08.055Z","changelog":"例行版本更新 2026-10-08","fileCount":11,"zipByteSize":25565},{"version":"1.0.17","createdAt":"2026-10-04T01:41:29.342Z","changelog":"例行版本更新 2026-10-04","fileCount":11,"zipByteSize":25663},{"version":"1.0.16","createdAt":"2026-10-02T05:14:45.101Z","changelog":"例行版本更新 2026-10-02","fileCount":11,"zipByteSize":25523},{"version":"1.0.15","createdAt":"2026-09-30T01:44:35.376Z","changelog":"例行版本更新 2026-09-30","fileCount":11,"zipByteSize":25562},{"version":"1.0.14","createdAt":"2026-09-28T02:34:50.878Z","changelog":"例行版本更新 2026-09-28","fileCount":11,"zipByteSize":25606},{"version":"1.0.13","createdAt":"2026-09-24T06:55:50.698Z","changelog":"例行版本更新 2026-09-24","fileCount":11,"zipByteSize":26034},{"version":"1.0.12","createdAt":"2026-09-22T01:38:36.196Z","changelog":"例行版本更新 2026-09-22","fileCount":11,"zipByteSize":25862}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:creative-scene","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T23:45:49.592Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-creative-scene/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":null},"readme":"Skill: 创意生图 Creative Scene\n\nOwner: dlazyai\n\nSummary: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n\nTags: latest:1.0.19\n\nVersion history:\n\nv1.0.19 | 2026-10-10T01:48:30.396Z | user\n\n例行版本更新 2026-10-10\n\nv1.0.18 | 2026-10-08T01:41:08.055Z | user\n\n例行版本更新 2026-10-08\n\nv1.0.17 | 2026-10-04T01:41:29.342Z | user\n\n例行版本更新 2026-10-04\n\nv1.0.16 | 2026-10-02T05:14:45.101Z | user\n\n例行版本更新 2026-10-02\n\nv1.0.15 | 2026-09-30T01:44:35.376Z | user\n\n例行版本更新 2026-09-30\n\nv1.0.14 | 2026-09-28T02:34:50.878Z | user\n\n例行版本更新 2026-09-28\n\nv1.0.13 | 2026-09-24T06:55:50.698Z | user\n\n例行版本更新 2026-09-24\n\nv1.0.12 | 2026-09-22T01:38:36.196Z | user\n\n例行版本更新 2026-09-22\n\nv1.0.11 | 2026-09-20T01:48:47.244Z | user\n\n例行版本更新 2026-09-20\n\nv1.0.10 | 2026-09-18T02:09:59.832Z | user\n\n例行版本更新 2026-09-18\n\nv1.0.9 | 2026-09-14T01:36:00.607Z | user\n\n例行版本更新 2026-09-14\n\nv1.0.8 | 2026-09-10T01:33:09.332Z | user\n\n例行版本更新 2026-09-10\n\nv1.0.7 | 2026-09-08T01:39:44.966Z | user\n\n例行版本更新 2026-09-08\n\nv1.0.6 | 2026-09-07T01:47:50.260Z | user\n\n例行版本更新 2026-09-07\n\nv1.0.5 | 2026-09-04T01:41:02.587Z | user\n\n例行版本更新 2026-09-04\n\nv1.0.4 | 2026-09-02T01:36:33.690Z | user\n\n例行版本更新 2026-09-02\n\nv1.0.3 | 2026-08-31T07:03:04.025Z | user\n\n源码仓库迁移至 github.com/dlazy-ai/ecommerce-skills\n\nv1.0.2 | 2026-08-31T05:24:26.850Z | user\n\n源码仓库迁移至 github.com/dlazy-ai/ecommerce-skills\n\nv1.0.1 | 2026-08-29T03:59:15.324Z | user\n\nSync from GitHub\n\nv1.0.0 | 2026-08-18T04:38:59.237Z | user\n\nSync from GitHub\n\nArchive index:\n\nArchive v1.0.19: 11 files, 25656 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2001b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.19\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.19:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1791596910396\n}\n\nFile v1.0.19:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.19:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.19:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.19:skill-card.md\n\n## Description:\n\nCreates images from a text description and optionally edits a reference image to change the model, pose, or outfit.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and e-commerce teams use this skill to draft scene images from descriptions or revise a reference image's model, pose, or clothing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and reference images may be sent to the selected cloud image provider.\n\nMitigation: Do not supply sensitive local files, private URLs, credentials, or internal network resources as inputs; review the selected provider before use.\n\nRisk: Image generation can incur unexpected charges or use an unintended provider.\n\nMitigation: Use dry-run or explicitly select the provider when cost or destination matters.\n\nRisk: Generated images could be mistaken for authentic portraits or product photography.\n\nMitigation: Do not generate specific real-person portraits or misrepresent generated product images as real photos or customer experiences.\n\n## Reference(s):\n\n- [Creative Scene on ClawHub](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Model flags](references/model-flags.md)\n- [Provider CLI guide](references/provider-cli.md)\n\n## Skill Output:\n\n**Output Type(s):** [Image files, Shell commands, Guidance]\n\n**Output Format:** [JPG/PNG images and Markdown guidance with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports reference-image edits and optional local image saves.]\n\n## Skill Version(s):\n\n1.0.19 (source: frontmatter and ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.19:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.18: 11 files, 25565 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (1816b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.18\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1791423668055\n}\n\nFile v1.0.18:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.18:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.18:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.18:skill-card.md\n\n## Description:\n\nCreates images from scene descriptions and supports targeted edits to a reference image's model, pose, or outfit.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and e-commerce teams use this skill to generate scenes from text or edit supplied images to change a model, pose, or outfit.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and supplied reference images may be sent to the selected cloud provider.\n\nMitigation: Use non-sensitive inputs and confirm the selected provider and active credentials before running.\n\nRisk: Generation requests may incur charges or save images to an unintended location.\n\nMitigation: Review the request and cost with --dry-run, then choose the output path deliberately.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Image model options](references/model-flags.md)\n- [Provider setup and output guide](references/provider-cli.md)\n- [dLazy CLI source](https://github.com/dlazy-ai/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Image files, Shell commands, Prompt guidance]\n\n**Output Format:** [Generated image files and text or Markdown with CLI examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports optional reference images and user-selected output paths.]\n\n## Skill Version(s):\n\n1.0.18 (source: skill frontmatter and server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.18:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.17: 11 files, 25663 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2027b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.17\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1791078089342\n}\n\nFile v1.0.17:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.17:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.17:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nCreates images from scene descriptions and edits models, poses, or outfits using optional reference images.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and commerce teams use this skill to draft scene images and adjust a model, pose, or outfit from a reference image.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected reference images are sent to an external image provider.\n\nMitigation: Confirm the selected provider before use and avoid supplying private prompts or images unless intended.\n\nRisk: Generation may incur unexpected usage charges or save images to an unintended location.\n\nMitigation: Use --dry-run to check routing and estimated cost, and review the output path before generating.\n\nRisk: Photorealistic generated images could misrepresent a real person or product.\n\nMitigation: Review images before publication; do not use them to impersonate people or fabricate product photography or user experiences.\n\n## Reference(s):\n\n- [Creative Scene release](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Provider CLI and data flow](artifact/references/provider-cli.md)\n- [Image model options](artifact/references/model-flags.md)\n\n## Skill Output:\n\n**Output Type(s):** [Images, Prompt guidance, Shell commands]\n\n**Output Format:** [Image files or hosted image URLs, with Markdown instructions and shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports text-to-image creation and reference-image edits; images can be saved locally.]\n\n## Skill Version(s):\n\n1.0.17 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.17:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.16: 11 files, 25523 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (1695b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.16\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1790918085101\n}\n\nFile v1.0.16:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.16:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.16:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.16:skill-card.md\n\n## Description:\n\nGenerates original scenes from a description or edits a reference image to change a model, pose, or outfit.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and ecommerce teams use this skill to make scene images from text and refine a reference image's model, pose, or clothing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected reference images are sent to the configured image provider.\n\nMitigation: Do not include private images, secrets, or internal URLs; confirm the provider before sending inputs.\n\nRisk: Image generation may incur charges.\n\nMitigation: Use dry-run or confirm expected costs before billable generations.\n\n## Reference(s):\n\n- [Creative Scene on ClawHub](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Provider setup and output guide](artifact/references/provider-cli.md)\n- [Image model parameters](artifact/references/model-flags.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Images]\n\n**Output Format:** [Text prompts and CLI commands; generated JPEG images when executed]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports text-only generation and reference-image edits.]\n\n## Skill Version(s):\n\n1.0.16 (source: skill frontmatter and ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.16:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.15: 11 files, 25562 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (1786b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.15\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1790732675376\n}\n\nFile v1.0.15:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.15:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.15:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.15:skill-card.md\n\n## Description:\n\nCreates images from text prompts or selectively edits reference images to change models, poses, and outfits.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and commerce teams use this skill to generate scene imagery from descriptions or revise a reference image's model, pose, or styling.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected reference images are sent to a configured cloud image-generation provider.\n\nMitigation: Avoid confidential photos and internal reference URLs; choose an explicit provider and account for sensitive work.\n\nRisk: Image-generation requests may incur provider charges.\n\nMitigation: Use dry-run to review the request and estimated cost before generating images.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Provider setup and data flow](artifact/references/provider-cli.md)\n- [Image model options](artifact/references/model-flags.md)\n\n## Skill Output:\n\n**Output Type(s):** [Images, Shell commands, Guidance]\n\n**Output Format:** [Locally saved image files and Markdown guidance with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Optional reference-image edits; image size, aspect ratio, and batch settings can be selected.]\n\n## Skill Version(s):\n\n1.0.15 (source: frontmatter and ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.15:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.14: 11 files, 25606 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (1901b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.14\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.14:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.14\",\n  \"publishedAt\": 1790562890878\n}\n\nFile v1.0.14:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.14:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.14:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.14:skill-card.md\n\n## Description:\n\nGenerates original scene images from text prompts and makes targeted changes to subjects, poses, and outfits using optional reference images.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators, marketers, and developers use the skill to draft scene images and adjust a subject's appearance, pose, or outfit for visual content and ecommerce workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and reference images are sent to the selected cloud image-generation provider.\n\nMitigation: Confirm the selected provider and send confidential images only when that provider is approved for the data.\n\nRisk: An optional brand-kit setup hint suggests installing a skill from GitHub.\n\nMitigation: Verify the source and installation command before running the optional setup.\n\n## Reference(s):\n\n- [Creative Scene skill listing](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Provider setup and output reference](references/provider-cli.md)\n- [Image model options](references/model-flags.md)\n- [dLazy CLI source](https://github.com/dlazy-ai/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Prompt guidance, Shell commands, Image files]\n\n**Output Format:** [Text prompts and shell commands; generated image files when run]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports optional reference images, aspect ratio, resolution, and batches.]\n\n## Skill Version(s):\n\n1.0.14 (source: skill frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.14:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.13: 11 files, 26034 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2655b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.13\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no watermark\n```\n\n**定向修改**（三类模板见第四节）：\n\n```text\n[改模特 / 改姿势 / 改搭配 的句式]。保持[其余要素]完全不变。\n```\n\n**按问题追加的修正句**\n\n| 问题 | 追加到 prompt 末尾 |\n| --- | --- |\n| 构图不对（要全身给了半身） | 把景别词放到 prompt 靠前位置，并追加 `full-body framing, head to feet fully in frame` |\n| 出图太像插画 | `photorealistic photograph, real fabric texture, natural skin pores, no illustration, no CGI` |\n| 手部崩坏 | `hands anatomically correct, five distinct fingers, natural knuckles` |\n| 服装细节不受控 | 服装描述改用英文，并写死颜色 / 面料 / 版型 / 领口 |\n| 定向修改把别的也改了 | 把「保持其余不变」写得更具体：逐项列出不许动的东西 |\n| 一组图风格不统一 | 固定氛围段与镜头语言段逐字不变，只换人物/场景 |\n\n---\n\n## 6、执行流程\n\n1. **判断模式**：从零造图 → 纯文生图；已有图要改 → 带参考图 + 第四节模板。\n2. **按五槽位写描述**：人物 / 穿着 / 场景 / 视角 / 氛围，缺一个就补一个。\n3. **探索期 `--imageSize 1K --batch 4`** 快速看方向，成本最低。\n4. **定稿后 `--imageSize 2K`** 出正式图。\n5. **要连续改**（先定人，再改姿势，再改搭配）：把上一步的输出作为下一步的 `--images`，每步只改一个维度。\n6. **质检**：构图景别对不对、是否够真实、手部、服装细节是否受控。\n7. **要上架的图**建议过一遍 [detect-task](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/detect-task/skill.md) 做投前检测。\n\n---\n\n## 7、常见问题\n\n| 现象 | 原因 | 处理 |\n| --- | --- | --- |\n| 要全身却出了半身 | 景别词位置太后 | 景别词提前 + 追加 `head to feet fully in frame` |\n| 出图像插画/CG | 缺真实性约束 | 追加 photorealistic + 真实纹理句 |\n| 服装细节完全不受控 | 描述太笼统或用中文写材质 | 服装段改英文，写死颜色/面料/版型/领口 |\n| 手指崩坏 | 生成随机性 | 追加修手句 + `--batch 4` 挑图 |\n| 定向修改改动过大 | 「保持不变」写得太笼统 | 逐项列出不许动的要素 |\n| 一组图风格不统一 | 氛围段每次都改 | 固定氛围段与镜头语言段 |\n| 成本超预期 | 一直用 2K/4K 探索 | 探索用 `1K` + `--batch 4`，定稿再 2K |\n\n---\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1790232950698\n}\n\nFile v1.0.13:references/model-flags.md\n\n# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。\n\nFile v1.0.13:references/provider-cli.md\n\n<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTTP status code error (500)` |\n| 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |\n\n**给 Agent 的硬性要求**\n\n1. 命中 `insufficient_balance` → 明确告诉用户算力不足，并给出充值入口\n   <https://dlazy.com/dashboard/organization/settings?tab=credits>\n2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>\n   取 key，用 `dlazy auth set <key>` 存好再继续。\n3. 用 `gen.mjs` 时，429 与 5xx 已自动重试；仍失败才向用户报错。\n4. **不要**为了「跑通」而偷偷降级参数（尺寸、档位、批量），先问用户。\n\nFile v1.0.13:scripts/lib/tasks.json\n\n{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-video-ad\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"ugc-testimonial\":         { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true }\r\n  }\r\n}\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\n从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and commerce content teams use this skill to generate creative scene images from text prompts and optional reference images. It supports product and brand-style image ideation, plus targeted edits such as model, pose, and outfit changes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and optional reference images may be sent to cloud image-generation providers.\n\nMitigation: Use only approved providers for private, regulated, or sensitive images and avoid uploading sensitive reference photos unless that provider is authorized for the data.\n\nRisk: Generated product or lifestyle imagery can be mistaken for real photography or actual product use.\n\nMitigation: Review generated assets before publication and avoid using the skill to fabricate product evidence or misleading usage claims.\n\nRisk: CLI setup may require provider credentials or local configuration.\n\nMitigation: Use pinned or trusted CLI installation commands and rotate or revoke provider keys according to the selected provider's credential policy.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/creative-scene)\n- [Publisher profile](https://clawhub.ai/user/dlazyai)\n- [Provider CLI reference](references/provider-cli.md)\n- [banana-pro model flags](references/model-flags.md)\n- [dLazy CLI](https://github.com/dlazy-ai/cli)\n- [Example output image](https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with prompt templates, command examples, and configuration notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill guides cloud image-generation calls that can save generated image files through the selected provider CLI.]\n\n## Skill Version(s):\n\n1.0.13 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.13:examples/brand.yaml\n\n# ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成，不要直接改这里。\r\n# 店铺品牌视觉规范 —— 所有生图技能读这一份，保证几百个 SKU 看起来像同一家店。\r\n#   node scripts/brand.mjs --brand brand.yaml --for flat-lay\r\n#   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'\r\n\r\nbrand:\r\n  name: 示例品牌\r\n  # 一句话概括调性，会原样进 prompt\r\n  tone: quiet minimalist, warm and lived-in, never glossy or commercial\r\n\r\nmodel:\r\n  # 锁模特：给一张脸的参考图，所有技能都会把它作为最后一张参考图传入\r\n  reference: assets/model/face-a.jpg\r\n  description: East Asian woman, late twenties, natural makeup, shoulder-length black hair\r\n  body: slim, height around 168cm\r\n\r\nphotography:\r\n  background: seamless off-white studio backdrop, RGB 248 248 246\r\n  lighting: soft large softbox from camera left, gentle fill, no hard shadows\r\n  camera: 85mm equivalent, eye level, shallow depth of field\r\n  grade: neutral white balance around 5200K, low contrast, slightly lifted blacks\r\n  crop: full body with headroom, product centered\r\n\r\nlayout:\r\n  # 给带排版的技能（主图 / 详情页）用\r\n  margin: at least 8% empty margin on all sides\r\n  typeface: clean sans-serif, no decorative fonts\r\n  text_color: near-black on light background\r\n\r\nforbid:\r\n  - no visible brand logos other than the product's own\r\n  - no text or watermark\r\n  - no exaggerated poses or dramatic wind effects\r\n  - no oversaturated colors\r\n\r\n# 可选：把这些直接写进合规目标，生成时就按平台要求出图\r\ncompliance:\r\n  platform: amazon\n\nArchive v1.0.12: 11 files, 25862 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2280b), SKILL.md (12236b), _meta.json (134b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: creative-scene\nversion: 1.0.12\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例：`把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变` / `把模特的鞋子变成深棕色8孔马丁靴，硬朗帅气风，保持其他不变`\n\n---\n\n## 4、工具调用\n\n本技能使用 dLazy 的 **`banana-pro`**（高质量文生图模型，可选带参考图；擅长细节主视觉、商品图与品牌风格图像，适合从零造图这一主场景）。\n\n### 调用方式\n\n两种等价写法，选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本：\n\n```bash\n# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg\n```\n\n**参数约定（本技能固定用法）**\n\n| 参数 | 取值 | 理由 |\n| --- | --- | --- |\n| `--images` | 留空（纯文生图）/ `[参考图]`（定向修改，最多 14 张） | 改模特/姿势/搭配时才需要 |\n| `--aspectRatio` | `3:4`（电商与种草竖版）/ `1:1` / `9:16`（短视频封面） | 电商竖版为主 |\n| `--imageSize` | `1K` 草稿探索 / `2K` 上架 / `4K` 大图与印刷 | 探索阶段用 1K 省成本 |\n| `--batch` | `4`（探索期）/ `1`（已定稿） | 文生图靠量取优 |\n| `--save` | `docs/creative-scene/output-<主题>.jpg` | 按主题归档 |\n\n> **英文 vs 中文 prompt**：场景与氛围类描述中英文都可以；但**服装的材质与工艺细节用英文更稳定**。定向修改模板用中文即可（第四节的句式实测有效）。\n\n### Command Examples\n\n```bash\n# basic call: 纯文生图\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, photorealistic, no text.' \\\n  --aspectRatio 3:4 --imageSize 2K\n\n# complex call: 探索期一次出 4 张 1K 草稿，定稿后再出 2K\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 1K \\\n  --batch 4 --save docs/creative-scene/draft.jpg\n\n# 定向修改：改姿势（带参考图）\ndlazy banana-pro \\\n  --prompt '将姿势改为侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓。保持完全相同的拍摄角度、面部结构、肤色和体型。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-pose-side.jpg\n\n# 定向修改：改搭配\ndlazy banana-pro \\\n  --prompt '把模特的上衣变成黑色高领修身打底衫，冬季百搭款，保持其他不变。' \\\n  --images docs/creative-scene/example-output.jpg \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/output-swap-top.jpg\n\n# 先估价不真跑\ndlazy banana-pro --dry-run --prompt '...' --aspectRatio 3:4 --imageSize 2K\n```\n\n### 延伸阅读\n\n| 要查什么 | 去哪 |\n| --- | --- |\n| 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |\n| `banana-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |\n| 统一入口的全部选项 | `node scripts/gen.mjs --help` |\n\n## 5、Prompt 模板\n\n**纯文生图**（五槽位公式）：\n\n```text\n[人物]，穿着[穿着描述]，在[场景描述]，[视角/景别]，[氛围/影调]，\nphotorealistic, [镜头语言：shot on 85mm, shallow depth of field], no text, no \n\nArchive v1.0.11: 11 files, 25841 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2248b), SKILL.md (12236b), _meta.json (134b)\n\nArchive v1.0.10: 11 files, 25876 bytes\n\nFiles: examples/brand.yaml (1655b), references/model-flags.md (1938b), references/provider-cli.md (4802b), scripts/brand.mjs (4516b), scripts/gen.mjs (9733b), scripts/lib/miniyaml.mjs (2901b), scripts/lib/providers.mjs (12510b), scripts/lib/tasks.json (3234b), skill-card.md (2215b), SKILL.md (12236b), _meta.json (134b)","readmeExcerpt":"Skill: 创意生图 Creative Scene Owner: dlazyai Summary: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Tags: latest:1.0.19 Version history: v1.0.19 | 2026-10-10T01:48:30.396Z | user 例行版本更新 2026-10-10 v1.0.18 | 2026-10-08T01:41:08.055Z | user 例行版本更新 2026-10-08 v1.0.17 | 2026-10-04T01:41:29.342Z | user 例行版本更新 2026-10-04 v1.0.16 | 2026-10-02T05:14:45.101Z | user 例行版本更新 2026-10-02 v1.0.15 | 2026-09","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"dlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg"},{"language":"text","snippet":"一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘"},{"language":"text","snippet":"将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。"},{"language":"text","snippet":"将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。"},{"language":"text","snippet":"把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变"},{"language":"bash","snippet":"# A. 统一入口（推荐）：可切任意后端，加 --dry-run 不计费空跑\nnode scripts/gen.mjs --task creative-scene \\\n  --prompt '<见下方 Prompt 模板>' \\\n  --images <按下表顺序> \\\n  --save output/creative-scene-<sku>.jpg\n\n# B. 直接用 dLazy CLI（不想引入 Node 依赖时，效果等价）\ndlazy banana-pro --prompt '...' --images ... --save output/creative-scene.jpg"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: creative-scene\nversion: 1.0.19\ndescription: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。\n---\n\n# creative-scene — 输入想象中的画面自由创作图片\n\n**一句话造一张图**。没有素材也能开工——描述人物、穿着、场景、视角，直接出图。\n\n本技能同时收录了一套**可直接复制的指令模板**：改模特、改姿势、改搭配——这些是所有其他技能的通用零件。\n\n---\n\n## 生成效果示例\n\n本技能不需要输入素材——只有一句描述。\n\n实际执行的命令：\n\n```bash\ndlazy banana-pro \\\n  --prompt 'A long-haired young Asian woman wearing a white puff-sleeve lace midi dress, sitting at a marble table inside a French-style cafe, fresh flowers and pastries arranged on the table, warm white colour grading, soft window light, front three-quarter view, waist-up framing, atmospheric editorial portrait, photorealistic, shot on 85mm, shallow depth of field, no text, no watermark.' \\\n  --aspectRatio 3:4 --imageSize 2K \\\n  --save docs/creative-scene/example-output.jpg\n```\n\n对应的五槽位拆解：\n\n| 槽位 | 内容 |\n| --- | --- |\n| 人物 | `a long-haired young Asian woman` |\n| 穿着 | `white puff-sleeve lace midi dress` |\n| 场景 | `marble table inside a French-style cafe, fresh flowers and pastries` |\n| 视角/景别 | `front three-quarter view, waist-up framing` |\n| 氛围/影调 | `warm white colour grading, soft window light, atmospheric editorial` |\n\n**输出**\n\n<img src=\"https://raw.githubusercontent.com/dlazy-ai/ecommerce-skills/main/docs/creative-scene/example-output.jpg\" width=\"320\">\n\n`example-output.jpg` — 3:4 / 2K，18 credits。人物、穿着、法式咖啡馆场景、三分之三正面半身景别与暖白影调全部按描述落位。\n\n这张图可以直接作为后续定向修改的输入——例如接 `把模特的上衣变成黑色高领修身打底衫，保持其他不变` 换搭配。\n\n---\n\n## 1、能力边界\n\n| 模式 | 说明 |\n| --- | --- |\n| 纯文生图 | 只给描述，凭空造图 |\n| 参考图 + 描述 | 带一张图做定向修改（改模特 / 改姿势 / 改搭配） |\n\n| 词库分类 | 说明 |\n| --- | --- |\n| 室内 / 室外 / 居家 / 街道 | 场景类 |\n| 半身 / 全身 / 特写 | 景别类 |\n| 场景图 | 完整场景氛围 |\n| 改模特 / 改姿势 / 改搭配 | 定向修改类（见第三节） |\n\n**不做**：不生成特定真人的肖像；不生成未成年人的不当内容；不用于伪造商品实拍与使用体验。\n\n---\n\n## 2、描述公式\n\n官方给的参考形式是：**人物 + 穿着，场景氛围，图片视角**。\n\n```text\n一个长发小女孩穿灰色打底裤和长款羽绒服白色雪地靴，咖啡店圣诞，全身正面\n └── 人物 ──┘└──────── 穿着 ────────┘  └── 场景 ──┘ └─ 视角 ─┘\n```\n\n拆成五个槽位，缺哪个补哪个：\n\n| 槽位 | 例子 |\n| --- | --- |\n| 人物 | `长发女生` `卷毛非洲小女孩` `35 岁商务男性` `混血模特` |\n| 穿着 | `白色泡泡袖蕾丝连衣裙` `军绿麻花毛衣 + 米白阔腿裤 + 白色运动鞋` |\n| 场景 | `法式装修风的咖啡店内，鲜花布置` `新疆草原，身后有草原动物` `T台走秀` |\n| 视角/景别 | `全身正面` `半身侧面` `下半身图` `颈部特写` `半身背面转头` |\n| 氛围/影调 | `明亮的暖白色调，氛围感` `复古色调，写真` `冷色光，明亮色调` |\n\n**电商向的经验**：`写真`、`氛围感`、`明亮的暖白色调` 这类词能显著提升出图的商业可用度；`全身正面` / `半身侧面` 这类明确的景别词能大幅降低构图返工。\n\n---\n\n## 3、三类定向修改模板（可直接复制）\n\n带参考图时，用下面的句式做定向修改。**共同点：都以「保持其余不变」结尾**——这是不跑偏的关键。\n\n**改模特**\n\n```text\n将主体改为一个[年龄]岁的[种族][性别][职业类型]模特，她/他有着[五官特征]、[发型]、[肤色]。\n保持相同的服装、姿势和背景。\n```\n\n细分维度也可以单独改：\n\n| 维度 | 模板 |\n| --- | --- |\n| 肤色 | `将肤色改为[浅色/浅桃色/温暖的香槟色/蜜色/可可色]。保持原有的面部结构、种族特征、所有面部特征的大小和位置、身体姿态、体型以及光照条件完全不变。` |\n| 身材 | `将身材改为[苗条/丰满/稍微丰满/肌肉型]。保持主体完全不变，只改变身材。` |\n| 发型 | `将发型改为[双麻花辫/凌乱的丸子头/长发大波浪/低马尾/精灵短发/寸头/背头]。保持角色与背景的一致性，同时保留相同的面部特征、姿势和表情。` |\n| 五官 | `将[瞳孔颜色/唇色/眉毛/睫毛/腮红]改为[具体描述]。保持角色与背景的一致性，同时保留相同的姿势和表情。` |\n\n**改姿势**\n\n```text\n将姿势改为[姿势描述]。保持完全相同的拍摄角度、面部结构、肤色和体型。\n```\n\n常用姿势：`正面站立，双臂自然下垂` / `以自然的步伐朝相机方向走来` / `侧身站立，上半身朝向相机扭转，双手放在背后以展示腰线和侧面轮廓` / `背对镜头站立，回头看向肩膀` / `像模特一样走在T台中间的步伐，一脚向前并扭动臀部` / `坐在地板上，向后倾，用双手在身后支撑身体`\n\n**改搭配**\n\n```text\n把模特的[上衣/下装/鞋子/配饰]变成[具体描述]，保持其他不变\n```\n\n例："},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"creative-scene\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1791596910396\n}"},{"path":"references/model-flags.md","content":"# `banana-pro` 参数清单\r\n\r\n本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个，\r\n这份清单在需要用到非常规参数时再看。\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy banana-pro` command to get results.\r\n\r\n```bash\r\ndlazy banana-pro -h\r\n\r\nOptions:\r\n  --prompt <prompt>            Prompt\r\n  --images [images...]         Images [image: url or local path] (max 14)\r\n  --aspectRatio <aspectRatio>  Aspect Ratio [default: auto] (choices: \"auto\",\r\n                               \"1:1\", \"4:3\", \"3:4\", \"16:9\", \"9:16\", \"21:9\")\r\n  --imageSize <imageSize>      Image Size [default: 1K] (choices: \"1K\", \"2K\",\r\n                               \"4K\")\r\n  --dry-run                    Print payload without executing the tool\r\n  --no-wait                    Return generateId immediately for async tasks\r\n  --timeout <seconds>          Max seconds to wait for async completion\r\n                               (default: \"1800\")\r\n  --input <jsonOrFile>         Inline JSON or @path/to/file.json — merged under\r\n                               flag values (flags win)\r\n  --save <path>                Download the result asset to this local path\r\n                               (mkdir + retry handled for you). A destination\r\n                               path — NOT a response format; for stdout shape\r\n                               use --format\r\n  --batch <n>                  Fan-out N parallel runs (cloud tools only)\r\n                               (default: \"1\")\r\n  -h, --help                   display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n---\r\n\r\n换其他后端时参数由 `scripts/gen.mjs` 统一翻译，见 [`provider-cli.md`](provider-cli.md)。"},{"path":"references/provider-cli.md","content":"<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成，不要直接改这里。 -->\n# 后端调用参考\n\n技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里，\n**用到时再读**，不占技能的常驻上下文。\n\n---\n\n## 一、认证\n\n### 默认后端 dLazy\n\n```bash\ndlazy login            # 设备码流程，远程 shell 也能用，自动写入本地配置\ndlazy auth set <KEY>   # 已有 key 时直接写入\n```\n\nkey 存在用户配置目录（macOS/Linux `~/.dlazy/config.json`，Windows `%USERPROFILE%\\.dlazy\\config.json`），\n权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。\n\n手动获取：登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。\nkey 按组织隔离，可随时轮换或吊销。\n\n### 其他后端\n\n本技能库不锁定单一厂商。配好任意一家的 key 即可跑：\n\n| 后端 | 环境变量 | 说明 |\n| --- | --- | --- |\n| `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认，最省事 |\n| `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |\n| `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |\n| `fal` | `FAL_KEY` | |\n| `replicate` | `REPLICATE_API_TOKEN` | |\n| `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟，模型 ID 需按开通情况填 |\n\n选路优先级：`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。\n\n```bash\nnode scripts/gen.mjs --doctor     # 看当前哪个后端可用\n```\n\n各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /\n`GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变，以各家最新文档为准。**\n\n---\n\n## 二、两种调用方式\n\n### 方式 A：统一入口（推荐）\n\n```bash\nnode scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg\n```\n\n它负责：后端选路、默认尺寸档位、失败重试（429/5xx 指数退避）、落盘建目录、成本估算。\n\n```bash\nnode scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费，只看要发什么\nnode scripts/gen.mjs --help\n```\n\n### 方式 B：直接用 dLazy CLI\n\n不想引入 Node 依赖时，技能正文里的 `dlazy ...` 命令可以原样执行，效果等价。\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>     # 不装全局二进制\n```\n\n- CLI 源码：[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`\n\n---\n\n## 三、数据流向\n\n调用 dLazy 时：提示词与参数发往 `api.dlazy.com`；传入的本地图片会上传到 `files.dlazy.com`\n供模型读取；产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。\n换成其他后端时，数据流向对应厂商，不经过 dLazy。\n\n---\n\n## 四、输出结构\n\n`gen.mjs`（加 `--json`）：\n\n```json\n{\n  \"ok\": true,\n  \"task\": \"flat-lay\",\n  \"provider\": \"dlazy\",\n  \"model\": \"gpt-image-2\",\n  \"files\": [\"docs/flat-lay/output-sku001.jpg\"],\n  \"texts\": [],\n  \"estimatedCredits\": 60,\n  \"elapsedMs\": 58213\n}\n```\n\ndLazy CLI 原生：\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gpt-image-2\",\n    \"data\": { \"urls\": [\"https://files.dlazy.com/data/ai/....jpg\"] },\n    \"savedPath\": \"docs/flat-lay/example-output.jpg\"\n  }\n}\n```\n\n加 `--no-wait` 的异步任务不返回 `data`，返回 `task: { generateId, status }`，\n用 `dlazy status <generateId> --wait` 轮询。\n\n文本类模型（如质检）产出在 `result.data.texts[0]`：\n\n```bash\ndlazy claude-sonnet-5 --prompt '...' --images x.jpg \\\n  | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"result\"][\"data\"][\"texts\"][0])'\n```\n\n---\n\n## 五、错误处理\n\n| Code | 类型 | 示例 |\n| --- | --- | --- |\n| 401 | 未授权 / 无 key | `ok: false, code: \"unauthorized\"` |\n| 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |\n| 502 | 本地文件读不到 | `Error: Image file not found: ...` |\n| 503 | 余额不足 | `ok: false, code: \"insufficient_balance\"` |\n| 503 | 服务端错误 | `HTT"},{"path":"scripts/lib/tasks.json","content":"{\r\n  \"_note\": \"技能 → 默认模型与参数。dlazy 列为默认后端的模型名；其他后端走 providers.mjs 的通用映射，可用 GEN_MODEL_<PROVIDER> 覆盖。\",\r\n  \"_credits\": { \"gpt-image-2\": 60, \"seedream-5.0\": 30, \"seedream-5.0-pro\": 45, \"banana-pro\": 25, \"claude-sonnet-5\": 3 },\r\n  \"tasks\": {\r\n    \"flat-lay\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"wear-everything\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"image-fusion\":            { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"one-shot\":                { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"fission-pattern\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-detail\":             { \"model\": \"seedream-5.0-pro\", \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"creative-scene\":          { \"model\": \"banana-pro\",       \"size\": \"1024x1536\", \"format\": \"jpeg\" },\r\n    \"batch-image\":             { \"model\": \"seedream-5.0\",     \"size\": \"3:4\",       \"resolution\": \"2k\" },\r\n    \"to-3d\":                   { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-extraction\":     { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"fabric-on-body\":          { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-detail\":         { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"clothing-grass-planting\": { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"medium\", \"format\": \"jpeg\" },\r\n    \"item-selling-point\":      { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"item-change-background\":  { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"remove-watermark\":        { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"material-enhancement\":    { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"item-repair\":             { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"detect-task\":             { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"listing-optimizer\":       { \"model\": \"gpt-image-2\",      \"size\": \"1024x1024\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"cross-border-localize\":   { \"model\": \"seedream-5.0-pro\", \"size\": \"1:1\",       \"resolution\": \"2k\" },\r\n    \"brand-kit\":               { \"model\": \"gpt-image-2\",      \"size\": \"1024x1536\", \"quality\": \"high\",   \"format\": \"jpeg\" },\r\n    \"platform-compliance\":     { \"model\": \"claude-sonnet-5\",  \"text\": true },\r\n    \"main-image-video\":        { \"model\": \"$DLAZY_VIDEO_MODEL\", \"video\": true },\r\n    \"product-"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Skill: 创意生图 Creative Scene Owner: dlazyai Summary: 从零创意生图，也可定向改模特、姿势、搭配。一句描述（可选参考图）→ 图。当用户说「创意生图」「生成一张」「改个姿势」「换模板」「随便来张图」时使用。 Tags: latest:1.0.19 Version history: v1.0.19 | 2026-10-10T01:48:30.396Z | user 例行版本更新 2026-10-10 v1.0.18 | 2026-10-08T01:41:08.055Z | user 例行版本更新 2026-10-08 v1.0.17 | 2026-10-04T01:41:29.342Z | user 例行版本更新 2026-10-04 v1.0.16 | 2026-10-02T05:14:45.101Z | user 例行版本更新 2026-10-02 v1.0.15 | 2026-09","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":962,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T20:41:33.285Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:45:49.595Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}