{
  "id": "fashion-clip",
  "identity": {
    "family": "fashion-clip",
    "display_name": "FashionCLIP (2.0)",
    "hub_id": "patrickjohncyh/fashion-clip",
    "api_name": null,
    "revision": null,
    "variants": [],
    "license": "MIT",
    "commercial_use": true,
    "commercial_use_note": "MIT license on the repo and weights.",
    "release_date": "2023-02",
    "paper_url": "https://www.nature.com/articles/s41598-022-23052-9",
    "repo_url": "https://github.com/patrickjohncyh/fashion-clip"
  },
  "task": {
    "category": "embedding",
    "modalities_in": [
      "image",
      "text"
    ],
    "modalities_out": [
      "vector"
    ],
    "best_at": "Product attributes in fashion catalogs: garment type, color, pattern, material, style words.",
    "worst_at": "General scenes, people in context, and anything outside apparel; English only."
  },
  "io": {
    "input": {
      "image": {
        "resolution": "224x224",
        "color": "RGB",
        "normalize": "CLIP mean (0.4815, 0.4578, 0.4082), std (0.2686, 0.2613, 0.2758)"
      },
      "text": {
        "max_tokens": 77
      },
      "prompts": "product-style captions, e.g. 'a red midi dress with floral print'"
    },
    "output": {
      "vector": {
        "dims": 512,
        "distance": "cosine",
        "type": "dense"
      },
      "note": "image and text vectors share one space; L2-normalize before cosine"
    }
  },
  "mixpeek_wiring": {
    "extractors": [],
    "feature_uris": [],
    "vector_indexes": [],
    "retriever_stages": [
      "feature_search",
      "mmr"
    ],
    "composes_with": [
      "product images -> FashionCLIP vectors -> feature_search with attribute filters on price and brand",
      "detector person boxes -> garment crops -> FashionCLIP vectors"
    ]
  },
  "run": {
    "status": "plugin",
    "status_reason": "Not served. Would run as a custom extractor plugin (engine/extractors/<name>/v1/ with realtime.py for query embedding), loading safetensors with trust_remote_code false.",
    "serve_apps": [],
    "runtime": "transformers CLIPModel + CLIPProcessor (ViT-B/32 backbone, LAION base for 2.0)",
    "weights_format": "safetensors",
    "trust_remote_code": false,
    "size_on_disk_mb": 605,
    "params_millions": 151,
    "preprocessing": "Resize and center-crop to 224, CLIP mean/std; text to 77 tokens.",
    "postprocessing": "L2-normalize; cosine similarity.",
    "serving_shape": "both",
    "batch_size": 32,
    "serve_batch": null,
    "scale_to_zero": {
      "min_replicas": 0,
      "max_replicas": 1,
      "idle_timeout_s": 600,
      "memory_gb": 2,
      "num_cpus": 1,
      "num_gpus": 0,
      "cold_start_s": {
        "warm_node_s": null,
        "new_node_s": null,
        "source": null
      },
      "cpu_fallback": true
    }
  },
  "cost": {
    "unmeasured": true,
    "measured": null,
    "note": "No committed measurement; plan row 3 measures it in the standalone image."
  },
  "evidence": {
    "unmeasured": true,
    "items": []
  },
  "refs": [
    "hf://patrickjohncyh/fashion-clip@7e3ba62ce16b379a1ab479346b66f192e76f51b7"
  ],
  "formats": [
    {
      "ref": "hf://patrickjohncyh/fashion-clip@7e3ba62ce16b379a1ab479346b66f192e76f51b7",
      "format": "safetensors",
      "file": "model.safetensors",
      "loader": "transformers / open_clip from_pretrained; Mixpeek Hub import (api/models/huggingface.py)",
      "supported_today": true
    },
    {
      "ref": "hf://patrickjohncyh/fashion-clip@7e3ba62ce16b379a1ab479346b66f192e76f51b7",
      "format": "onnx",
      "file": "onnx/model.onnx",
      "loader": "onnxruntime; Mixpeek model upload (api/models/loadability.py, ONNX IR <= 11)",
      "supported_today": true
    },
    {
      "ref": "hf://patrickjohncyh/fashion-clip@7e3ba62ce16b379a1ab479346b66f192e76f51b7",
      "format": "pytorch_bin",
      "file": "pytorch_model.bin",
      "loader": "torch.load (pickle); Mixpeek refuses pickle weights (shared/security/torch_pickle.py)",
      "supported_today": false
    }
  ],
  "use_cases": [
    "fashion",
    "product-search",
    "visual-search"
  ],
  "recommended": {
    "value": false,
    "for": [],
    "reason": null
  },
  "demos": [],
  "seo": {
    "title": "FashionCLIP (2.0): embedding model",
    "description": "FashionCLIP (2.0) is a image and text embedding model (MIT). Can run on Mixpeek as a custom plugin.",
    "keywords": [
      "FashionCLIP (2.0)",
      "fashion-clip",
      "embedding",
      "patrickjohncyh/fashion-clip",
      "fashion",
      "product-search",
      "visual-search"
    ],
    "faqs": [
      {
        "q": "What is FashionCLIP (2.0) best at?",
        "a": "Product attributes in fashion catalogs: garment type, color, pattern, material, style words."
      },
      {
        "q": "What are the limits of FashionCLIP (2.0)?",
        "a": "General scenes, people in context, and anything outside apparel; English only."
      },
      {
        "q": "Can FashionCLIP (2.0) be used commercially?",
        "a": "Yes. MIT license on the repo and weights."
      },
      {
        "q": "How does FashionCLIP (2.0) run on Mixpeek?",
        "a": "Not served. Would run as a custom extractor plugin (engine/extractors/<name>/v1/ with realtime.py for query embedding), loading safetensors with trust_remote_code false."
      },
      {
        "q": "What does FashionCLIP (2.0) output?",
        "a": "A 512-dimensional dense vector, compared by cosine similarity."
      }
    ]
  },
  "last_verified": "2026-11-05",
  "sources": [
    "https://huggingface.co/patrickjohncyh/fashion-clip",
    "https://www.nature.com/articles/s41598-022-23052-9",
    "https://github.com/patrickjohncyh/fashion-clip"
  ],
  "registry": null,
  "templates": [],
  "usage": {
    "namespaces": null,
    "collections": null,
    "uncounted": true,
    "templates": 0,
    "counted_at": null,
    "source": null
  },
  "facets": {
    "status": "plugin",
    "category": "embedding",
    "family": "fashion-clip",
    "license": "MIT",
    "commercial_use": true,
    "modalities_in": [
      "image",
      "text"
    ],
    "modalities_out": [
      "vector"
    ],
    "use_cases": [
      "fashion",
      "product-search",
      "visual-search"
    ],
    "recommended": false,
    "release_date": "2023-02",
    "params_millions": 151,
    "size_on_disk_mb": 605,
    "vector_dims": 512,
    "vector_distance": "cosine",
    "weights_format": "safetensors",
    "formats": [
      "onnx",
      "pytorch_bin",
      "safetensors"
    ],
    "loadable_today": true,
    "trust_remote_code": false,
    "cpu_fallback": true,
    "num_gpus": 0,
    "memory_gb": 2,
    "min_replicas": 0,
    "serving_shape": "both",
    "served": false,
    "ref_schemes": [
      "hf"
    ],
    "has_evidence": false,
    "cost_measured": false,
    "template_count": 0,
    "usage_namespaces": null,
    "usage_collections": null,
    "usage_uncounted": true,
    "has_demo": false,
    "rank_score": 1
  },
  "rank_score": 1
}
