AI photos from a selfie across 150+ themes, plus 19 image edits and AI video.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Search themes by name or keyword
Filter themes by gender category
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.
| Argument | Type | Description |
|---|---|---|
| tag | string | Search themes by name or keyword |
| gender | string | Filter themes by gender category |
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "Search themes by name or keyword"
},
"gender": {
"enum": [
"male",
"female",
"groups",
"pets",
"product"
],
"type": "string",
"description": "Filter themes by gender category"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| type* | string | Type of video to create |
| gender | string | UGC model gender |
| prompt | string | Animation prompt, required for image_to_video |
| script | string | UGC script, up to 150 characters |
| emotion | string | UGC emotion, default neutral |
| duration | number | Duration in seconds, default 4 |
| language | string | UGC language, default English |
| voice_id | string | Voice ID for UGC |
| image_url | string | CDN URL of the image to animate |
| resolution | string | Video resolution, default 720p |
| output_type | string | product_holder output: image costs 100 credits, video costs 500 |
| aspect_ratio | string | Output aspect ratio |
| person_prompt | string | Person description for product_holder |
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.
| Argument | Type | Description |
|---|---|---|
| prompt | string | Text prompt for replace_background, retouch, and custom |
| hairstyle | string | Target hairstyle for the hair operation |
| image_url | string | CDN URL of the image to edit, required for every operation except face_swap |
| operation* | string | The edit operation to perform |
| hair_color | string | Target hair color for the hair operation |
| num_images | number | Number of variations for try_on (1-4) |
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.
| Argument | Type | Description |
|---|---|---|
| type | string | themed uses a preset style, custom uses your prompt |
| style | string | Style override, for example "realistic" |
| gender* | string | Gender category for theme selection |
| images* | array | CDN URLs of face photos (1-9), from upload_image |
| prompt | string | Custom prompt, required when type is custom |
| category | string | Theme slug from browse_themes, required when type is themed |
| num_images | number | Number of variations to generate (1-4) |
| aspect_ratio | string | Output aspect ratio |
| wait_for_result | boolean | 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. |
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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| prediction_id* | string | The prediction_id returned when the operation started |
{
"type": "object",
"required": [
"prediction_id"
],
"properties": {
"prediction_id": {
"type": "string",
"description": "The prediction_id returned when the operation started"
}
},
"additionalProperties": false
}Get Photo AI Studio credit-package and subscription pricing, plus the credit cost per generated photo.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List Photo AI Studio photo theme categories (professional headshots, dating, wedding, graduation, and many more) with the URL of each category page.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number, default 1 |
| limit | number | Items per page, default 20, maximum 100 |
| state | string | Filter by state |
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number, default 1"
},
"limit": {
"type": "number",
"description": "Items per page, default 20, maximum 100"
},
"state": {
"enum": [
"pending",
"succeeded",
"failed"
],
"type": "string",
"description": "Filter by state"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Public URL of the image to upload |
| image_base64 | string | Base64-encoded image data, raw or as a data URI. Use this when the image is not already on the web. |
{
"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
}| wait_for_result | boolean | 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. |
| person_image_url | string | Person image for product_holder |
| product_image_url | string | Product image, required for product_holder |
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"image_to_video",
"ugc",
"product_holder"
],
"type": "string",
"description": "Type of video to create"
},
"gender": {
"type": "string",
"description": "UGC model gender"
},
"prompt": {
"type": "string",
"description": "Animation prompt, required for image_to_video"
},
"script": {
"type": "string",
"description": "UGC script, up to 150 characters"
},
"emotion": {
"type": "string",
"description": "UGC emotion, default neutral"
},
"duration": {
"type": "number",
"description": "Duration in seconds, default 4"
},
"language": {
"type": "string",
"description": "UGC language, default English"
},
"voice_id": {
"type": "string",
"description": "Voice ID for UGC"
},
"image_url": {
"type": "string",
"description": "CDN URL of the image to animate"
},
"resolution": {
"type": "string",
"description": "Video resolution, default 720p"
},
"output_type": {
"enum": [
"image",
"video"
],
"type": "string",
"description": "product_holder output: image costs 100 credits, video costs 500"
},
"aspect_ratio": {
"type": "string",
"description": "Output aspect ratio"
},
"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."
},
"person_image_url": {
"type": "string",
"description": "Person image for product_holder"
},
"product_image_url": {
"type": "string",
"description": "Product image, required for product_holder"
}
},
"additionalProperties": false
}| target_age | number | Target age for the age operation |
| wait_for_result | boolean | 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. |
| source_image_url | string | Source face image for face_swap |
| target_body_type | string | Target body type |
| target_eye_color | string | Target eye color |
| target_image_url | string | Target image for face_swap |
| clothes_image_url | string | Clothes image for clothes and try_on |
| product_image_url | string | Product image for the product operation |
| target_expression | string | Target expression, for example "happy" |
| reference_image_url | string | Reference image for hair or custom |
{
"type": "object",
"required": [
"operation"
],
"properties": {
"prompt": {
"type": "string",
"description": "Text prompt for replace_background, retouch, and custom"
},
"hairstyle": {
"type": "string",
"description": "Target hairstyle for the hair operation"
},
"image_url": {
"type": "string",
"description": "CDN URL of the image to edit, required for every operation except face_swap"
},
"operation": {
"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"
],
"type": "string",
"description": "The edit operation to perform"
},
"hair_color": {
"type": "string",
"description": "Target hair color for the hair operation"
},
"num_images": {
"type": "number",
"description": "Number of variations for try_on (1-4)"
},
"target_age": {
"type": "number",
"description": "Target age for the age operation"
},
"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."
},
"source_image_url": {
"type": "string",
"description": "Source face image for face_swap"
},
"target_body_type": {
"type": "string",
"description": "Target body type"
},
"target_eye_color": {
"type": "string",
"description": "Target eye color"
},
"target_image_url": {
"type": "string",
"description": "Target image for face_swap"
},
"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"
},
"target_expression": {
"type": "string",
"description": "Target expression, for example \"happy\""
},
"reference_image_url": {
"type": "string",
"description": "Reference image for hair or custom"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"images",
"gender"
],
"properties": {
"type": {
"enum": [
"themed",
"custom"
],
"type": "string",
"description": "themed uses a preset style, custom uses your prompt"
},
"style": {
"type": "string",
"description": "Style override, for example \"realistic\""
},
"gender": {
"enum": [
"male",
"female",
"groups",
"pets",
"product"
],
"type": "string",
"description": "Gender category for theme selection"
},
"images": {
"type": "array",
"items": {
"type": "string"
},
"description": "CDN URLs of face photos (1-9), from upload_image"
},
"prompt": {
"type": "string",
"description": "Custom prompt, required when type is custom"
},
"category": {
"type": "string",
"description": "Theme slug from browse_themes, required when type is themed"
},
"num_images": {
"type": "number",
"description": "Number of variations to generate (1-4)"
},
"aspect_ratio": {
"enum": [
"1:1",
"2:3",
"3:2",
"16:9",
"9:16"
],
"type": "string",
"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."
}
},
"additionalProperties": false
}