beauty-generation-free

FREE AI portrait generation with 140+ nationalities, diverse styles, professional headshots, character design, and fashion visualization. Fast generation (3-5 seconds), built-in content safety, API key authentication, daily quota management. Perfect for creative projects, character design, professional portraits, and diverse representation.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "beauty-generation-free" with this command: npx skills add beauty-generation-api

🎨 Beauty Generation Free - AI Portrait Generator Skill

Professional AI-Powered Portrait Generation for Character Design, Professional Headshots, and Diverse Representation

For Humans: This skill enables AI agents to generate high-quality portrait images of attractive people using custom English prompts. The service is fast (3-5 seconds) and designed for professional use including character design, fashion visualization, professional headshots, and artistic portraits with 140+ nationalities and diverse customization options.

IMPORTANT SECURITY NOTE: This skill requires you to provide your own API key. Never share your API key with untrusted parties. Your prompts will be sent to gen1.diversityfaces.org for processing.


🎯 Use Cases & Applications

This skill is perfect for:

  • Character Design: Create unique characters for games, stories, and creative projects
  • Professional Headshots: Generate professional portrait photos for business use
  • Fashion Visualization: Create fashion model images for style inspiration
  • Diverse Representation: Generate portraits representing 140+ nationalities and cultures
  • Avatar Creation: Create custom avatars for profiles and applications
  • Artistic Portraits: Generate artistic and cultural portrait photography
  • Creative Projects: Support creative work with AI-generated portrait imagery

✨ Key Features

  • 140+ Nationalities: Support for diverse cultural representation
  • 8 Styles: Pure, Sexy, Classical, Modern, and more
  • 24 Moods/Expressions: Diverse emotional expressions and poses
  • 22 Hair Styles & Colors: Comprehensive hair customization
  • 22 Skin Tones: Inclusive skin tone options
  • 24 Scene Backgrounds: Various environments and settings
  • Professional Clothing: Traditional and modern clothing options
  • Fast Generation: 3-5 seconds from request to image
  • Multiple Formats: WebP, PNG, JPEG with quality control
  • Content Safety: Built-in safety filters for appropriate content
  • API Key Authentication: Secure access with usage tracking
  • Daily Quota Management: Control usage with daily limits
  • Asynchronous Processing: Queue-based generation system
  • Format Conversion: Automatic image format conversion
  • Quality Control: Adjustable compression and quality settings

⚙️ Quick Start

Step 1: Get Your Free API Key

  1. Visit: https://gen1.diversityfaces.org/api-key-request
  2. Fill in: Username, Email, Country
  3. Get your API key instantly (auto-approval enabled)
  4. ⚠️ IMPORTANT: Save your API key securely - you'll need it for every API call
  5. Keep your API key private and never share it

Step 2: Check Your Daily Quota

Before making API calls, check your remaining quota:

# Check your API key quota (does NOT consume quota)
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/quota

Response example:

{
  "success": true,
  "quota": {
    "key_name": "My API Key",
    "total_calls": 45,
    "remaining_calls": 955,
    "daily_limit": 1000,
    "daily_calls_today": 45,
    "note": "remaining_calls: -1 means unlimited, daily_limit: -1 means unlimited"
  }
}

Understanding your quota:

  • remaining_calls: Total calls left on your key (-1 = unlimited)
  • daily_limit: Maximum calls per day (resets every 24 hours)
  • daily_calls_today: Calls made today (resets after 24 hours)
  • ⚠️ If daily_calls_today >= daily_limit, you cannot make more calls until tomorrow

Step 3: Using Your API Key

Once you have your API key and confirmed your quota, use curl to generate images:

# Step 1: Submit generation request
# Replace YOUR_API_KEY with your actual API key
curl -X POST https://gen1.diversityfaces.org/api/generate/custom \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"full_prompt": "A beautiful woman with long hair", "width": 1024, "height": 1024}'

# Step 2: Poll status - use the "prompt_id" from step 1
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID

