---
name: regiai
description: Create and edit AI videos, images and audio with RegiAI — text/image to video, talking photos, lip sync, face and character swap, image generation and editing, virtual try-on, upscaling, background and watermark removal, voice generation and cloning, music, sound effects, transcription, subtitles and dubbing. Use when the user asks to create, edit or analyze media and has a RegiAI API token (REGIAI_API_TOKEN).
---

# RegiAI

RegiAI (https://regiai.com) is an AI workspace. This skill calls its video, image and audio tools through the REST API or the MCP server. Every paid call is charged to the RegiAI account that owns the token, so tell the user the price before running a paid tool on a large batch.

## Authentication

Read the token from the `REGIAI_API_TOKEN` environment variable. If it is missing, ask the user to create one at https://regiai.com/dashboard#api-tokens. Never print the token.

## Option A: MCP (preferred when the client supports MCP)

Server URL: `https://regiai.com/api/mcp` (Streamable HTTP), header `Authorization: Bearer $REGIAI_API_TOKEN`.

Claude Code:

```bash
claude mcp add --transport http regiai https://regiai.com/api/mcp --header "Authorization: Bearer $REGIAI_API_TOKEN"
```

Tools: `generate_image`, `upscale_image`, `remove_background`, `remove_watermark`, `restore_photo`, `unblur_image`, `face_swap`, `describe_image`, `image_to_text`, `answer_picture_question`, `analyze_image`, `regiai_get_balance`, `regiai_list_tools`.

## Option B: REST API

One endpoint for every tool:

```bash
curl -X POST https://regiai.com/api/v1/process \
  -H "Authorization: Bearer $REGIAI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tool": "ai-image-upscaler", "image": "https://example.com/photo.jpg"}'
```

Success response:

```json
{"success": true, "result_url": "https://...", "processing_time": "8123ms", "credits_used": 0.03, "remaining_credits": 4.97}
```

For analysis tools (`image-describer`, `ai-image-to-text`, `picture-answer`, `ai-identifier`) `result_url` contains the text result.

## Generation tools (video, image, audio)

These run asynchronously. Start one, then poll until `status` is `completed` (or `failed`, which is refunded automatically):

```bash
curl -X POST https://regiai.com/api/v1/generate \
  -H "Authorization: Bearer $REGIAI_API_TOKEN" -H "Content-Type: application/json" \
  -d '{"tool": "ai-voice-generator", "text": "Hello!", "voice_id": "English_Wiselady"}'
# -> {"success": true, "generation_id": 123, "status": "processing", "status_url": ".../api/v1/generations/123"}

curl https://regiai.com/api/v1/generations/123 -H "Authorization: Bearer $REGIAI_API_TOKEN"
# -> {"status": "completed", "output_url": "https://...", "output_text": null}
```

Media inputs (images, videos, audio) are public `https://` URLs or base64 data URIs. `GET https://regiai.com/api/v1/catalog` lists every tool with its exact inputs, options and price. Over MCP each tool is exposed with underscores (e.g. `ai_voice_generator`) plus `get_generation` for polling. Poll every 5–10 seconds; most tools finish in under a minute, music and colorization can take a few minutes.

| API `tool` | What it does | Price |
|---|---|---|
| `ai-image-editor` | Edit photos with a prompt (inputs: image*, prompt*; * = required) | $0.03 per image |
| `ai-clothes-changer` | Try on outfits virtually (inputs: person_image*, garment_image*; * = required) | $0.05 per try-on |
| `ai-head-swap` | Swap heads in photos (inputs: body_image*, head_image*; * = required) | $0.10 per swap |
| `ai-face-editor` | Change facial expressions (inputs: image*, expression*; * = required) | $0.03 per image |
| `ai-image-expander` | Extend images with AI (inputs: image*, aspect_ratio, prompt; * = required) | $0.03 per image |
| `ai-photo-colorizer` | Colorize black & white photos (inputs: image*; * = required) | $0.03 per photo |
| `ai-selfie-generator` | Stylized selfies and avatars (inputs: input_image*, style, persona; * = required) | $0.10 per image |
| `ai-anime-filter` | Turn photos into anime (inputs: image*; * = required) | $0.03 per image |
| `ai-video-generator` | Text and image to video with sound (inputs: prompt*, image, duration, aspect_ratio; * = required) | from $0.50 |
| `ai-talking-photo` | Make photos talk (inputs: image*, voice_script*, voice, voice_language; * = required) | $0.40 per 100 characters |
| `ai-lip-sync` | Sync lips to any audio (inputs: video*, audio*, consent*; * = required) | $0.35 per video (up to 10s) |
| `ai-face-swap-video` | Swap faces in videos (inputs: face*, video*, consent*; * = required) | $0.30 per video (up to 10s) |
| `ai-character-replace` | Replace characters in videos (inputs: video*, character_image*, resolution; * = required) | from $0.50 |
| `ai-video-restyle` | Restyle videos with a prompt (inputs: video*, prompt*, quality; * = required) | from $0.60 |
| `ai-video-upscaler` | Upscale videos to 1080p (inputs: video*; * = required) | $0.80 per video (up to 10s, 1080p) |
| `ai-subtitle-generator` | Generate SRT subtitles (inputs: video*, language, translate; * = required) | $0.10 per video |
| `ai-video-to-audio` | Add sound to silent videos (inputs: video*, prompt; * = required) | $0.05 per video |
| `ai-video-extender` | Make clips longer (inputs: video*, prompt*; * = required) | $1.50 per extension (+6s) |
| `ai-video-colorizer` | Colorize old videos (inputs: video*; * = required) | $0.10 per video (up to 30s) |
| `ai-voice-generator` | Text to natural speech (inputs: text*, voice_id, emotion; * = required) | $0.15 per 1,000 characters (min $0.05) |
| `ai-voice-cloner` | Clone a voice from a sample (inputs: reference_audio*, reference_text, text*, language, consent*; * = required) | $0.10 per 1,000 characters |
| `ai-music-generator` | Songs from a prompt (inputs: prompt*, lyrics, is_instrumental; * = required) | $0.40 per song |
| `ai-voice-changer` | Change a voice in any recording (inputs: source_audio*, reference_audio*, consent*; * = required) | $0.05 per recording |
| `ai-audio-translator` | Dub speech into 18 languages (inputs: video*, target_language; * = required) | $0.09 per second (min $0.50) |
| `ai-speech-to-text` | Transcribe audio to text (inputs: audio*, language, translate; * = required) | $0.05 per file |
| `ai-sound-effects` | Sound effects from text (inputs: prompt*, duration; * = required) | $0.05 per sound |
| `ai-vocal-remover` | Separate vocals and music (inputs: audio*, keep; * = required) | $0.10 per song |

## Instant image tools

These answer in the same request via `POST /api/v1/process`.

### Instant tool list

| API `tool` | MCP tool | Required fields | Price |
|---|---|---|---|
| `nano-banana` | `generate_image` | `prompt` (optional `image`, `aspect_ratio`) | $0.10 |
| `ai-image-upscaler` | `upscale_image` | `image` | $0.03 |
| `background-remover` | `remove_background` | `image` | $0.10 |
| `watermark-remover` | `remove_watermark` | `image` | $0.10 |
| `photo-restoration` | `restore_photo` | `image` | $0.10 |
| `image-unblur` | `unblur_image` | `image` | $0.05 |
| `face-swap` | `face_swap` | `image` (source face), `target_image` | $0.01 |
| `image-describer` | `describe_image` | `image` | $0.01 |
| `ai-image-to-text` | `image_to_text` | `image` | $0.01 |
| `picture-answer` | `answer_picture_question` | `image` | $0.01 |
| `ai-identifier` | `analyze_image` | `prompt` (optional `image`, `system_prompt`) | $0.01 |

`GET https://regiai.com/api/v1/tools` returns the live list and prices.

## Inputs

- `image` and `target_image` accept a public `https://` URL or a base64 data URI (`data:image/png;base64,...`). Max 20 MB.
- For local files, base64-encode them into a data URI.

## Workflow

1. Confirm the task maps to a tool above; pick the cheapest tool that does the job.
2. For more than a few paid calls, state the total cost and check the balance (`regiai_get_balance`) first.
3. Call the tool, then download `result_url` if the user wants a local file.
4. On errors: `401` means a missing or invalid token; `402` or an insufficient-balance message means the user must add credits at https://regiai.com/pricing; `422` lists invalid fields; `429` means slow down (60 requests per minute).
