Photo AI Studio

AI photos from a selfie across 150+ themes, plus 19 image edits and AI video.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
68%
Naming quality
97%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'browse_themes' suggests web access but openWorldHint=falsein browse_themes

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,600Tokens (tool definitions)
~1.5 KBTypical response size
Significant attention impact (2.03% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "photo-ai-studio": {
      "url": "https://www.photoaistudio.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.photoaistudio.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (12)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_photo_themes

List Photo AI Studio photo theme categories (professional headshots, dating, wedding, graduation, and many more) with the URL of each category page.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_pricing

Get Photo AI Studio credit-package and subscription pricing, plus the credit cost per generated photo.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_service_overview

Get an overview of Photo AI Studio: what it does, when to use it, best-fit use cases, and the key links agents need (llms.txt content).

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_api_capabilities

Explain how an agent actually calls Photo AI Studio: connecting over MCP, the unauthenticated discovery endpoints, the REST fulfillment API, and how to buy credits.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_account

Get the connected Photo AI Studio account: credit balance, total predictions, and membership date. Check this before generating, because every photo costs credits. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢browse_themes(gender, tag)

Browse the photo themes available for generation, optionally filtered by gender category or a keyword. Returns the theme slugs that generate_photo expects. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female",
        "groups",
        "pets",
        "product"
      ],
      "description": "Filter themes by gender category"
    },
    "tag": {
      "type": "string",
      "description": "Search themes by name or keyword"
    }
  },
  "additionalProperties": false
}
🟡upload_image(image_url, image_base64)

Upload an image to the Photo AI Studio CDN and get back a URL. generate_photo, edit_image, and create_video all take CDN URLs, so start here. Accepts a public image URL or base64 data, up to 10 MB. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string",
      "description": "Public URL of the image to upload"
    },
    "image_base64": {
      "type": "string",
      "description": "Base64-encoded image data, raw or as a data URI. Use this when the image is not already on the web."
    }
  },
  "additionalProperties": false
}
🟡generate_photo(images, gender, category, type, prompt, ...)

Generate AI photos from face images, using a preset theme or a custom prompt. Costs 100 credits per photo. Upload the face photos with upload_image first, and find theme slugs with browse_themes. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "images": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "CDN URLs of face photos (1-9), from upload_image"
    },
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female",
        "groups",
        "pets",
        "product"
      ],
      "description": "Gender category for theme selection"
    },
    "category": {
      "type": "string",
      "description": "Theme slug from browse_themes, required when type is themed"
    },
    "type": {
      "type": "string",
      "enum": [
        "themed",
        "custom"
      ],
      "description": "themed uses a preset style, custom uses your prompt"
    },
    "prompt": {
      "type": "string",
      "description": "Custom prompt, required when type is custom"
    },
    "num_images": {
      "type": "number",
      "description": "Number of variations to generate (1-4)"
    },
    "style": {
      "type": "string",
      "description": "Style override, for example \"realistic\""
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "1:1",
        "2:3",
        "3:2",
        "16:9",
        "9:16"
      ],
      "description": "Output aspect ratio"
    },
    "wait_for_result": {
      "type": "boolean",
      "description": "Wait up to 55 seconds for the result before returning. Defaults to false: the tool returns a prediction_id immediately and you poll get_prediction, which is the reliable pattern for photos and videos."
    }
  },
  "required": [
    "images",
    "gender"
  ],
  "additionalProperties": false
}
🔴edit_image(operation, image_url, prompt, hairstyle, hair_color, ...)

