F Fashio Docs
Generation Tools

Clothing E-com Pack

One clothing product photo in, a full set of ready-to-publish formats out — campaign, catalogue, lookbook, e-commerce listing and billboard/social crop, from a single request.

toolId: "clothing_ecom_pack" 12 credits fanout_pack ratio: global (default 1:1)
Clothing product photo turned into a full pack of campaign, catalogue and lookbook formats

What it does

Fan-out tool: one request returns multiple finished images in different formats (campaign, catalogue, lookbook, e-commerce listing, billboard/social crop) from a single clothing product photo — one product photo in, a full set of ready-to-publish formats out.

Request body

FieldTypeDescription
toolIdstringrequiredAlways "clothing_ecom_pack".
images.user_photostringrequiredThe flat/product photo of the clothing item.
images.fashion_modelstringoptionalA catalog ID from GET /v1/fashion-models, or a direct image URL. If given, the pack includes on-model shots; if omitted, product-only compositions.
ratiostringoptionalOne of 1:1, 4:5, 3:4, 9:16, 16:9. Defaults to 1:1.

Example request

curl -X POST https://api.fashiolabs.com/v1/generations \
  -H "Authorization: Bearer fio_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "toolId": "clothing_ecom_pack",
    "images": {
      "user_photo": "https://your-cdn.com/camel-trench.jpg",
      "fashion_model": "fm_south_asian_01"
    },
    "ratio": "4:5"
  }'
const res = await fetch("https://api.fashiolabs.com/v1/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.FASHIO_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    toolId: "clothing_ecom_pack",
    images: {
      user_photo: "https://your-cdn.com/camel-trench.jpg",
      fashion_model: "fm_south_asian_01",
    },
    ratio: "4:5",
  }),
});
const { id } = await res.json();
import os, requests

res = requests.post(
    "https://api.fashiolabs.com/v1/generations",
    headers={"Authorization": f"Bearer {os.environ['FASHIO_API_KEY']}"},
    json={
        "toolId": "clothing_ecom_pack",
        "images": {
            "user_photo": "https://your-cdn.com/camel-trench.jpg",
            "fashion_model": "fm_south_asian_01",
        },
        "ratio": "4:5",
    },
)
job_id = res.json()["id"]

Response

202 Accepted{ "success": true, "id": "8b1e...", "status": "processing" }

Poll GET /v1/generations/:id (see Quickstart) until it completes. This is a fan-out tool, so resultUrls can contain several entries — one per generated format:

200 · completed{ "success": true, "id": "8b1e...", "status": "completed", "resultUrls": [ "https://.../campaign.jpg", "https://.../catalogue.jpg", "https://.../lookbook.jpg", "https://.../ecommerce.jpg" ], "errorMessage": null }

Common errors

StatusMeaning
400clothing_ecom_pack: missing required image "user_photo" — required image field wasn't resolvable.
402Insufficient diamonds. Required 12, have <n>.
429Daily request cap reached for this key — see Rate Limits.