Skip to content

MCP (Model Context Protocol)

Connect FOTOhub's 30 creative AI tools to any MCP-compatible client — Claude Desktop, Cursor, Windsurf, VS Code Copilot, and more.

Quick Start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{
  "mcpServers": {
    "fotohub": {
      "url": "https://apis.fotohub.app/mcp/",
      "headers": {
        "Authorization": "Bearer fh_live_YOUR_API_KEY"
      }
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

json
{
  "mcpServers": {
    "fotohub": {
      "url": "https://apis.fotohub.app/mcp/",
      "headers": {
        "Authorization": "Bearer fh_live_YOUR_API_KEY"
      }
    }
  }
}

VS Code (GitHub Copilot)

In .vscode/mcp.json:

json
{
  "servers": {
    "fotohub": {
      "type": "http",
      "url": "https://apis.fotohub.app/mcp/",
      "headers": {
        "Authorization": "Bearer fh_live_YOUR_API_KEY"
      }
    }
  }
}

Authentication

All requests require a Bearer token with your FOTOhub API key:

Authorization: Bearer fh_live_YOUR_API_KEY

Get your API key at fotohub.app/console → API Keys.

Available Tools (30)

Image (8 tools)

ToolDescription
generate_imageGenerate an image from text prompt. Models: seedream, flux-2-pro, imagen-4, grok-imagine
edit_imageEdit an image (inpaint, background swap, outpaint)
upscale_imageAI super-resolution (2x/4x)
remove_backgroundRemove background from image
enhance_promptAI-enhance your image prompt for better results
analyze_imageAnalyze image (tags, colors, NSFW detection, OCR)
style_transferApply artistic style to an image
inpaint_imageRemove or replace objects in an image

Video (7 tools)

ToolDescription
generate_videoGenerate video from text (async — returns job_id)
image_to_videoAnimate a still image into video
extend_videoExtend an existing video
generate_storyCreate multi-scene film with voiceover
generate_shortsAuto-cut long video into social shorts
get_job_statusCheck status of async video/music jobs
add_subtitlesAdd subtitles to a video

Audio (6 tools)

ToolDescription
text_to_speechConvert text to speech (multiple voices/languages)
generate_musicGenerate music from description (async)
generate_sfxGenerate sound effects
transcribe_audioSpeech-to-text transcription
voice_cloneClone a voice from audio sample
separate_stemsSeparate audio into vocal/drum/bass/other tracks

Chat (3 tools)

ToolDescription
chat_completionLLM chat (Claude, GPT, Gemini)
translate_textTranslate text between languages
gabriel_routeSmart intent classifier — analyzes prompt and suggests best action

Utility (4 tools)

ToolDescription
check_balanceCheck your credit balance
list_modelsList all available AI models with pricing
list_generationsView generation history
search_photosSemantic photo search in your library

Training (2 tools)

ToolDescription
create_training_jobStart a LoRA/voice training job
get_training_statusCheck training job progress

Async Operations

Video generation, music creation, and training are asynchronous. They return a job_id — use get_job_status to poll for completion:

1. generate_video(prompt="A sunset over mountains") → job_id: "vid_abc123"
2. get_job_status(job_id="vid_abc123") → {status: "processing", progress: 45}
3. get_job_status(job_id="vid_abc123") → {status: "completed", video_url: "https://..."}

Resources

The server also exposes MCP resources for browsing:

URIDescription
fotohub://models/imageAvailable image generation models
fotohub://models/videoAvailable video generation models
fotohub://models/audioAvailable audio/music models
fotohub://pricingCurrent pricing table
fotohub://balanceYour credit balance

Prompts

Pre-built prompt templates for common workflows:

PromptDescription
creative_briefGenerate a creative brief for a project
video_directorPlan a multi-scene video production
product_photoGenerate product photography

Protocol Details

  • Protocol version: 2025-03-26
  • Transport: Streamable HTTP (JSON-RPC 2.0 over POST, optional SSE)
  • Server endpoint: https://apis.fotohub.app/mcp/
  • Health check: GET https://apis.fotohub.app/mcp/health

Billing

Each tool call deducts credits from your account. Use check_balance to monitor usage. Pricing varies by model — use list_models to see current rates.

If credits run out mid-request, you'll receive an error: "Insufficient credits — top up at fotohub.app/console"