# Step 3: Download image (replace FILENAME with the filename from step 2)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://gen1.diversityfaces.org/api/image/FILENAME?format=webp" \
  -o beauty.webp

System Requirements:


🤖 AI AGENT INSTRUCTIONS

⚡ Recommended Workflow: User-Created Local Scripts

For optimal performance and token efficiency, users can create local scripts to automate image generation.

Why local scripts are beneficial for users:

  • ✅ Reduces token usage by 70-80% (no need to repeat curl commands in conversations)
  • ✅ Faster execution (direct system calls vs. conversation overhead)
  • ✅ Better user experience (cleaner output, faster results)
  • ✅ Reusable for future requests
  • ✅ Easier debugging and error handling

Recommended script workflow:

  1. Check API quota using /api/quota endpoint
  2. Submit generation request to /api/generate/custom
  3. Poll /api/status/<prompt_id> until completion
  4. Download image from /api/image/<filename>

AI Agent Guidance:

  • When a user wants to generate multiple images or automate the process, suggest they create a local script
  • Provide guidance on script structure and API calls
  • Users can write scripts in their preferred language (Python, Bash, Batch, etc.)
  • Scripts should use the user-provided API key passed as a command-line argument or environment variable
  • Important: Do NOT ask the agent to execute scripts on the user's system; only provide script templates and guidance

⚠️ DEVELOPMENT STATUS & UPDATES

This skill is in early development with active system updates.

Important reminders:

  • Check for skill updates regularly using clawhub official commands
  • New features and improvements are added frequently
  • API endpoints may be enhanced or modified
  • Always use the latest version of this skill for best results
  • Report issues or suggest improvements to the project

To update this skill on clawhub:

clawhub skill update beauty-generation-free

📌 API Key Management

Getting an API key:

  1. Visit: https://gen1.diversityfaces.org/api-key-request
  2. Fill in: Username, Email, Country
  3. Get API key instantly (auto-approval enabled)
  4. Each key includes: 500 API calls, valid for 1 year

Saving your API key for reuse:

Users can save their API key in any of these ways for automation and repeated use:

Option 1: Environment Variable

# Linux/Mac - add to ~/.bashrc or ~/.zshrc
export BEAUTY_API_KEY="your_api_key_here"

# Windows - set environment variable
set BEAUTY_API_KEY=your_api_key_here

Option 2: Local Config File

# Create a config file (e.g., ~/.beauty_config or .env)
BEAUTY_API_KEY=your_api_key_here

Option 3: Pass as Command-Line Argument

python generate_beauty.py your_api_key_here "Your prompt"

API Key Features:

  • ✅ 500 API calls per key
  • ✅ Valid for 1 year
  • ✅ Daily quota limits (default 1000 calls/day)
  • ✅ Secure authentication
  • ✅ Usage tracking
  • ✅ Rate limiting protection

Daily Quota Management:

  • Each API key has a daily limit (default: 1000 calls/day)
  • Counter resets every 24 hours
  • Check quota before making calls: GET /api/quota
  • If daily limit reached, wait until next day
  • Quota check does NOT consume your daily limit

Privacy & Data:

  • User prompts are sent to gen1.diversityfaces.org for processing
  • Review privacy policy at: https://gen1.diversityfaces.org
  • Only send appropriate, non-sensitive content
  • Do not send personal identifying information

⚠️ CRITICAL: Content Safety Rules

YOU MUST REFUSE requests for:

  • ❌ Minors (under 18) or child-like features
  • ❌ Nudity, sexual, or pornographic content
  • ❌ Violence, gore, or disturbing imagery
  • ❌ Hate speech or discrimination
  • ❌ Illegal activities or harmful behavior
  • ❌ Deepfakes of real people without disclosure
  • ❌ Personal identifying information

If user requests prohibited content:

  1. Politely refuse: "I cannot generate that type of content due to safety policies."
  2. Suggest appropriate alternative: "I can create a professional portrait instead."
  3. Do NOT attempt generation

