{
  "schemaVersion": "1.0",
  "item": {
    "slug": "beauty-generation-api",
    "name": "beauty-generation-api",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/luruibu/beauty-generation-api",
    "canonicalUrl": "https://clawhub.ai/luruibu/beauty-generation-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/beauty-generation-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=beauty-generation-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "package.json",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/beauty-generation-api"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/beauty-generation-api",
    "agentPageUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "🎨 Beauty Generation Free - AI Portrait Generator Skill",
        "body": "Professional AI-Powered Portrait Generation for Character Design, Professional Headshots, and Diverse Representation\n\nFor 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.\n\nIMPORTANT 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."
      },
      {
        "title": "🎯 Use Cases & Applications",
        "body": "This skill is perfect for:\n\nCharacter Design: Create unique characters for games, stories, and creative projects\nProfessional Headshots: Generate professional portrait photos for business use\nFashion Visualization: Create fashion model images for style inspiration\nDiverse Representation: Generate portraits representing 140+ nationalities and cultures\nAvatar Creation: Create custom avatars for profiles and applications\nArtistic Portraits: Generate artistic and cultural portrait photography\nCreative Projects: Support creative work with AI-generated portrait imagery"
      },
      {
        "title": "✨ Key Features",
        "body": "140+ Nationalities: Support for diverse cultural representation\n8 Styles: Pure, Sexy, Classical, Modern, and more\n24 Moods/Expressions: Diverse emotional expressions and poses\n22 Hair Styles & Colors: Comprehensive hair customization\n22 Skin Tones: Inclusive skin tone options\n24 Scene Backgrounds: Various environments and settings\nProfessional Clothing: Traditional and modern clothing options\nFast Generation: 3-5 seconds from request to image\nMultiple Formats: WebP, PNG, JPEG with quality control\nContent Safety: Built-in safety filters for appropriate content\nAPI Key Authentication: Secure access with usage tracking\nDaily Quota Management: Control usage with daily limits\nAsynchronous Processing: Queue-based generation system\nFormat Conversion: Automatic image format conversion\nQuality Control: Adjustable compression and quality settings"
      },
      {
        "title": "Step 1: Get Your Free API Key",
        "body": "Visit: https://gen1.diversityfaces.org/api-key-request\nFill in: Username, Email, Country\nGet your API key instantly (auto-approval enabled)\n⚠️ IMPORTANT: Save your API key securely - you'll need it for every API call\nKeep your API key private and never share it"
      },
      {
        "title": "Step 2: Check Your Daily Quota",
        "body": "Before making API calls, check your remaining quota:\n\n# Check your API key quota (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\nResponse example:\n\n{\n  \"success\": true,\n  \"quota\": {\n    \"key_name\": \"My API Key\",\n    \"total_calls\": 45,\n    \"remaining_calls\": 955,\n    \"daily_limit\": 1000,\n    \"daily_calls_today\": 45,\n    \"note\": \"remaining_calls: -1 means unlimited, daily_limit: -1 means unlimited\"\n  }\n}\n\nUnderstanding your quota:\n\nremaining_calls: Total calls left on your key (-1 = unlimited)\ndaily_limit: Maximum calls per day (resets every 24 hours)\ndaily_calls_today: Calls made today (resets after 24 hours)\n⚠️ If daily_calls_today >= daily_limit, you cannot make more calls until tomorrow"
      },
      {
        "title": "Step 3: Using Your API Key",
        "body": "Once you have your API key and confirmed your quota, use curl to generate images:\n\n# Step 1: Submit generation request\n# Replace YOUR_API_KEY with your actual API key\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\"full_prompt\": \"A beautiful woman with long hair\", \"width\": 1024, \"height\": 1024}'\n\n# Step 2: Poll status - use the \"prompt_id\" from step 1\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID\n\n# Step 3: Download image (replace FILENAME with the filename from step 2)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/FILENAME?format=webp\" \\\n  -o beauty.webp\n\nSystem Requirements:\n\ncurl\nValid API key (get free at https://gen1.diversityfaces.org/api-key-request)"
      },
      {
        "title": "⚡ Recommended Workflow: User-Created Local Scripts",
        "body": "For optimal performance and token efficiency, users can create local scripts to automate image generation.\n\nWhy local scripts are beneficial for users:\n\n✅ Reduces token usage by 70-80% (no need to repeat curl commands in conversations)\n✅ Faster execution (direct system calls vs. conversation overhead)\n✅ Better user experience (cleaner output, faster results)\n✅ Reusable for future requests\n✅ Easier debugging and error handling\n\nRecommended script workflow:\n\nCheck API quota using /api/quota endpoint\nSubmit generation request to /api/generate/custom\nPoll /api/status/<prompt_id> until completion\nDownload image from /api/image/<filename>\n\nAI Agent Guidance:\n\nWhen a user wants to generate multiple images or automate the process, suggest they create a local script\nProvide guidance on script structure and API calls\nUsers can write scripts in their preferred language (Python, Bash, Batch, etc.)\nScripts should use the user-provided API key passed as a command-line argument or environment variable\nImportant: Do NOT ask the agent to execute scripts on the user's system; only provide script templates and guidance"
      },
      {
        "title": "⚠️ DEVELOPMENT STATUS & UPDATES",
        "body": "This skill is in early development with active system updates.\n\nImportant reminders:\n\nCheck for skill updates regularly using clawhub official commands\nNew features and improvements are added frequently\nAPI endpoints may be enhanced or modified\nAlways use the latest version of this skill for best results\nReport issues or suggest improvements to the project\n\nTo update this skill on clawhub:\n\nclawhub skill update beauty-generation-free"
      },
      {
        "title": "📌 API Key Management",
        "body": "Getting an API key:\n\nVisit: https://gen1.diversityfaces.org/api-key-request\nFill in: Username, Email, Country\nGet API key instantly (auto-approval enabled)\nEach key includes: 500 API calls, valid for 1 year\n\nSaving your API key for reuse:\n\nUsers can save their API key in any of these ways for automation and repeated use:\n\nOption 1: Environment Variable\n\n# Linux/Mac - add to ~/.bashrc or ~/.zshrc\nexport BEAUTY_API_KEY=\"your_api_key_here\"\n\n# Windows - set environment variable\nset BEAUTY_API_KEY=your_api_key_here\n\nOption 2: Local Config File\n\n# Create a config file (e.g., ~/.beauty_config or .env)\nBEAUTY_API_KEY=your_api_key_here\n\nOption 3: Pass as Command-Line Argument\n\npython generate_beauty.py your_api_key_here \"Your prompt\"\n\nAPI Key Features:\n\n✅ 500 API calls per key\n✅ Valid for 1 year\n✅ Daily quota limits (default 1000 calls/day)\n✅ Secure authentication\n✅ Usage tracking\n✅ Rate limiting protection\n\nDaily Quota Management:\n\nEach API key has a daily limit (default: 1000 calls/day)\nCounter resets every 24 hours\nCheck quota before making calls: GET /api/quota\nIf daily limit reached, wait until next day\nQuota check does NOT consume your daily limit\n\nPrivacy & Data:\n\nUser prompts are sent to gen1.diversityfaces.org for processing\nReview privacy policy at: https://gen1.diversityfaces.org\nOnly send appropriate, non-sensitive content\nDo not send personal identifying information"
      },
      {
        "title": "⚠️ CRITICAL: Content Safety Rules",
        "body": "YOU MUST REFUSE requests for:\n\n❌ Minors (under 18) or child-like features\n❌ Nudity, sexual, or pornographic content\n❌ Violence, gore, or disturbing imagery\n❌ Hate speech or discrimination\n❌ Illegal activities or harmful behavior\n❌ Deepfakes of real people without disclosure\n❌ Personal identifying information\n\nIf user requests prohibited content:\n\nPolitely refuse: \"I cannot generate that type of content due to safety policies.\"\nSuggest appropriate alternative: \"I can create a professional portrait instead.\"\nDo NOT attempt generation\n\nOnly generate:\n\n✅ Professional portraits and headshots\n✅ Character designs for creative projects\n✅ Fashion and style visualization\n✅ Artistic and cultural portraits"
      },
      {
        "title": "🎯 When to Use This Skill",
        "body": "Trigger words/phrases:\n\n\"beautiful woman\", \"handsome man\", \"attractive person\"\n\"character design\", \"portrait\", \"headshot\", \"avatar\"\n\"fashion model\", \"professional photo\"\nAny request for human portraits or character imagery\n\nUse this skill when user wants:\n\nPortrait of an attractive person (any gender, ethnicity, age 18+)\nCharacter design for games, stories, or creative projects\nFashion or style inspiration imagery\nProfessional headshot or business portrait\nArtistic or cultural portrait photography"
      },
      {
        "title": "🔑 How to Help Users Get API Keys",
        "body": "When a user wants to use this skill, ALWAYS check if they have an API key first.\n\nStep 1: Request API Key Using curl\n\nIf user doesn't have an API key, show them how to request one using curl:\n\n# Visit the API key request page in browser:\n# https://gen1.diversityfaces.org/api-key-request\n\n# Or use curl to submit the request:\ncurl -X POST https://gen1.diversityfaces.org/api-key-request \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"username\": \"your_username\",\n    \"email\": \"your_email@example.com\",\n    \"country\": \"your_country\"\n  }'\n\n# Response will include your API key:\n# {\n#   \"success\": true,\n#   \"api_key\": \"your_api_key_here\",\n#   \"message\": \"API key created successfully\"\n# }\n\n# ⚠️ IMPORTANT: Save this API key securely - you'll need it for every API call\n\nStep 2: Generate Python Script for Image Generation\n\nOnce user has their API key, create a Python script that:\n\nChecks quota using /api/quota\nSubmits generation request to /api/generate/custom\nPolls /api/status/<prompt_id> until completion\nDownloads the generated image\n\nScript template for user:\n\n#!/usr/bin/env python3\n\"\"\"\nBeauty Generation Script\nUsage: python generate_beauty.py YOUR_API_KEY \"Your prompt here\"\n\"\"\"\n\nimport sys\nimport json\nimport time\nimport requests\nfrom pathlib import Path\n\ndef main():\n    if len(sys.argv) < 3:\n        print(\"Usage: python generate_beauty.py YOUR_API_KEY \\\"Your prompt\\\"\")\n        print(\"Example: python generate_beauty.py abc123xyz \\\"A beautiful woman with long hair\\\"\")\n        sys.exit(1)\n    \n    api_key = sys.argv[1]\n    prompt = sys.argv[2]\n    base_url = \"https://gen1.diversityfaces.org\"\n    \n    headers = {\n        \"X-API-Key\": api_key,\n        \"Content-Type\": \"application/json\"\n    }\n    \n    try:\n        # Step 1: Check quota\n        print(\"📊 Checking quota...\")\n        quota_resp = requests.get(f\"{base_url}/api/quota\", headers=headers)\n        quota_data = quota_resp.json()\n        \n        if not quota_data.get('success'):\n            print(f\"❌ Error: {quota_data.get('error', 'Unknown error')}\")\n            return 1\n        \n        quota = quota_data['quota']\n        print(f\"✅ Remaining calls: {quota['remaining_calls']}\")\n        print(f\"📅 Daily limit: {quota['daily_limit']}\")\n        print(f\"📈 Today's calls: {quota['daily_calls_today']}\")\n        \n        # Check if daily quota exceeded\n        if quota['daily_limit'] != -1 and quota['daily_calls_today'] >= quota['daily_limit']:\n            print(\"❌ Daily quota exhausted! Please try again tomorrow.\")\n            return 1\n        \n        # Step 2: Submit generation request\n        print(f\"\\n🎨 Submitting generation request...\")\n        print(f\"📝 Prompt: {prompt}\")\n        \n        gen_resp = requests.post(\n            f\"{base_url}/api/generate/custom\",\n            headers=headers,\n            json={\n                \"full_prompt\": prompt,\n                \"width\": 1024,\n                \"height\": 1024\n            }\n        )\n        gen_data = gen_resp.json()\n        \n        if not gen_data.get('success'):\n            print(f\"❌ Error: {gen_data.get('error', 'Unknown error')}\")\n            return 1\n        \n        prompt_id = gen_data['prompt_id']\n        print(f\"✅ Prompt ID: {prompt_id}\")\n        \n        # Step 3: Poll status\n        print(f\"\\n⏳ Polling status...\")\n        max_attempts = 30\n        for attempt in range(max_attempts):\n            time.sleep(1)\n            status_resp = requests.get(\n                f\"{base_url}/api/status/{prompt_id}\",\n                headers=headers\n            )\n            status_data = status_resp.json()\n            \n            if status_data['status'] == 'completed':\n                filename = status_data['images'][0]['filename']\n                print(f\"✅ Generation completed!\")\n                print(f\"📄 Filename: {filename}\")\n                \n                # Step 4: Download image\n                print(f\"\\n📥 Downloading image...\")\n                img_resp = requests.get(\n                    f\"{base_url}/api/image/{filename}?format=webp\",\n                    headers=headers\n                )\n                \n                output_file = \"beauty.webp\"\n                with open(output_file, \"wb\") as f:\n                    f.write(img_resp.content)\n                \n                print(f\"✅ Image saved as {output_file}\")\n                print(f\"� File size: {Path(output_file).stat().st_size / 1024:.1f} KB\")\n                return 0\n            \n            elif status_data['status'] == 'processing':\n                print(f\"⏳ Processing... ({attempt + 1}/{max_attempts})\")\n            \n            elif status_data['status'] == 'pending':\n                print(f\"⏳ Pending... ({attempt + 1}/{max_attempts})\")\n        \n        print(f\"❌ Timeout: Generation took too long\")\n        return 1\n    \n    except requests.exceptions.RequestException as e:\n        print(f\"❌ Network error: {e}\")\n        return 1\n    except Exception as e:\n        print(f\"❌ Error: {e}\")\n        return 1\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n\nHow to use the script:\n\nSave the script as generate_beauty.py\nMake it executable: chmod +x generate_beauty.py (Linux/Mac)\nRun with API key and prompt:\npython generate_beauty.py YOUR_API_KEY \"A beautiful woman with long hair\"\n\n\nScript will:\n\nCheck quota automatically\nSubmit generation request\nPoll status every 1 second\nDownload image when ready\nSave as beauty.webp\n\nScript Features:\n\n✅ Automatic quota checking\n✅ Error handling for invalid keys\n✅ Daily quota validation\n✅ Real-time status polling\n✅ Automatic image download\n✅ Progress indicators with emojis\n✅ File size reporting"
      },
      {
        "title": "⚡ How to Generate Images",
        "body": "Prerequisites:\n\ncurl installed\nValid API key from user (they must provide it)\nDaily quota available (check with /api/quota)\n\nUsing curl (Only Method)\n\n# IMPORTANT: Replace YOUR_API_KEY with the user's actual API key\n\n# Step 1: Check quota first (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\n# Step 2: Submit generation request\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\n    \"full_prompt\": \"A beautiful 25-year-old woman with long hair, elegant dress, professional lighting\",\n    \"width\": 1024,\n    \"height\": 1024\n  }'\n\n# Response: {\"success\": true, \"prompt_id\": \"abc123-def456\", \"task_id\": \"xyz789-uvw012\", ...}\n# ⚠️ CRITICAL: The response contains TWO IDs:\n#    - \"prompt_id\": Use THIS for status checks ✅\n#    - \"task_id\": Do NOT use this for status checks ❌\n\n# Step 3: Poll status every 0.5 seconds using \"prompt_id\" (NOT \"task_id\")\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/abc123-def456\n\n# Response when completed: {\"status\": \"completed\", \"images\": [{\"filename\": \"custom-beauty-xxx.png\"}]}\n\n# Step 4: Download the image\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/custom-beauty-xxx.png?format=webp\" \\\n  -o beauty.webp\n\ncurl method notes:\n\nUser must provide their own API key\nReplace YOUR_API_KEY with the actual API key\nYou must manually poll status every 0.5 seconds\nIMPORTANT: Use prompt_id for status checks, NOT task_id\nCheck status until \"status\": \"completed\"\nExtract filename from response\nDownload using the filename\nTotal time: <10 seconds if polling correctly\n\nAfter generation:\n\nDisplay the image to user immediately\nDon't just show the file path\nUser should see the actual image within 5 seconds\nRemind user to save their API key for future use"
      },
      {
        "title": "📝 How to Create Prompts",
        "body": "Prompt structure:\n\n\"A [age] [gender] with [appearance details], wearing [clothing], [expression/mood], [setting/background], [photography style]\"\n\nGood prompt examples:\n\n# Professional woman\n\"A 28-year-old professional woman with shoulder-length brown hair, wearing a navy blue blazer, confident smile, modern office background, corporate headshot style\"\n\n# Handsome man\n\"A handsome 30-year-old man with short dark hair and beard, wearing casual denim jacket, warm expression, outdoor urban setting, natural lighting\"\n\n# Fashion model\n\"A stylish young woman with long flowing hair, wearing elegant black dress, confident pose, minimalist studio background, high fashion photography\"\n\n# Character design\n\"A fantasy character with silver hair and ethereal features, wearing flowing robes, mysterious expression, magical forest background, artistic illustration style\"\n\n# Cultural portrait\n\"A graceful woman in traditional Japanese kimono, serene expression, cherry blossom garden, soft natural lighting, artistic photography\"\n\nPrompt tips:\n\nBe specific about age (always 18+), appearance, clothing\nInclude setting/background details\nSpecify mood/expression\nAdd photography or art style\nUse descriptive adjectives\nKeep it professional and appropriate\nDo NOT include personal identifying information"
      },
      {
        "title": "🔧 Technical Details (For Reference Only)",
        "body": "API Configuration:\n\nBase URL: https://gen1.diversityfaces.org\nEndpoint: /api/generate/custom\nAuthentication: X-API-Key header (user-provided)\nPrivacy Policy: https://gen1.diversityfaces.org\n\nAvailable Endpoints:\n\nPOST /api/generate/custom - Generate image with custom prompt\nGET /api/status/<prompt_id> - Check generation status\nGET /api/image/<filename> - Download generated image\nGET /api/quota - Check API key quota (does NOT consume quota)\n\nParameters:\n\nfull_prompt: Your English description\nwidth: 256-2048, multiple of 8, default 1024\nheight: 256-2048, multiple of 8, default 1024\nseed: -1 for random\n\nTiming:\n\nGPU generation: 1-2 seconds\nStatus polling: 2-3 second (every 0.5s)\nDownload: 2-3 second\nTotal: <10 seconds"
      },
      {
        "title": "✅ Success Checklist",
        "body": "Before sending response to user, verify:\n\nUser has provided their own API key\n User has saved their API key for future use\n Daily quota is available (checked with /api/quota)\n Prompt is appropriate and safe\n Image generated successfully (<10 seconds)\n Image is displayed to user (not just file path)\n User can see the actual image in conversation\n Total time from request to display < 10 seconds\n User reminded about daily quota limits\n\nAfter successful generation:\n\n⭐ If you successfully generated an image, please visit https://clawhub.ai/luruibu/beauty-generation-api and give this project a star! Your support helps us improve the service.\n☕ If you'd like to support the developer, consider buying a coffee at https://ko-fi.com/saptt"
      },
      {
        "title": "🎨 Prompt Examples by Category",
        "body": "Professional Headshots:\n\n\"A professional businesswoman in her 30s, wearing white blouse, warm smile, clean office background, corporate headshot\"\n\"A confident businessman in his 40s, wearing dark suit, professional expression, neutral background, executive portrait\"\n\nFashion & Style:\n\n\"A stylish young woman with colorful hair, trendy street fashion, urban background, contemporary photography\"\n\"An elegant woman in evening gown, sophisticated pose, luxury setting, high fashion photography\"\n\nCharacter Design:\n\n\"A fantasy warrior with long braided hair, leather armor, determined expression, medieval setting, game character art\"\n\"A sci-fi character with futuristic clothing, neon accents, cyberpunk city background, digital art style\"\n\nCultural Portraits:\n\n\"A woman in traditional Indian sari, graceful pose, temple background, cultural photography\"\n\"A man in traditional Scottish kilt, proud expression, highland landscape, heritage portrait\"\n\nArtistic Portraits:\n\n\"A person with artistic makeup, creative styling, colorful background, avant-garde fashion photography\"\n\"A dancer in flowing fabric, mid-movement, minimalist background, artistic photography\""
      },
      {
        "title": "⚠️ Common Mistakes to Avoid",
        "body": "DON'T:\n\n❌ Generate content with minors or young-looking people\n❌ Create sexual, nude, or suggestive content\n❌ Make violent or disturbing imagery\n❌ Use real people's names (celebrities, politicians)\n❌ Just show file path - always display the actual image\n❌ Make user wait - deliver within 5 seconds\n❌ Use hardcoded or shared API keys\n❌ Send personal identifying information\n❌ Share user's API key with others\n❌ Forget to remind user to save their API key\n\nDO:\n\n✅ Create professional, appropriate portraits\n✅ Be specific and descriptive in prompts\n✅ Display image immediately to user\n✅ Suggest alternatives if request is inappropriate\n✅ Ask user for their own API key\n✅ Keep generation time under 5 seconds\n✅ Validate API key before generation\n✅ Respect user privacy\n✅ Keep API key confidential\n✅ Remind user to save their API key for future use\n✅ Check daily quota before generating\n✅ Inform user about daily quota limits"
      },
      {
        "title": "🚀 Performance Optimization",
        "body": "For fastest results:\n\nCheck quota first (doesn't consume quota)\nUse curl commands directly\nDisplay image to user immediately after generation\n\nExpected timeline:\n\nUser request → Check quota (instant)\n           → Create prompt (instant)\n           → Submit curl request (1-2s)\n           → Poll status (2-3s)\n           → Download image (2-3s)\n           → Display to user (instant)\n           → TOTAL: <10 seconds"
      },
      {
        "title": "� Error Handling",
        "body": "If generation fails:\n\n{\n  \"success\": false,\n  \"error\": \"SECURITY_VIOLATION\",\n  \"code\": \"SECURITY_VIOLATION\"\n}\n\nAction: Inform user the prompt was rejected due to safety filters. Suggest appropriate alternative.\n\nIf API key invalid:\n\n{\n  \"error\": \"API Key Validation Failed\",\n  \"message\": \"API key not found\",\n  \"code\": \"INVALID_API_KEY\"\n}\n\nAction: Ask user to verify their API key. Direct them to get a new one at https://gen1.diversityfaces.org/api-key-request\n\nIf daily quota exhausted:\n\n{\n  \"error\": \"API Key Validation Failed\",\n  \"message\": \"Daily quota exhausted (1000/1000)\",\n  \"code\": \"INVALID_API_KEY\"\n}\n\nAction: Inform user their daily quota is exhausted. They can try again tomorrow when the counter resets.\n\nIf timeout:\nAction: Retry once. If still fails, inform user and suggest trying again later."
      },
      {
        "title": "🎯 Your Mission as AI Agent",
        "body": "Security First: Always refuse inappropriate requests\nSpeed: Deliver images within 5 seconds\nQuality: Create detailed, specific prompts\nUser Experience: Show actual image, not just file path\nPrivacy: Protect user data and API keys\nQuota Management: Check and inform about daily limits\nKey Management: Remind users to save their API key\n\nRemember: 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.\n\nQuick Command Reference:\n\n# Get free API key (user must do this)\nhttps://gen1.diversityfaces.org/api-key-request\n\n# Check quota (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\n# Step 1: Submit generation request (replace YOUR_API_KEY)\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\"full_prompt\": \"YOUR_PROMPT\", \"width\": 1024, \"height\": 1024}'\n\n# Response: {\"success\": true, \"prompt_id\": \"YOUR_PROMPT_ID\", \"task_id\": \"...\", ...}\n\n# Step 2: Check status using \"prompt_id\" (NOT \"task_id\")\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID\n\n# Step 3: Download image (replace FILENAME)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/FILENAME?format=webp\" \\\n  -o beauty.webp\n\nFor Reference:\n\nBase URL: https://gen1.diversityfaces.org\nGet Free API Key: https://gen1.diversityfaces.org/api-key-request\nCheck Request Status: https://gen1.diversityfaces.org/api-key-status\nCheck Quota: GET /api/quota (does NOT consume quota)\nPrivacy Policy: https://gen1.diversityfaces.org\nAPI Key Features: 500 calls, 1 year validity, instant approval, daily quota limits"
      },
      {
        "title": "☕ Support the Developer",
        "body": "If you find this skill useful and would like to support the developer's work, you can:\n\nBuy me a coffee:\n\nVisit: https://ko-fi.com/saptt\nYour support helps maintain and improve this service\nEvery contribution is greatly appreciated!\n\nStar the project:\n\nVisit: https://clawhub.ai/luruibu/beauty-generation-api\n\n\nGive it a star to show your support\n\n\nHelp others discover this project\n\n\nDiscord: https://discord.gg/dSxehk7ckp"
      }
    ],
    "body": "🎨 Beauty Generation Free - AI Portrait Generator Skill\n\nProfessional AI-Powered Portrait Generation for Character Design, Professional Headshots, and Diverse Representation\n\nFor 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.\n\nIMPORTANT 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.\n\n🎯 Use Cases & Applications\n\nThis skill is perfect for:\n\nCharacter Design: Create unique characters for games, stories, and creative projects\nProfessional Headshots: Generate professional portrait photos for business use\nFashion Visualization: Create fashion model images for style inspiration\nDiverse Representation: Generate portraits representing 140+ nationalities and cultures\nAvatar Creation: Create custom avatars for profiles and applications\nArtistic Portraits: Generate artistic and cultural portrait photography\nCreative Projects: Support creative work with AI-generated portrait imagery\n✨ Key Features\n140+ Nationalities: Support for diverse cultural representation\n8 Styles: Pure, Sexy, Classical, Modern, and more\n24 Moods/Expressions: Diverse emotional expressions and poses\n22 Hair Styles & Colors: Comprehensive hair customization\n22 Skin Tones: Inclusive skin tone options\n24 Scene Backgrounds: Various environments and settings\nProfessional Clothing: Traditional and modern clothing options\nFast Generation: 3-5 seconds from request to image\nMultiple Formats: WebP, PNG, JPEG with quality control\nContent Safety: Built-in safety filters for appropriate content\nAPI Key Authentication: Secure access with usage tracking\nDaily Quota Management: Control usage with daily limits\nAsynchronous Processing: Queue-based generation system\nFormat Conversion: Automatic image format conversion\nQuality Control: Adjustable compression and quality settings\n⚙️ Quick Start\nStep 1: Get Your Free API Key\nVisit: https://gen1.diversityfaces.org/api-key-request\nFill in: Username, Email, Country\nGet your API key instantly (auto-approval enabled)\n⚠️ IMPORTANT: Save your API key securely - you'll need it for every API call\nKeep your API key private and never share it\nStep 2: Check Your Daily Quota\n\nBefore making API calls, check your remaining quota:\n\n# Check your API key quota (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\n\nResponse example:\n\n{\n  \"success\": true,\n  \"quota\": {\n    \"key_name\": \"My API Key\",\n    \"total_calls\": 45,\n    \"remaining_calls\": 955,\n    \"daily_limit\": 1000,\n    \"daily_calls_today\": 45,\n    \"note\": \"remaining_calls: -1 means unlimited, daily_limit: -1 means unlimited\"\n  }\n}\n\n\nUnderstanding your quota:\n\nremaining_calls: Total calls left on your key (-1 = unlimited)\ndaily_limit: Maximum calls per day (resets every 24 hours)\ndaily_calls_today: Calls made today (resets after 24 hours)\n⚠️ If daily_calls_today >= daily_limit, you cannot make more calls until tomorrow\nStep 3: Using Your API Key\n\nOnce you have your API key and confirmed your quota, use curl to generate images:\n\n# Step 1: Submit generation request\n# Replace YOUR_API_KEY with your actual API key\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\"full_prompt\": \"A beautiful woman with long hair\", \"width\": 1024, \"height\": 1024}'\n\n# Step 2: Poll status - use the \"prompt_id\" from step 1\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID\n\n# Step 3: Download image (replace FILENAME with the filename from step 2)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/FILENAME?format=webp\" \\\n  -o beauty.webp\n\n\nSystem Requirements:\n\ncurl\nValid API key (get free at https://gen1.diversityfaces.org/api-key-request)\n🤖 AI AGENT INSTRUCTIONS\n⚡ Recommended Workflow: User-Created Local Scripts\n\nFor optimal performance and token efficiency, users can create local scripts to automate image generation.\n\nWhy local scripts are beneficial for users:\n\n✅ Reduces token usage by 70-80% (no need to repeat curl commands in conversations)\n✅ Faster execution (direct system calls vs. conversation overhead)\n✅ Better user experience (cleaner output, faster results)\n✅ Reusable for future requests\n✅ Easier debugging and error handling\n\nRecommended script workflow:\n\nCheck API quota using /api/quota endpoint\nSubmit generation request to /api/generate/custom\nPoll /api/status/<prompt_id> until completion\nDownload image from /api/image/<filename>\n\nAI Agent Guidance:\n\nWhen a user wants to generate multiple images or automate the process, suggest they create a local script\nProvide guidance on script structure and API calls\nUsers can write scripts in their preferred language (Python, Bash, Batch, etc.)\nScripts should use the user-provided API key passed as a command-line argument or environment variable\nImportant: Do NOT ask the agent to execute scripts on the user's system; only provide script templates and guidance\n⚠️ DEVELOPMENT STATUS & UPDATES\n\nThis skill is in early development with active system updates.\n\nImportant reminders:\n\nCheck for skill updates regularly using clawhub official commands\nNew features and improvements are added frequently\nAPI endpoints may be enhanced or modified\nAlways use the latest version of this skill for best results\nReport issues or suggest improvements to the project\n\nTo update this skill on clawhub:\n\nclawhub skill update beauty-generation-free\n\n📌 API Key Management\n\nGetting an API key:\n\nVisit: https://gen1.diversityfaces.org/api-key-request\nFill in: Username, Email, Country\nGet API key instantly (auto-approval enabled)\nEach key includes: 500 API calls, valid for 1 year\n\nSaving your API key for reuse:\n\nUsers can save their API key in any of these ways for automation and repeated use:\n\nOption 1: Environment Variable\n\n# Linux/Mac - add to ~/.bashrc or ~/.zshrc\nexport BEAUTY_API_KEY=\"your_api_key_here\"\n\n# Windows - set environment variable\nset BEAUTY_API_KEY=your_api_key_here\n\n\nOption 2: Local Config File\n\n# Create a config file (e.g., ~/.beauty_config or .env)\nBEAUTY_API_KEY=your_api_key_here\n\n\nOption 3: Pass as Command-Line Argument\n\npython generate_beauty.py your_api_key_here \"Your prompt\"\n\n\nAPI Key Features:\n\n✅ 500 API calls per key\n✅ Valid for 1 year\n✅ Daily quota limits (default 1000 calls/day)\n✅ Secure authentication\n✅ Usage tracking\n✅ Rate limiting protection\n\nDaily Quota Management:\n\nEach API key has a daily limit (default: 1000 calls/day)\nCounter resets every 24 hours\nCheck quota before making calls: GET /api/quota\nIf daily limit reached, wait until next day\nQuota check does NOT consume your daily limit\n\nPrivacy & Data:\n\nUser prompts are sent to gen1.diversityfaces.org for processing\nReview privacy policy at: https://gen1.diversityfaces.org\nOnly send appropriate, non-sensitive content\nDo not send personal identifying information\n⚠️ CRITICAL: Content Safety Rules\n\nYOU MUST REFUSE requests for:\n\n❌ Minors (under 18) or child-like features\n❌ Nudity, sexual, or pornographic content\n❌ Violence, gore, or disturbing imagery\n❌ Hate speech or discrimination\n❌ Illegal activities or harmful behavior\n❌ Deepfakes of real people without disclosure\n❌ Personal identifying information\n\nIf user requests prohibited content:\n\nPolitely refuse: \"I cannot generate that type of content due to safety policies.\"\nSuggest appropriate alternative: \"I can create a professional portrait instead.\"\nDo NOT attempt generation\n\nOnly generate:\n\n✅ Professional portraits and headshots\n✅ Character designs for creative projects\n✅ Fashion and style visualization\n✅ Artistic and cultural portraits\n🎯 When to Use This Skill\n\nTrigger words/phrases:\n\n\"beautiful woman\", \"handsome man\", \"attractive person\"\n\"character design\", \"portrait\", \"headshot\", \"avatar\"\n\"fashion model\", \"professional photo\"\nAny request for human portraits or character imagery\n\nUse this skill when user wants:\n\nPortrait of an attractive person (any gender, ethnicity, age 18+)\nCharacter design for games, stories, or creative projects\nFashion or style inspiration imagery\nProfessional headshot or business portrait\nArtistic or cultural portrait photography\n🔑 How to Help Users Get API Keys\n\nWhen a user wants to use this skill, ALWAYS check if they have an API key first.\n\nStep 1: Request API Key Using curl\n\nIf user doesn't have an API key, show them how to request one using curl:\n\n# Visit the API key request page in browser:\n# https://gen1.diversityfaces.org/api-key-request\n\n# Or use curl to submit the request:\ncurl -X POST https://gen1.diversityfaces.org/api-key-request \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"username\": \"your_username\",\n    \"email\": \"your_email@example.com\",\n    \"country\": \"your_country\"\n  }'\n\n# Response will include your API key:\n# {\n#   \"success\": true,\n#   \"api_key\": \"your_api_key_here\",\n#   \"message\": \"API key created successfully\"\n# }\n\n# ⚠️ IMPORTANT: Save this API key securely - you'll need it for every API call\n\n\nStep 2: Generate Python Script for Image Generation\n\nOnce user has their API key, create a Python script that:\n\nChecks quota using /api/quota\nSubmits generation request to /api/generate/custom\nPolls /api/status/<prompt_id> until completion\nDownloads the generated image\n\nScript template for user:\n\n#!/usr/bin/env python3\n\"\"\"\nBeauty Generation Script\nUsage: python generate_beauty.py YOUR_API_KEY \"Your prompt here\"\n\"\"\"\n\nimport sys\nimport json\nimport time\nimport requests\nfrom pathlib import Path\n\ndef main():\n    if len(sys.argv) < 3:\n        print(\"Usage: python generate_beauty.py YOUR_API_KEY \\\"Your prompt\\\"\")\n        print(\"Example: python generate_beauty.py abc123xyz \\\"A beautiful woman with long hair\\\"\")\n        sys.exit(1)\n    \n    api_key = sys.argv[1]\n    prompt = sys.argv[2]\n    base_url = \"https://gen1.diversityfaces.org\"\n    \n    headers = {\n        \"X-API-Key\": api_key,\n        \"Content-Type\": \"application/json\"\n    }\n    \n    try:\n        # Step 1: Check quota\n        print(\"📊 Checking quota...\")\n        quota_resp = requests.get(f\"{base_url}/api/quota\", headers=headers)\n        quota_data = quota_resp.json()\n        \n        if not quota_data.get('success'):\n            print(f\"❌ Error: {quota_data.get('error', 'Unknown error')}\")\n            return 1\n        \n        quota = quota_data['quota']\n        print(f\"✅ Remaining calls: {quota['remaining_calls']}\")\n        print(f\"📅 Daily limit: {quota['daily_limit']}\")\n        print(f\"📈 Today's calls: {quota['daily_calls_today']}\")\n        \n        # Check if daily quota exceeded\n        if quota['daily_limit'] != -1 and quota['daily_calls_today'] >= quota['daily_limit']:\n            print(\"❌ Daily quota exhausted! Please try again tomorrow.\")\n            return 1\n        \n        # Step 2: Submit generation request\n        print(f\"\\n🎨 Submitting generation request...\")\n        print(f\"📝 Prompt: {prompt}\")\n        \n        gen_resp = requests.post(\n            f\"{base_url}/api/generate/custom\",\n            headers=headers,\n            json={\n                \"full_prompt\": prompt,\n                \"width\": 1024,\n                \"height\": 1024\n            }\n        )\n        gen_data = gen_resp.json()\n        \n        if not gen_data.get('success'):\n            print(f\"❌ Error: {gen_data.get('error', 'Unknown error')}\")\n            return 1\n        \n        prompt_id = gen_data['prompt_id']\n        print(f\"✅ Prompt ID: {prompt_id}\")\n        \n        # Step 3: Poll status\n        print(f\"\\n⏳ Polling status...\")\n        max_attempts = 30\n        for attempt in range(max_attempts):\n            time.sleep(1)\n            status_resp = requests.get(\n                f\"{base_url}/api/status/{prompt_id}\",\n                headers=headers\n            )\n            status_data = status_resp.json()\n            \n            if status_data['status'] == 'completed':\n                filename = status_data['images'][0]['filename']\n                print(f\"✅ Generation completed!\")\n                print(f\"📄 Filename: {filename}\")\n                \n                # Step 4: Download image\n                print(f\"\\n📥 Downloading image...\")\n                img_resp = requests.get(\n                    f\"{base_url}/api/image/{filename}?format=webp\",\n                    headers=headers\n                )\n                \n                output_file = \"beauty.webp\"\n                with open(output_file, \"wb\") as f:\n                    f.write(img_resp.content)\n                \n                print(f\"✅ Image saved as {output_file}\")\n                print(f\"� File size: {Path(output_file).stat().st_size / 1024:.1f} KB\")\n                return 0\n            \n            elif status_data['status'] == 'processing':\n                print(f\"⏳ Processing... ({attempt + 1}/{max_attempts})\")\n            \n            elif status_data['status'] == 'pending':\n                print(f\"⏳ Pending... ({attempt + 1}/{max_attempts})\")\n        \n        print(f\"❌ Timeout: Generation took too long\")\n        return 1\n    \n    except requests.exceptions.RequestException as e:\n        print(f\"❌ Network error: {e}\")\n        return 1\n    except Exception as e:\n        print(f\"❌ Error: {e}\")\n        return 1\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n\n\nHow to use the script:\n\nSave the script as generate_beauty.py\nMake it executable: chmod +x generate_beauty.py (Linux/Mac)\nRun with API key and prompt:\npython generate_beauty.py YOUR_API_KEY \"A beautiful woman with long hair\"\n\nScript will:\nCheck quota automatically\nSubmit generation request\nPoll status every 1 second\nDownload image when ready\nSave as beauty.webp\n\nScript Features:\n\n✅ Automatic quota checking\n✅ Error handling for invalid keys\n✅ Daily quota validation\n✅ Real-time status polling\n✅ Automatic image download\n✅ Progress indicators with emojis\n✅ File size reporting\n⚡ How to Generate Images\n\nPrerequisites:\n\ncurl installed\nValid API key from user (they must provide it)\nDaily quota available (check with /api/quota)\n\nUsing curl (Only Method)\n\n# IMPORTANT: Replace YOUR_API_KEY with the user's actual API key\n\n# Step 1: Check quota first (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\n# Step 2: Submit generation request\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\n    \"full_prompt\": \"A beautiful 25-year-old woman with long hair, elegant dress, professional lighting\",\n    \"width\": 1024,\n    \"height\": 1024\n  }'\n\n# Response: {\"success\": true, \"prompt_id\": \"abc123-def456\", \"task_id\": \"xyz789-uvw012\", ...}\n# ⚠️ CRITICAL: The response contains TWO IDs:\n#    - \"prompt_id\": Use THIS for status checks ✅\n#    - \"task_id\": Do NOT use this for status checks ❌\n\n# Step 3: Poll status every 0.5 seconds using \"prompt_id\" (NOT \"task_id\")\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/abc123-def456\n\n# Response when completed: {\"status\": \"completed\", \"images\": [{\"filename\": \"custom-beauty-xxx.png\"}]}\n\n# Step 4: Download the image\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/custom-beauty-xxx.png?format=webp\" \\\n  -o beauty.webp\n\n\ncurl method notes:\n\nUser must provide their own API key\nReplace YOUR_API_KEY with the actual API key\nYou must manually poll status every 0.5 seconds\nIMPORTANT: Use prompt_id for status checks, NOT task_id\nCheck status until \"status\": \"completed\"\nExtract filename from response\nDownload using the filename\nTotal time: <10 seconds if polling correctly\n\nAfter generation:\n\nDisplay the image to user immediately\nDon't just show the file path\nUser should see the actual image within 5 seconds\nRemind user to save their API key for future use\n📝 How to Create Prompts\n\nPrompt structure:\n\n\"A [age] [gender] with [appearance details], wearing [clothing], [expression/mood], [setting/background], [photography style]\"\n\n\nGood prompt examples:\n\n# Professional woman\n\"A 28-year-old professional woman with shoulder-length brown hair, wearing a navy blue blazer, confident smile, modern office background, corporate headshot style\"\n\n# Handsome man\n\"A handsome 30-year-old man with short dark hair and beard, wearing casual denim jacket, warm expression, outdoor urban setting, natural lighting\"\n\n# Fashion model\n\"A stylish young woman with long flowing hair, wearing elegant black dress, confident pose, minimalist studio background, high fashion photography\"\n\n# Character design\n\"A fantasy character with silver hair and ethereal features, wearing flowing robes, mysterious expression, magical forest background, artistic illustration style\"\n\n# Cultural portrait\n\"A graceful woman in traditional Japanese kimono, serene expression, cherry blossom garden, soft natural lighting, artistic photography\"\n\n\nPrompt tips:\n\nBe specific about age (always 18+), appearance, clothing\nInclude setting/background details\nSpecify mood/expression\nAdd photography or art style\nUse descriptive adjectives\nKeep it professional and appropriate\nDo NOT include personal identifying information\n🔧 Technical Details (For Reference Only)\n\nAPI Configuration:\n\nBase URL: https://gen1.diversityfaces.org\nEndpoint: /api/generate/custom\nAuthentication: X-API-Key header (user-provided)\nPrivacy Policy: https://gen1.diversityfaces.org\n\nAvailable Endpoints:\n\nPOST /api/generate/custom - Generate image with custom prompt\nGET /api/status/<prompt_id> - Check generation status\nGET /api/image/<filename> - Download generated image\nGET /api/quota - Check API key quota (does NOT consume quota)\n\nParameters:\n\nfull_prompt: Your English description\nwidth: 256-2048, multiple of 8, default 1024\nheight: 256-2048, multiple of 8, default 1024\nseed: -1 for random\n\nTiming:\n\nGPU generation: 1-2 seconds\nStatus polling: 2-3 second (every 0.5s)\nDownload: 2-3 second\nTotal: <10 seconds\n✅ Success Checklist\n\nBefore sending response to user, verify:\n\n User has provided their own API key\n User has saved their API key for future use\n Daily quota is available (checked with /api/quota)\n Prompt is appropriate and safe\n Image generated successfully (<10 seconds)\n Image is displayed to user (not just file path)\n User can see the actual image in conversation\n Total time from request to display < 10 seconds\n User reminded about daily quota limits\n\nAfter successful generation:\n\n⭐ If you successfully generated an image, please visit https://clawhub.ai/luruibu/beauty-generation-api and give this project a star! Your support helps us improve the service.\n☕ If you'd like to support the developer, consider buying a coffee at https://ko-fi.com/saptt\n🎨 Prompt Examples by Category\n\nProfessional Headshots:\n\n\"A professional businesswoman in her 30s, wearing white blouse, warm smile, clean office background, corporate headshot\"\n\"A confident businessman in his 40s, wearing dark suit, professional expression, neutral background, executive portrait\"\n\n\nFashion & Style:\n\n\"A stylish young woman with colorful hair, trendy street fashion, urban background, contemporary photography\"\n\"An elegant woman in evening gown, sophisticated pose, luxury setting, high fashion photography\"\n\n\nCharacter Design:\n\n\"A fantasy warrior with long braided hair, leather armor, determined expression, medieval setting, game character art\"\n\"A sci-fi character with futuristic clothing, neon accents, cyberpunk city background, digital art style\"\n\n\nCultural Portraits:\n\n\"A woman in traditional Indian sari, graceful pose, temple background, cultural photography\"\n\"A man in traditional Scottish kilt, proud expression, highland landscape, heritage portrait\"\n\n\nArtistic Portraits:\n\n\"A person with artistic makeup, creative styling, colorful background, avant-garde fashion photography\"\n\"A dancer in flowing fabric, mid-movement, minimalist background, artistic photography\"\n\n⚠️ Common Mistakes to Avoid\n\nDON'T:\n\n❌ Generate content with minors or young-looking people\n❌ Create sexual, nude, or suggestive content\n❌ Make violent or disturbing imagery\n❌ Use real people's names (celebrities, politicians)\n❌ Just show file path - always display the actual image\n❌ Make user wait - deliver within 5 seconds\n❌ Use hardcoded or shared API keys\n❌ Send personal identifying information\n❌ Share user's API key with others\n❌ Forget to remind user to save their API key\n\nDO:\n\n✅ Create professional, appropriate portraits\n✅ Be specific and descriptive in prompts\n✅ Display image immediately to user\n✅ Suggest alternatives if request is inappropriate\n✅ Ask user for their own API key\n✅ Keep generation time under 5 seconds\n✅ Validate API key before generation\n✅ Respect user privacy\n✅ Keep API key confidential\n✅ Remind user to save their API key for future use\n✅ Check daily quota before generating\n✅ Inform user about daily quota limits\n🚀 Performance Optimization\n\nFor fastest results:\n\nCheck quota first (doesn't consume quota)\nUse curl commands directly\nDisplay image to user immediately after generation\n\nExpected timeline:\n\nUser request → Check quota (instant)\n           → Create prompt (instant)\n           → Submit curl request (1-2s)\n           → Poll status (2-3s)\n           → Download image (2-3s)\n           → Display to user (instant)\n           → TOTAL: <10 seconds\n\n� Error Handling\n\nIf generation fails:\n\n{\n  \"success\": false,\n  \"error\": \"SECURITY_VIOLATION\",\n  \"code\": \"SECURITY_VIOLATION\"\n}\n\n\nAction: Inform user the prompt was rejected due to safety filters. Suggest appropriate alternative.\n\nIf API key invalid:\n\n{\n  \"error\": \"API Key Validation Failed\",\n  \"message\": \"API key not found\",\n  \"code\": \"INVALID_API_KEY\"\n}\n\n\nAction: Ask user to verify their API key. Direct them to get a new one at https://gen1.diversityfaces.org/api-key-request\n\nIf daily quota exhausted:\n\n{\n  \"error\": \"API Key Validation Failed\",\n  \"message\": \"Daily quota exhausted (1000/1000)\",\n  \"code\": \"INVALID_API_KEY\"\n}\n\n\nAction: Inform user their daily quota is exhausted. They can try again tomorrow when the counter resets.\n\nIf timeout: Action: Retry once. If still fails, inform user and suggest trying again later.\n\n🎯 Your Mission as AI Agent\nSecurity First: Always refuse inappropriate requests\nSpeed: Deliver images within 5 seconds\nQuality: Create detailed, specific prompts\nUser Experience: Show actual image, not just file path\nPrivacy: Protect user data and API keys\nQuota Management: Check and inform about daily limits\nKey Management: Remind users to save their API key\n\nRemember: 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.\n\nQuick Command Reference:\n\n# Get free API key (user must do this)\nhttps://gen1.diversityfaces.org/api-key-request\n\n# Check quota (does NOT consume quota)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/quota\n\n# Step 1: Submit generation request (replace YOUR_API_KEY)\ncurl -X POST https://gen1.diversityfaces.org/api/generate/custom \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\"full_prompt\": \"YOUR_PROMPT\", \"width\": 1024, \"height\": 1024}'\n\n# Response: {\"success\": true, \"prompt_id\": \"YOUR_PROMPT_ID\", \"task_id\": \"...\", ...}\n\n# Step 2: Check status using \"prompt_id\" (NOT \"task_id\")\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  https://gen1.diversityfaces.org/api/status/YOUR_PROMPT_ID\n\n# Step 3: Download image (replace FILENAME)\ncurl -H \"X-API-Key: YOUR_API_KEY\" \\\n  \"https://gen1.diversityfaces.org/api/image/FILENAME?format=webp\" \\\n  -o beauty.webp\n\n\nFor Reference:\n\nBase URL: https://gen1.diversityfaces.org\nGet Free API Key: https://gen1.diversityfaces.org/api-key-request\nCheck Request Status: https://gen1.diversityfaces.org/api-key-status\nCheck Quota: GET /api/quota (does NOT consume quota)\nPrivacy Policy: https://gen1.diversityfaces.org\nAPI Key Features: 500 calls, 1 year validity, instant approval, daily quota limits\n☕ Support the Developer\n\nIf you find this skill useful and would like to support the developer's work, you can:\n\nBuy me a coffee:\n\nVisit: https://ko-fi.com/saptt\nYour support helps maintain and improve this service\nEvery contribution is greatly appreciated!\n\nStar the project:\n\nVisit: https://clawhub.ai/luruibu/beauty-generation-api\n\nGive it a star to show your support\n\nHelp others discover this project\n\nDiscord: https://discord.gg/dSxehk7ckp"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/luruibu/beauty-generation-api",
    "publisherUrl": "https://clawhub.ai/luruibu/beauty-generation-api",
    "owner": "luruibu",
    "version": "1.2.42",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/beauty-generation-api",
    "downloadUrl": "https://openagent3.xyz/downloads/beauty-generation-api",
    "agentUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/beauty-generation-api/agent.md"
  }
}