Photoshoot AI Design

Official Photoshoot.app MCP server. Generate studio-quality AI product photos, photoshoot ideas, and commercial visuals directly from Claude, Cursor, Codex, and other MCP clients.

Documentation

PhotoShoot AI Design

License: MIT MCP Claude Code Pi Agent OpenLLM

AI-powered photoshoot design tools with MCP servers, reusable skills, and intelligent agents. Supports WaveSpeed AI, Nano Banana, OpenAI, Stability AI, and PhotoShoot App integration.

Quick Setup → | Documentation → | Examples →

Overview

PhotoShoot AI Design extends the photoshoot.app platform with advanced AI agent capabilities through the Model Context Protocol (MCP). This project provides a unified interface to multiple AI image generation services, enabling seamless photoshoot automation for:

  • E-commerce - Product photography for Amazon, Shopify, and online stores
  • Fashion - OOTD (Outfit of the Day) content for social media
  • Marketing - Campaign visuals and brand content
  • Portraits - Professional headshots and personal branding

Features

AI Provider Integration

Seamlessly switch between multiple AI providers:

ProviderModelsBest ForPricing
WaveSpeed AI700+ models including FLUX, Stable Diffusion, Kling, Veo, SoraProduct photography, video contentCompetitive rates
Nano BananaGoogle Gemini's native image generationFashion, OOTD, lifestyle~$0.02/image
OpenAIDALL-E 3, GPT-4Professional portraits, creative conceptsStandard OpenAI pricing
Stability AIStable Diffusion XLCustom styles, artistic content$0.004-$0.02/image
PhotoShoot AppProprietary photoshoot modelsE-commerce, brand consistencyPlatform pricing
fal.aiFast inferenceRapid prototyping, batch processingPay-per-use

MCP Tools

Complete set of Model Context Protocol tools:

  • photoshoot_generate - Generate AI photos from text or reference images
  • photoshoot_edit - Edit and enhance existing images
  • photoshoot_template - Get available templates and styles
  • photoshoot_batch - Process multiple images in batch
  • photoshoot_variations - Generate image variations
  • photoshoot_upscale - Upscale images to higher resolution

Skills System

Modular, reusable skills for common design workflows:

SkillDescriptionUse Cases
product-photographyProfessional product photo generationE-commerce, product listings, catalogs
ootd-fashionFashion and lifestyle content creationInstagram, TikTok, Pinterest fashion
image-enhancementAI-powered photo editing and retouchingPost-processing, optimization
brand-styleBrand-consistent visual generationCampaigns, marketing materials
batch-productionHigh-volume batch processingCatalog production, bulk operations

AI Agents

Autonomous agents for complex workflows:

DesignerAgent

  • Analyze reference images and extract style parameters
  • Generate photos based on brand guidelines
  • Create platform-specific content (Amazon, Instagram, TikTok)
  • Manage template libraries

OptimizerAgent

  • Batch image enhancement
  • Platform optimization (Amazon, Shopify, social media)
  • Background removal and replacement
  • Watermarking and formatting

Installation

Quick Start (3 minutes)

# Clone the repository
git clone git@github.com:photoshootapp/photoshoot-ai-design.git
cd photoshoot-ai-design

# Install dependencies
npm install

# Configure API keys
cp .env.example .env
# Edit .env and add your API keys

# Start MCP server
npm run mcp:start

See SETUP.md for detailed setup instructions and API key acquisition.

Claude Code Plugin

# Install from plugin marketplace
claude plugin install photoshoot-ai-design

# Or manually configure in .claude/settings.json
{
  "mcpServers": {
    "photoshoot": {
      "command": "node",
      "args": ["packages/mcp-server/dist/index.js"],
      "cwd": "/path/to/photoshoot-ai-design"
    }
  }
}

Pi Agent Plugin

pi-agent plugin add photoshoot-ai-design

OpenLLM Plugin

import openllm

plugin = openllm.load_plugin("photoshoot-ai-design")
model = openllm.start("vllm/nano-banana", plugins=[plugin])

Usage

MCP Tool Examples

// Generate product photography
await mcpClient.callTool({
  name: "photoshoot_generate",
  arguments: {
    type: "product",
    provider: "wavespeed",
    prompt: "Professional product photo of wireless headphones",
    style: "studio",
    quantity: 4
  }
});

// Generate OOTD fashion content
await mcpClient.callTool({
  name: "photoshoot_generate",
  arguments: {
    type: "ootd",
    provider: "nano-banana",
    prompt: "Streetwear fashion photoshoot, urban setting",
    style: "vibrant",
    quantity: 6
  }
});

// Edit and enhance images
await mcpClient.callTool({
  name: "photoshoot_edit",
  arguments: {
    image: "https://example.com/product.jpg",
    provider: "auto",
    edits: {
      lighting: "studio",
      background: "white",
      retouch: true
    }
  }
});

Skill Examples

# Product photography
/photoshoot-design product --reference="product.jpg" --style=studio --platform=amazon

# OOTD fashion
/photoshoot-design ootd --reference="outfit.jpg" --style=streetwear --location=urban

# Image enhancement
/photoshoot-design enhance --image="photo.jpg" --intensity=medium

Agent Examples

import { DesignerAgent, createPhotoShootClient } from '@photoshoot/agents';

const client = await createPhotoShootClient();
const agent = new DesignerAgent(client, {
  defaultStyle: 'studio',
  defaultQuantity: 4
});

// Generate product photography
await agent.generateProductPhotography({
  productImage: 'shoe.jpg',
  style: 'minimalist',
  platform: 'amazon',
  quantity: 8
});

// Create OOTD content
await agent.createOOTDContent({
  outfitImage: 'outfit.jpg',
  style: 'luxury',
  location: 'rooftop',
  vibe: 'chic'
});

// Optimize for platforms
await agent.optimizeForPlatform({
  images: ['img1.jpg', 'img2.jpg'],
  platform: 'instagram'
});

Architecture

photoshoot-ai-design/
├── packages/
│   ├── mcp-server/          # MCP server with all AI providers
│   │   ├── src/
│   │   │   ├── api/clients/ # Individual API clients
│   │   │   │   ├── wavespeed.ts
│   │   │   │   ├── nanobanana.ts
│   │   │   │   ├── openai.ts
│   │   │   │   ├── stability.ts
│   │   │   │   ├── photoshoot.ts
│   │   │   │   └── fal.ts
│   │   │   ├── config.ts
│   │   │   └── index.ts
│   │   └── .env.example
│   │
│   ├── mcp-client/          # MCP client SDK
│   ├── skills/              # Skill definitions (Markdown)
│   ├── agents/              # AI agent implementations
│   │
│   └── plugins/
│       ├── claude-code/     # Claude Code plugin
│       ├── pi-agent/        # Pi Agent plugin
│       └── openllm/         # OpenLLM plugin
│
├── docs/                    # Documentation
├── examples/                # Usage examples
├── .env.example             # Environment configuration template
├── SETUP.md                 # Quick setup guide
└── README.md                # This file

API Reference

MCP Tools

photoshoot_generate

Generate photoshoot images using AI.

{
  type: 'product' | 'ootd' | 'portrait',
  provider?: 'wavespeed' | 'nano-banana' | 'openai' | 'stability' | 'auto',
  prompt: string,
  reference?: string,
  style?: string,
  quantity?: number,
  width?: number,
  height?: number
}

photoshoot_edit

Edit and enhance images.

{
  image: string,
  provider?: 'wavespeed' | 'nano-banana' | 'openai' | 'stability' | 'auto',
  prompt?: string,
  edits?: {
    lighting?: string,
    background?: string,
    retouch?: boolean,
    enhance?: boolean
  }
}

photoshoot_batch

Batch process multiple images.

{
  images: string[],
  operation: 'enhance' | 'resize' | 'format' | 'watermark' | 'remove-background',
  options?: Record<string, unknown>
}

Configuration

Environment Variables

# WaveSpeed AI (recommended for product photography)
WAVESPEED_API_KEY=your_key_here
WAVESPEED_API_URL=https://api.wavespeed.ai/v1

# Nano Banana (Google Gemini - recommended for fashion)
NANO_BANANA_API_KEY=your_key_here
NANO_BANANA_API_URL=https://generativelanguage.googleapis.com/v1beta

# OpenAI (DALL-E)
OPENAI_API_KEY=your_key_here
OPENAI_API_URL=https://api.openai.com/v1

# Stability AI (Stable Diffusion)
STABILITY_API_KEY=your_key_here
STABILITY_API_URL=https://api.stability.ai/v1

# PhotoShoot App
PHOTOSHOOT_API_KEY=your_key_here
PHOTOSHOOT_API_URL=https://api.photoshoot.app

# fal.ai
FAL_API_KEY=your_key_here
FAL_API_URL=https://fal.ai

Provider Selection

The system automatically selects the best provider based on:

  1. Available API keys - Only configured providers are used
  2. Content type - Different providers excel at different types
  3. User preference - Manual override available

Automatic selection logic:

  • Product photography → WaveSpeed AI
  • Fashion/OOTD → Nano Banana
  • Portraits → OpenAI DALL-E
  • Custom styles → Stability AI
  • Fallback → PhotoShoot App (demo mode without API key)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Areas for Contribution

  • New AI provider integrations
  • Additional skill definitions
  • Agent capability enhancements
  • Plugin support for other platforms
  • Documentation and examples

Development

# Install dependencies
npm install

# Build all packages
npm run build

# Run MCP server
npm run mcp:start

# Run tests
npm test

# Development mode with hot reload
npm run dev

Performance

  • Batch Processing: Process up to 100 images simultaneously
  • Auto Caching: Reduce redundant API calls with intelligent caching
  • Concurrent Requests: Configurable concurrent request limits
  • Timeout Protection: Built-in timeout for all API calls

Roadmap

  • Video generation support (Kling, Veo, Sora via WaveSpeed)
  • 3D model generation
  • Advanced editing features (inpainting, outpainting)
  • Real-time style transfer
  • Mobile app integration
  • Cloud storage integration
  • Team collaboration features

License

MIT License - see LICENSE for details.

Links

Support

Acknowledgments

Built with:


Built with ❤️ for the AI photography community