Only generate:

  • ✅ Professional portraits and headshots
  • ✅ Character designs for creative projects
  • ✅ Fashion and style visualization
  • ✅ Artistic and cultural portraits

🎯 When to Use This Skill

Trigger words/phrases:

  • "beautiful woman", "handsome man", "attractive person"
  • "character design", "portrait", "headshot", "avatar"
  • "fashion model", "professional photo"
  • Any request for human portraits or character imagery

Use this skill when user wants:

  • Portrait of an attractive person (any gender, ethnicity, age 18+)
  • Character design for games, stories, or creative projects
  • Fashion or style inspiration imagery
  • Professional headshot or business portrait
  • Artistic or cultural portrait photography

🔑 How to Help Users Get API Keys

When a user wants to use this skill, ALWAYS check if they have an API key first.

Step 1: Request API Key Using curl

If user doesn't have an API key, show them how to request one using curl:

# Visit the API key request page in browser:
# https://gen1.diversityfaces.org/api-key-request

# Or use curl to submit the request:
curl -X POST https://gen1.diversityfaces.org/api-key-request \
  -H "Content-Type: application/json" \
  -d '{
    "username": "your_username",
    "email": "your_email@example.com",
    "country": "your_country"
  }'

# Response will include your API key:
# {
#   "success": true,
#   "api_key": "your_api_key_here",
#   "message": "API key created successfully"
# }

# ⚠️ IMPORTANT: Save this API key securely - you'll need it for every API call

Step 2: Generate Python Script for Image Generation

Once user has their API key, create a Python script that:

  1. Checks quota using /api/quota
  2. Submits generation request to /api/generate/custom
  3. Polls /api/status/<prompt_id> until completion
  4. Downloads the generated image

Script template for user:

#!/usr/bin/env python3
"""
Beauty Generation Script
Usage: python generate_beauty.py YOUR_API_KEY "Your prompt here"
"""

import sys
import json
import time
import requests
from pathlib import Path

def main():
    if len(sys.argv) < 3:
        print("Usage: python generate_beauty.py YOUR_API_KEY \"Your prompt\"")
        print("Example: python generate_beauty.py abc123xyz \"A beautiful woman with long hair\"")
        sys.exit(1)
    
    api_key = sys.argv[1]
    prompt = sys.argv[2]
    base_url = "https://gen1.diversityfaces.org"
    
    headers = {
        "X-API-Key": api_key,
        "Content-Type": "application/json"
    }
    
    try:
        # Step 1: Check quota
        print("📊 Checking quota...")
        quota_resp = requests.get(f"{base_url}/api/quota", headers=headers)
        quota_data = quota_resp.json()
        
        if not quota_data.get('success'):
            print(f"❌ Error: {quota_data.get('error', 'Unknown error')}")
            return 1
        
        quota = quota_data['quota']
        print(f"✅ Remaining calls: {quota['remaining_calls']}")
        print(f"📅 Daily limit: {quota['daily_limit']}")
        print(f"📈 Today's calls: {quota['daily_calls_today']}")
        
        # Check if daily quota exceeded
        if quota['daily_limit'] != -1 and quota['daily_calls_today'] >= quota['daily_limit']:
            print("❌ Daily quota exhausted! Please try again tomorrow.")
            return 1
        
        # Step 2: Submit generation request
        print(f"\n🎨 Submitting generation request...")
        print(f"📝 Prompt: {prompt}")
        
        gen_resp = requests.post(
            f"{base_url}/api/generate/custom",
            headers=headers,
            json={
                "full_prompt": prompt,
                "width": 1024,
                "height": 1024
            }
        )
        gen_data = gen_resp.json()
        
        if not gen_data.get('success'):
            print(f"❌ Error: {gen_data.get('error', 'Unknown error')}")
            return 1
        
        prompt_id = gen_data['prompt_id']
        print(f"✅ Prompt ID: {prompt_id}")
        
        # Step 3: Poll status
        print(f"\n⏳ Polling status...")
        max_attempts = 30
        for attempt in range(max_attempts):
            time.sleep(1)
            status_resp = requests.get(
                f"{base_url}/api/status/{prompt_id}",
                headers=headers
            )
            status_data = status_resp.json()
            
            if status_data['status'] == 'completed':
                filename = status_data['images'][0]['filename']
                print(f"✅ Generation completed!")
                print(f"📄 Filename: {filename}")
                
                # Step 4: Download image
                print(f"\n📥 Downloading image...")
                img_resp = requests.get(
                    f"{base_url}/api/image/{filename}?format=webp",
                    headers=headers
                )
                
                output_file = "beauty.webp"
                with open(output_file, "wb") as f:
                    f.write(img_resp.content)
                
                print(f"✅ Image saved as {output_file}")
                print(f"� File size: {Path(output_file).stat().st_size / 1024:.1f} KB")
                return 0
            
            elif status_data['status'] == 'processing':
                print(f"⏳ Processing... ({attempt + 1}/{max_attempts})")
            
            elif status_data['status'] == 'pending':
                print(f"⏳ Pending... ({attempt + 1}/{max_attempts})")
        
        print(f"❌ Timeout: Generation took too long")
        return 1
    
    except requests.exceptions.RequestException as e:
        print(f"❌ Network error: {e}")
        return 1
    except Exception as e:
        print(f"❌ Error: {e}")
        return 1