Edit a photo with one of 19 AI operations. Credit costs: remove_background 10, replace_background 3, everything else 100. Operations and their required arguments: - remove_background (image_url) - replace_background (image_url, prompt) - retouch (image_url, prompt) - skin (image_url) - hair (image_url, plus hairstyle or reference_image_url) - makeup (image_url) - age (image_url, target_age) - expression (image_url, target_expression) - body_type (image_url, target_body_type) - eye_color (image_url, target_eye_color) - color_correction (image_url) - custom (image_url, prompt) - clothes (image_url, clothes_image_url) - try_on (image_url, clothes_image_url) - product (image_url, product_image_url) - upscale (image_url) - restore (image_url) - face_swap (source_image_url, target_image_url) - extend (image_url) Every image argument must be a CDN URL from upload_image. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "remove_background",
        "replace_background",
        "retouch",
        "skin",
        "hair",
        "makeup",
        "age",
        "expression",
        "body_type",
        "eye_color",
        "color_correction",
        "custom",
        "clothes",
        "try_on",
        "product",
        "upscale",
        "restore",
        "face_swap",
        "extend"
      ],
      "description": "The edit operation to perform"
    },
    "image_url": {
      "type": "string",
      "description": "CDN URL of the image to edit, required for every operation except face_swap"
    },
    "prompt": {
      "type": "string",
      "description": "Text prompt for replace_background, retouch, and custom"
    },
    "hairstyle": {
      "type": "string",
      "description": "Target hairstyle for the hair operation"
    },
    "hair_color": {
      "type": "string",
      "description": "Target hair color for the hair operation"
    },
    "reference_image_url": {
      "type": "string",
      "description": "Reference image for hair or custom"
    },
    "target_age": {
      "type": "number",
      "description": "Target age for the age operation"
    },
    "target_expression": {
      "type": "string",
      "description": "Target expression, for example \"happy\""
    },
    "target_body_type": {
      "type": "string",
      "description": "Target body type"
    },
    "target_eye_color": {
      "type": "string",
      "description": "Target eye color"
    },
    "clothes_image_url": {
      "type": "string",
      "description": "Clothes image for clothes and try_on"
    },
    "product_image_url": {
      "type": "string",
      "description": "Product image for the product operation"
    },
    "source_image_url": {
      "type": "string",
      "description": "Source face image for face_swap"
    },
    "target_image_url": {
      "type": "string",
      "description": "Target image for face_swap"
    },
    "num_images": {
      "type": "number",
      "description": "Number of variations for try_on (1-4)"
    },
    "wait_for_result": {
      "type": "boolean",
      "description": "Wait up to 55 seconds for the result before returning. Defaults to false: the tool returns a prediction_id immediately and you poll get_prediction, which is the reliable pattern for photos and videos."
    }
  },
  "required": [
    "operation"
  ],
  "additionalProperties": false
}
🟡create_video(type, image_url, prompt, resolution, duration, ...)

Create an AI video. Costs 500 credits for a video, or 100 credits for a product_holder image. Types: - image_to_video: animate an image (image_url, prompt) - ugc: a spokesperson video from a script (script, voice_id) - product_holder: a person presenting a product (product_image_url) Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "image_to_video",
        "ugc",
        "product_holder"
      ],
      "description": "Type of video to create"
    },
    "image_url": {
      "type": "string",
      "description": "CDN URL of the image to animate"
    },
    "prompt": {
      "type": "string",
      "description": "Animation prompt, required for image_to_video"
    },
    "resolution": {
      "type": "string",
      "description": "Video resolution, default 720p"
    },
    "duration": {
      "type": "number",
      "description": "Duration in seconds, default 4"
    },
    "aspect_ratio": {
      "type": "string",
      "description": "Output aspect ratio"
    },
    "script": {
      "type": "string",
      "description": "UGC script, up to 150 characters"
    },
    "voice_id": {
      "type": "string",
      "description": "Voice ID for UGC"
    },
    "emotion": {
      "type": "string",
      "description": "UGC emotion, default neutral"
    },
    "language": {
      "type": "string",
      "description": "UGC language, default English"
    },
    "gender": {
      "type": "string",
      "description": "UGC model gender"
    },
    "person_image_url": {
      "type": "string",
      "description": "Person image for product_holder"
    },
    "product_image_url": {
      "type": "string",
      "description": "Product image, required for product_holder"
    },
    "output_type": {
      "type": "string",
      "enum": [
        "image",
        "video"
      ],
      "description": "product_holder output: image costs 100 credits, video costs 500"
    },
    "person_prompt": {
      "type": "string",
      "description": "Person description for product_holder"
    },
    "wait_for_result": {
      "type": "boolean",
      "description": "Wait up to 55 seconds for the result before returning. Defaults to false: the tool returns a prediction_id immediately and you poll get_prediction, which is the reliable pattern for photos and videos."
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false
}
🟢get_prediction(prediction_id)

Check an operation started by generate_photo, edit_image, or create_video. Returns the state and, once finished, the result URL. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "prediction_id": {
      "type": "string",
      "description": "The prediction_id returned when the operation started"
    }
  },
  "required": [
    "prediction_id"
  ],
  "additionalProperties": false
}
🟢list_predictions(page, limit, state)

List past generations, edits, and videos, with paging and an optional state filter. Requires a connected Photo AI Studio account. Calling this tool starts the sign-in flow.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "type": "number",
      "description": "Page number, default 1"
    },
    "limit": {
      "type": "number",
      "description": "Items per page, default 20, maximum 100"
    },
    "state": {
      "type": "string",
      "enum": [
        "pending",
        "succeeded",
        "failed"
      ],
      "description": "Filter by state"
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools