Skip to main content

undress-design-fashion-ai

AI-powered fashion visualization and virtual try-on toolkit for consent-based garment editing and creative design workflows

설치로 이동

소스 정보

저장소
reason-machines/design-skills
최근 소스 활동
2026년 7월 12일 05:04
감지된 SKILL.md 언어
영어
스타
4
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
undress-design-fashion-ai
description
AI-powered fashion visualization and virtual try-on toolkit for consent-based garment editing and creative design workflows
triggers
["integrate undress design API","use undress.design for virtual try-on","generate fashion visualizations with AI","implement garment replacement with undress design","add virtual styling to my app","create outfit variations using undress design","build consent-based fashion editing","integrate AI fashion visualization"]
# Undress Design Fashion AI Skill > Skill by [ara.so](https://ara.so) — Design Skills collection ## Overview Undress Design is an AI-powered fashion visualization platform for consent-based garment editing, virtual try-on experiences, outfit prototyping, and creative design workflows. It provides API-driven tools for clothing segmentation, garment replacement, style variations, and fashion concept generation. **Key capabilities:** - Virtual garment visualization and try-on - Outfit and style variations - Fashion concept prototyping - Clothing segmentation and masking - Design reference generation - Consent-based image editing workflows **Official platform:** https://undress.design/edit ## Installation ### Web Platform Access Access the platform directly through the web interface: ```bash # Open in browser https://undress.design/edit ``` ### API Integration For programmatic access, integrate via HTTP API: ```javascript // Node.js example const UNDRESS_API_KEY = process.env.UNDRESS_API_KEY; const UNDRESS_API_URL = 'https://api.undress.design/v1'; ``` ```python # Python example import os UNDRESS_API_KEY = os.environ.get('UNDRESS_API_KEY') UNDRESS_API_URL = 'https://api.undress.design/v1' ``` ### Environment Variables Set up required credentials: ```bash # .env file UNDRESS_API_KEY=your_api_key_here UNDRESS_API_URL=https://api.undress.design/v1 ``` ## Core API Operations ### Authentication All API requests require authentication via API key: ```javascript // JavaScript/Node.js const axios = require('axios'); const client = axios.create({ baseURL: process.env.UNDRESS_API_URL, headers: { 'Authorization': `Bearer ${process.env.UNDRESS_API_KEY}`, 'Content-Type': 'application/json' } }); ``` ```python # Python import requests class UndressClient: def __init__(self, api_key, base_url): self.api_key = api_key self.base_url = base_url self.headers = { 'Authorization': f'Bearer {api_key}', 'Content-Type': 'application/json' } def request(self, method, endpoint, **kwargs): url = f"{self.base_url}/{endpoint}" return requests.request(method, url, headers=self.headers, **kwargs) client = UndressClient( api_key=os.environ.get('UNDRESS_API_KEY'), base_url=os.environ.get('UNDRESS_API_URL') ) ``` ### Virtual Try-On Generate virtual try-on visualizations: ```javascript // JavaScript example async function virtualTryOn(imageData, garmentData, options = {}) { try { const response = await client.post('/virtual-tryon', { source_image: imageData, // base64 or URL garment_image: garmentData, // base64 or URL style: options.style || 'realistic', preserve_details: options.preserveDetails || true, consent_verified: true // Required }); return response.data; } catch (error) { console.error('Virtual try-on failed:', error.response?.data || error.message); throw error; } } // Usage const result = await virtualTryOn( 'https://example.com/person.jpg', 'https://example.com/dress.jpg', { style: 'realistic', preserveDetails: true } ); console.log('Generated image:', result.output_url); ``` ```python # Python example def virtual_tryon(image_data, garment_data, **options): """Generate virtual try-on visualization""" payload = { 'source_image': image_data, # base64 or URL 'garment_image': garment_data, # base64 or URL 'style': options.get('style', 'realistic'), 'preserve_details': options.get('preserve_details', True), 'consent_verified': True # Required } response = client.request('POST', 'virtual-tryon', json=payload) response.raise_for_status() return response.json() # Usage result = virtual_tryon( 'https://example.com/person.jpg', 'https://example.com/dress.jpg', style='realistic' ) print(f"Generated image: {result['output_url']}") ``` ### Garment Replacement Replace specific garments in an image: ```javascript // JavaScript async function replaceGarment(sourceImage, targetGarment, region) { const response = await client.post('/garment-replace', { source_image: sourceImage, target_garment: targetGarment, region: region, // 'top', 'bottom', 'full', 'accessories' blend_mode: 'seamless', consent_verified: true }); return response.data; } // Usage const replaced = await replaceGarment( './images/model.jpg', './images/shirt.jpg', 'top' ); ``` ```python # Python def replace_garment(source_image, target_garment, region): """Replace specific garment in image""" payload = { 'source_image': source_image, 'target_garment': target_garment, 'region': region, # 'top', 'bottom', 'full', 'accessories' 'blend_mode': 'seamless', 'consent_verified': True } response = client.request('POST', 'garment-replace', json=payload) return response.json() # Usage replaced = replace_garment( './images/model.jpg', './images/shirt.jpg', 'top' ) ``` ### Style Variations Generate outfit variations and style alternatives: ```javascript // JavaScript async function generateStyleVariations(baseImage, count = 4) { const response = await client.post('/style-variations', { base_image: baseImage, variation_count: count, preserve_pose: true, style_range: 'moderate', // 'subtle', 'moderate', 'bold' consent_verified: true }); return response.data.variations; } // Usage const variations = await generateStyleVariations('./base-outfit.jpg', 6); variations.forEach((variant, idx) => { console.log(`Variation ${idx + 1}: ${variant.url}`); }); ``` ```python # Python def generate_style_variations(base_image, count=4): """Generate outfit variations""" payload = { 'base_image': base_image, 'variation_count': count, 'preserve_pose': True, 'style_range': 'moderate', # 'subtle', 'moderate', 'bold' 'consent_verified': True } response = client.request('POST', 'style-variations', json=payload) return response.json()['variations'] # Usage variations = generate_style_variations('./base-outfit.jpg', count=6) for idx, variant in enumerate(variations, 1): print(f"Variation {idx}: {variant['url']}") ``` ### Clothing Segmentation Segment and mask garments in images: ```javascript // JavaScript async function segmentClothing(image) { const response = await client.post('/segment', { image: image, return_masks: true, categories: ['top', 'bottom', 'dress', 'outerwear', 'accessories'] }); return response.data.segments; } // Usage const segments = await segmentClothing('./photo.jpg'); segments.forEach(segment => { console.log(`Found ${segment.category}: confidence ${segment.confidence}`); console.log(`Mask URL: ${segment.mask_url}`); }); ``` ```python # Python def segment_clothing(image): """Segment and identify garments""" payload = { 'image': image, 'return_masks': True, 'categories': ['top', 'bottom', 'dress', 'outerwear', 'accessories'] } response = client.request('POST', 'segment', json=payload) return response.json()['segments'] # Usage segments = segment_clothing('./photo.jpg') for segment in segments: print(f"Found {segment['category']}: confidence {segment['confidence']}") print(f"Mask URL: {segment['mask_url']}") ``` ## Common Patterns ### E-commerce Virtual Try-On Integration ```javascript // JavaScript - E-commerce integration class FashionVisualization { constructor(apiKey) { this.client = axios.create({ baseURL: process.env.UNDRESS_API_URL, headers: { 'Authorization': `Bearer ${apiKey}` } }); } async customerTryOn(customerPhoto, productId) { // Verify consent if (!this.verifyConsent(customerPhoto)) { throw new Error('Customer consent required'); } // Fetch product image const productImage = await this.getProductImage(productId); // Generate try-on const result = await this.client.post('/virtual-tryon', { source_image: customerPhoto, garment_image: productImage, style: 'photorealistic', consent_verified: true }); return result.data.output_url; } verifyConsent(photo) { // Implement consent verification logic return photo.consent_token !== undefined; } async getProductImage(productId) { // Fetch from product catalog return `https://cdn.example.com/products/${productId}.jpg`; } } // Usage const fashion = new FashionVisualization(process.env.UNDRESS_API_KEY); const tryOnUrl = await fashion.customerTryOn( { url: userPhoto, consent_token: '...' }, 'PROD-12345' ); ``` ### Batch Processing for Design Catalogs ```python # Python - Batch processing import asyncio from typing import List class FashionCatalogProcessor: def __init__(self, api_key): self.client = UndressClient(api_key, os.environ.get('UNDRESS_API_URL')) async def process_catalog(self, model_image: str, garment_urls: List[str]): """Process entire catalog with single model""" results = [] for garment_url in garment_urls: try: result = self.client.request('POST', 'virtual-tryon', json={ 'source_image': model_image, 'garment_image': garment_url, 'style': 'catalog', 'consent_verified': True }) results.append(result.json()) except Exception as e: print(f"Failed for {garment_url}: {e}") results.append(None) return results def save_results(self, results, output_dir): """Save generated images""" import os from urllib.request import urlretrieve os.makedirs(output_dir, exist_ok=True) for idx, result in enumerate(results): if result: filename = f"{output_dir}/tryon_{idx:03d}.jpg" urlretrieve(result['output_url'], filename) print(f"Saved: {filename}") # Usage processor = FashionCatalogProcessor(os.environ.get('UNDRESS_API_KEY')) garments = [ 'https://cdn.example.com/dress1.jpg', 'https://cdn.example.com/dress2.jpg', 'https://cdn.example.com/shirt1.jpg' ] results = processor.process_catalog('./model.jpg', garments) processor.save_results(results, './output') ``` ### Consent Management System ```javascript // JavaScript - Consent workflow class ConsentManager { constructor() { this.consentRecords = new Map(); }
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기