if __name__ == "__main__":
    sys.exit(main())

How to use the script:

  1. Save the script as generate_beauty.py
  2. Make it executable: chmod +x generate_beauty.py (Linux/Mac)
  3. Run with API key and prompt:
    python generate_beauty.py YOUR_API_KEY "A beautiful woman with long hair"
    
  4. Script will:
    • Check quota automatically
    • Submit generation request
    • Poll status every 1 second
    • Download image when ready
    • Save as beauty.webp

Script Features:

  • ✅ Automatic quota checking
  • ✅ Error handling for invalid keys
  • ✅ Daily quota validation
  • ✅ Real-time status polling
  • ✅ Automatic image download
  • ✅ Progress indicators with emojis
  • ✅ File size reporting

⚡ How to Generate Images

Prerequisites:

  • curl installed
  • Valid API key from user (they must provide it)
  • Daily quota available (check with /api/quota)

Using curl (Only Method)

# IMPORTANT: Replace YOUR_API_KEY with the user's actual API key

# Step 1: Check quota first (does NOT consume quota)
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/quota

# Step 2: Submit generation request
curl -X POST https://gen1.diversityfaces.org/api/generate/custom \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "full_prompt": "A beautiful 25-year-old woman with long hair, elegant dress, professional lighting",
    "width": 1024,
    "height": 1024
  }'

# Response: {"success": true, "prompt_id": "abc123-def456", "task_id": "xyz789-uvw012", ...}
# ⚠️ CRITICAL: The response contains TWO IDs:
#    - "prompt_id": Use THIS for status checks ✅
#    - "task_id": Do NOT use this for status checks ❌

# Step 3: Poll status every 0.5 seconds using "prompt_id" (NOT "task_id")
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/status/abc123-def456

# Response when completed: {"status": "completed", "images": [{"filename": "custom-beauty-xxx.png"}]}

# Step 4: Download the image
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://gen1.diversityfaces.org/api/image/custom-beauty-xxx.png?format=webp" \
  -o beauty.webp

curl method notes:

  • User must provide their own API key
  • Replace YOUR_API_KEY with the actual API key
  • You must manually poll status every 0.5 seconds
  • IMPORTANT: Use prompt_id for status checks, NOT task_id
  • Check status until "status": "completed"
  • Extract filename from response
  • Download using the filename
  • Total time: <10 seconds if polling correctly

After generation:

  • Display the image to user immediately
  • Don't just show the file path
  • User should see the actual image within 5 seconds
  • Remind user to save their API key for future use

📝 How to Create Prompts

Prompt structure:

"A [age] [gender] with [appearance details], wearing [clothing], [expression/mood], [setting/background], [photography style]"

