# Gan.AI — how to use (mcp.ai)

Connect your Gan.AI account and use 8 tools for artificial intelligence straight from your AI agent. Connect with your own API key. Gan.AI provides advanced APIs for text-to-speech, voice cloning, and video personalization, enabling developers to integrate natural and expressive speech synthesis into their applications.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_gan_ai?ms=1787296020000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `gan_ai_get_avatar_video_inference_details`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/gan_ai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/gan_ai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/gan_ai/get/avatar/video/inference/details` — Tool to retrieve detailed status and metadata for a specific avatar video inference. Use when you have an inference_id and need to check its processing status and access video URLs.
  - body: { inference_id: string }
- `POST https://api.mcp.ai/api/gan_ai/get/photo/avatar/details` — Tool to retrieve detailed information for a specific photo avatar by ID. Use when you need to check photo avatar processing status and access its metadata and image URL.
  - body: { photo_avatar_id: string }
- `POST https://api.mcp.ai/api/gan_ai/get/photo/avatar/inference/details` — Tool to fetch photo avatar inference details. Use after obtaining a valid inference ID to retrieve detailed information.
  - body: { downloadable_link?: boolean, photo_avatar_inference_id: string }
- `POST https://api.mcp.ai/api/gan_ai/list/avatar/videos` — Tool to list avatar video inferences. Use when you need to retrieve generated avatar videos with optional filtering by avatar ID, title, status, or date range.
  - body: { skip?: integer, limit?: integer, status?: string[], avatar_id?: string, avatar_title?: string, end_datetime?: string, start_datetime?: string, inference_title?: string }
- `POST https://api.mcp.ai/api/gan_ai/list/photo/avatar/inferences` — Tool to list photo avatar inferences. Use when you need to retrieve inference videos with optional filtering by avatar, title, status, or date range.
  - body: { skip?: integer, limit?: integer, title?: string, status?: string[], end_datetime?: string, start_datetime?: string, photo_avatar_id?: string }
- `POST https://api.mcp.ai/api/gan_ai/list/photo/avatars` — Tool to list avatars. Use when you need a paginated collection of avatars with filters. Example: "List the first 10 published avatars created after 2023-01-01".
  - body: { skip?: integer, limit?: integer, title?: string, status?: string[], end_datetime?: string, start_datetime?: string }
- `POST https://api.mcp.ai/api/gan_ai/login` — Tool to authenticate a user and retrieve access and refresh tokens. Use when you need to login before calling other GAN.AI API actions.
  - body: { email: string, password: string }
- `POST https://api.mcp.ai/api/gan_ai/tts` — Convert text to speech using GAN.AI's Text-to-Speech API. This tool synthesizes speech from text using a specified voice. The voice_id must be obtained from the GAN.AI Get Voices endpoint or from your
  - body: { text: string, voice_id: string }

## Example prompts
- "What can I do in Gan.AI?"
- "Show me a summary of my Gan.AI account"

## More
- Page: https://mcp.ai/gan_ai
- Agent spec (llms.txt): https://mcp.ai/gan_ai/llms.txt
- Postman collection: https://mcp.ai/gan_ai/postman.json
