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
آخر نشاط في المصدر
١٢ يوليو ٢٠٢٦ في ٠٥:٠٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٤
التفرعات
٠

خيارات التثبيت

يُحدَّد 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