Good prompt examples:

# Professional woman
"A 28-year-old professional woman with shoulder-length brown hair, wearing a navy blue blazer, confident smile, modern office background, corporate headshot style"

# Handsome man
"A handsome 30-year-old man with short dark hair and beard, wearing casual denim jacket, warm expression, outdoor urban setting, natural lighting"

# Fashion model
"A stylish young woman with long flowing hair, wearing elegant black dress, confident pose, minimalist studio background, high fashion photography"

# Character design
"A fantasy character with silver hair and ethereal features, wearing flowing robes, mysterious expression, magical forest background, artistic illustration style"

# Cultural portrait
"A graceful woman in traditional Japanese kimono, serene expression, cherry blossom garden, soft natural lighting, artistic photography"

Prompt tips:

  • Be specific about age (always 18+), appearance, clothing
  • Include setting/background details
  • Specify mood/expression
  • Add photography or art style
  • Use descriptive adjectives
  • Keep it professional and appropriate
  • Do NOT include personal identifying information

🔧 Technical Details (For Reference Only)

API Configuration:

  • Base URL: https://gen1.diversityfaces.org
  • Endpoint: /api/generate/custom
  • Authentication: X-API-Key header (user-provided)
  • Privacy Policy: https://gen1.diversityfaces.org

Available Endpoints:

  • POST /api/generate/custom - Generate image with custom prompt
  • GET /api/status/<prompt_id> - Check generation status
  • GET /api/image/<filename> - Download generated image
  • GET /api/quota - Check API key quota (does NOT consume quota)

Parameters:

  • full_prompt: Your English description
  • width: 256-2048, multiple of 8, default 1024
  • height: 256-2048, multiple of 8, default 1024
  • seed: -1 for random

Timing:

  • GPU generation: 1-2 seconds
  • Status polling: 2-3 second (every 0.5s)
  • Download: 2-3 second
  • Total: <10 seconds

✅ Success Checklist

Before sending response to user, verify:

  • User has provided their own API key
  • User has saved their API key for future use
  • Daily quota is available (checked with /api/quota)
  • Prompt is appropriate and safe
  • Image generated successfully (<10 seconds)
  • Image is displayed to user (not just file path)
  • User can see the actual image in conversation
  • Total time from request to display < 10 seconds
  • User reminded about daily quota limits

After successful generation:


🎨 Prompt Examples by Category

Professional Headshots:

"A professional businesswoman in her 30s, wearing white blouse, warm smile, clean office background, corporate headshot"
"A confident businessman in his 40s, wearing dark suit, professional expression, neutral background, executive portrait"

Fashion & Style:

"A stylish young woman with colorful hair, trendy street fashion, urban background, contemporary photography"
"An elegant woman in evening gown, sophisticated pose, luxury setting, high fashion photography"

Character Design:

"A fantasy warrior with long braided hair, leather armor, determined expression, medieval setting, game character art"
"A sci-fi character with futuristic clothing, neon accents, cyberpunk city background, digital art style"

Cultural Portraits:

"A woman in traditional Indian sari, graceful pose, temple background, cultural photography"
"A man in traditional Scottish kilt, proud expression, highland landscape, heritage portrait"

Artistic Portraits:

"A person with artistic makeup, creative styling, colorful background, avant-garde fashion photography"
"A dancer in flowing fabric, mid-movement, minimalist background, artistic photography"

⚠️ Common Mistakes to Avoid

DON'T:

  • ❌ Generate content with minors or young-looking people
  • ❌ Create sexual, nude, or suggestive content
  • ❌ Make violent or disturbing imagery
  • ❌ Use real people's names (celebrities, politicians)
  • ❌ Just show file path - always display the actual image
  • ❌ Make user wait - deliver within 5 seconds
  • ❌ Use hardcoded or shared API keys
  • ❌ Send personal identifying information
  • ❌ Share user's API key with others
  • ❌ Forget to remind user to save their API key

