# Send Morpheus Fashion Design to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "morpheus-fashion-design",
    "name": "Morpheus Fashion Design",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/PauldeLavallaz/morpheus-fashion-design",
    "canonicalUrl": "https://clawhub.ai/PauldeLavallaz/morpheus-fashion-design",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/morpheus-fashion-design",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=morpheus-fashion-design",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/generate.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/morpheus-fashion-design"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/morpheus-fashion-design",
    "downloadUrl": "https://openagent3.xyz/downloads/morpheus-fashion-design",
    "agentUrl": "https://openagent3.xyz/skills/morpheus-fashion-design/agent",
    "manifestUrl": "https://openagent3.xyz/skills/morpheus-fashion-design/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/morpheus-fashion-design/agent.md"
  }
}
```
## Documentation

### Morpheus Fashion Design

Generate professional fashion/product advertising images using ComfyDeploy's Morpheus Fashion Design workflow.

### 1. NO logo field — EVER

The logo input has been removed from the API. Do NOT pass it.
Only two image inputs exist:

product → the product being advertised
model → frontal face photo of the model

### 2. NEVER USE AUTO VALUES for packs

Configuration packs MUST NEVER be left on auto or AUTO.

auto = empty values = neutral, boring images with no creative direction.

Always select deliberately based on the brief. Custom string values are allowed and encouraged.

### Pack Selection Guidelines

PackHow to Choosestyle_packBrand personality: luxury→premium_restraint, sports→cinematic_realism, street→street_authenticcamera_packSports→sony_a1, editorial→hasselblad_x2d, street→leica_m6lens_packPortrait compression? Wide? Match shot type and moodlighting_packGolden hour? Studio? Natural window? Match briefpose_discipline_packSport action→sport_in_motion, commercial→commercial_front_facing, UGC→street_style_candid_walkfilm_texture_packWarm editorial→kodak_portra_400, cinematic→kodak_vision3_500t, clean→digital_clean_no_emulationenvironment_packbeach_minimal, urban_glass_steel, street_crosswalk — or custom stringcolor_science_packwarm_golden_editorial, neutral_premium_clean, cinematic_low_contrasttime_weather_packgolden_hour_clear, bright_midday_sun, overcast_winter_daylight

### API Details

Endpoint: https://api.comfydeploy.com/api/run/deployment/queue
Deployment ID: 1e16994d-da67-4f30-9ade-250f964b2abc

### Canonical API Call

const response = await fetch("https://api.comfydeploy.com/api/run/deployment/queue", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    "deployment_id": "1e16994d-da67-4f30-9ade-250f964b2abc",
    "inputs": {
      "product": "/* product image URL */",
      "model":   "/* model face URL */",
      "brief":   "Detailed scene, pose, lighting, mood, product placement...",
      "target":  "Target audience: demographics, psychographics, lifestyle...",
      "input_seed": -1,
      "branding_pack": "logo_none",
      "aspect_ratio": "9:16",
      "style_pack": "street_authentic",
      "camera_pack": "sony_a1",
      "lens_pack": "zeiss_otus_55",
      "film_texture_pack": "kodak_portra_400",
      "color_science_pack": "warm_golden_editorial",
      "shot_pack": "medium_shot",
      "pose_discipline_pack": "street_style_candid_walk",
      "lighting_pack": "natural_window",
      "time_weather_pack": "golden_hour_clear",
      "environment_pack": "urban_glass_steel",
      "intent": "awareness"
    }
  })
});

### 🎭 Model Catalog

GitHub: https://github.com/PauldeLavallaz/model_management
Local path: ~/clawd/models-catalog/catalog/images/

### Priority order

User provides model image → use directly
User describes model → search catalog, select best match
No specification → choose based on brief context

### Searching

# By body type
cat models-catalog/catalog/catalog.json | python3 -c "
import json,sys; data=json.load(sys.stdin)
for t in data['talents']:
    if t.get('body_type') in ['curvy','plus_size']:
        print(t['id'], t['name'], t['ethnicity'])
"
# By ethnicity + gender
cat models-catalog/catalog/catalog.json | jq '[.talents[] | select(.ethnicity == "hispanic" and .gender == "female") | {id, name, body_type}]'

### Creative Brief — How to Write It

Write it as a real photography director's brief — specific, physical, cinematic:

### Example: CasanCrem Light (ironic/viral UGC angle)

Campaña UGC TikTok para CasanCrem Light La Serenísima.
Joven de contextura robusta sostiene el pote con sonrisa cómplice en cocina hogareña argentina.
Pose relajada, apoyada en la mesada, mirando directo a cámara con energía y complicidad.
El pote visible y protagonista en la mano. Luz de ventana natural, cálida de tarde.
Estilo UGC auténtico, no publicitario clásico. Cuerpo real, relatable, no atlético.

### Example: Oakley Snowboarding

Oakley snowboarding campaign. Rider on metal rail in snowpark, body slightly rotated,
arms open for balance, eyes on the line. Technical authentic freestyle pose.
Alpine snowpark, full midday daylight, compacted snow, metal structures.
Natural sun bouncing off snow — saturated colors, strong contrast.
Documentary approach — freeze rider on rail, sharp body and board.
Real session frame: balance, concentration, style merged.

### Configuration Packs Reference

PackOptionsstyle_packpremium_restraint, editorial_precision, cinematic_realism, cinematic_memory, campaign_hero, product_truth, clean_commercial, street_authentic, archive_fashion, experimental_authorialshot_packfull_body_wide, medium_shot, close_up, low_angle_hero, three_quarter, waist_upcamera_packarri_alexa35, canon_r5, hasselblad_x2d, leica_m6, sony_a1lens_packcooke_anamorphic_i_50, leica_noctilux_50, zeiss_otus_55, wide_distortion_controlledlighting_packgolden_hour_backlit, natural_window, studio_three_point, bright_midday_sunpose_discipline_packcommercial_front_facing, street_style_candid_walk, sport_in_motionfilm_texture_packkodak_portra_400, fujifilm_velvia_50, kodak_vision3_500t, digital_clean_no_emulationcolor_science_packneutral_premium_clean, warm_golden_editorial, cinematic_low_contrastenvironment_packbeach_minimal, urban_glass_steel, street_crosswalk — or custom descriptive stringtime_weather_packgolden_hour_clear, bright_midday_sun, overcast_winter_daylightbranding_packlogo_none ← always unless logo explicitly requestedintentawareness, consideration, conversion, retentionaspect_ratio9:16, 16:9, 1:1, 4:5, 3:4

### Python Upload Helper

def comfy_upload(filepath: str, api_key: str) -> str:
    from pathlib import Path
    import requests
    p = Path(filepath)
    mime = "image/png" if p.suffix == ".png" else "image/jpeg"
    with open(p, "rb") as f:
        r = requests.post(
            "https://api.comfydeploy.com/api/file/upload",
            headers={"Authorization": f"Bearer {api_key}"},
            files={"file": (p.name, f, mime)},
            timeout=60
        )
    r.raise_for_status()
    return r.json()["file_url"]

### Priority Hierarchy

Talent (identity) > Product fidelity > Fit > Pose > Style > Location > Branding

### Troubleshooting

Imagen negra/vacía = filtro de moderación de Google/Gemini activado.

No usar personas famosas o celebridades
Modificar el brief eliminando referencias problemáticas

API Key: NO pasar como parámetro. Ya está configurado en ComfyDeploy.

### Flujo de selección de modelo (actualizado)

El campo model puede venir de dos fuentes:

Opción A — Catálogo (default):

~/clawd/models-catalog/catalog/images/model_XX.jpg

Usar cuando el guión no requiere rasgos muy específicos.

Opción B — Portrait Generator (cuando el guión lo requiere):

portrait-generator → imagen_1 (vista frontal) → model en Morpheus

Usar cuando necesitás: etnia muy específica, edad exacta, rasgos únicos, personaje
que no existe en el catálogo de 114 modelos.

Regla: imagen_1 del Portrait Generator = siempre la vista frontal = la correcta para model.

### Cuándo usar Portrait Generator

Personaje mayor de 60 años
Etnia muy específica no disponible en catálogo
Rasgos físicos únicos (cicatrices, vitiligo, asimetría facial)
Cualquier personaje que el guión describa con detalle

### Cuándo usar el catálogo

Personaje genérico / sin especificaciones
Cualquier modelo joven-adulto estándar
Cuando la velocidad importa más que la precisión
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: PauldeLavallaz
- Version: 1.4.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/morpheus-fashion-design)
- [Send to Agent page](https://openagent3.xyz/skills/morpheus-fashion-design/agent)
- [JSON manifest](https://openagent3.xyz/skills/morpheus-fashion-design/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/morpheus-fashion-design/agent.md)
- [Download page](https://openagent3.xyz/downloads/morpheus-fashion-design)