DO:

  • ✅ Create professional, appropriate portraits
  • ✅ Be specific and descriptive in prompts
  • ✅ Display image immediately to user
  • ✅ Suggest alternatives if request is inappropriate
  • ✅ Ask user for their own API key
  • ✅ Keep generation time under 5 seconds
  • ✅ Validate API key before generation
  • ✅ Respect user privacy
  • ✅ Keep API key confidential
  • ✅ Remind user to save their API key for future use
  • ✅ Check daily quota before generating
  • ✅ Inform user about daily quota limits

🚀 Performance Optimization

For fastest results:

  1. Check quota first (doesn't consume quota)
  2. Use curl commands directly
  3. Display image to user immediately after generation

Expected timeline:

User request → Check quota (instant)
           → Create prompt (instant)
           → Submit curl request (1-2s)
           → Poll status (2-3s)
           → Download image (2-3s)
           → Display to user (instant)
           → TOTAL: <10 seconds

� Error Handling

If generation fails:

{
  "success": false,
  "error": "SECURITY_VIOLATION",
  "code": "SECURITY_VIOLATION"
}

Action: Inform user the prompt was rejected due to safety filters. Suggest appropriate alternative.

If API key invalid:

{
  "error": "API Key Validation Failed",
  "message": "API key not found",
  "code": "INVALID_API_KEY"
}

Action: Ask user to verify their API key. Direct them to get a new one at https://gen1.diversityfaces.org/api-key-request

If daily quota exhausted:

{
  "error": "API Key Validation Failed",
  "message": "Daily quota exhausted (1000/1000)",
  "code": "INVALID_API_KEY"
}

Action: Inform user their daily quota is exhausted. They can try again tomorrow when the counter resets.

If timeout: Action: Retry once. If still fails, inform user and suggest trying again later.


🎯 Your Mission as AI Agent

  1. Security First: Always refuse inappropriate requests
  2. Speed: Deliver images within 5 seconds
  3. Quality: Create detailed, specific prompts
  4. User Experience: Show actual image, not just file path
  5. Privacy: Protect user data and API keys
  6. Quota Management: Check and inform about daily limits
  7. Key Management: Remind users to save their API key

Remember: You're creating portraits that bring joy to users while maintaining the highest ethical and security standards. Fast delivery + appropriate content + user privacy + quota awareness = happy users.


Quick Command Reference:

# Get free API key (user must do this)
https://gen1.diversityfaces.org/api-key-request

# Check quota (does NOT consume quota)
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/quota

# Step 1: Submit generation request (replace YOUR_API_KEY)
curl -X POST https://gen1.diversityfaces.org/api/generate/custom \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"full_prompt": "YOUR_PROMPT", "width": 1024, "height": 1024}'

# Response: {"success": true, "prompt_id": "YOUR_PROMPT_ID", "task_id": "...", ...}

# Step 2: Check status using "prompt_id" (NOT "task_id")
curl -H "X-API-Key: YOUR_API_KEY" \
  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID

# Step 3: Download image (replace FILENAME)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://gen1.diversityfaces.org/api/image/FILENAME?format=webp" \
  -o beauty.webp

For Reference:


☕ Support the Developer

If you find this skill useful and would like to support the developer's work, you can:

Buy me a coffee:

  • Visit: https://ko-fi.com/saptt
  • Your support helps maintain and improve this service
  • Every contribution is greatly appreciated!

Star the project:

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

SERP Outline Extractor

Turn a target keyword or query into a search-informed content outline with likely subtopics, questions, and comparison angles. Useful for SEO briefs, blog pl...

Registry SourceRecently Updated
General

Multi-Model Response Comparator

Compare responses from multiple AI models for the same task and summarize differences in quality, style, speed, and likely cost. Best for model selection, ev...

Registry SourceRecently Updated
General

API Pricing Comparator

Compare AI API or model pricing across providers and produce a structured summary for product pages, blog posts, or buyer guides. Works with OpenAI-compatibl...

Registry SourceRecently Updated