Karyakarya
MCP · NEW

Generate with Karya inside Claude

Connect once, then create images and videos with 85+ frontier models by just asking - billed from your Karya credits, free to connect.

https://mcp.karyastudio.io/mcp

Works with the agents you already use

One connector URL, four clients - pick yours below.

Claude

claude.ai - web, desktop & mobile

  1. Settings → Connectors
  2. Add custom connector
  3. Paste the URL below
  4. Connect, then sign in with your Karya account
Connector URL
https://mcp.karyastudio.io/mcp

ChatGPT

developer mode

  1. Settings → Connectors (developer mode)
  2. Add connector
  3. Paste the URL below
  4. Sign in with your Karya account
Connector URL
https://mcp.karyastudio.io/mcp

Cursor

MCP servers

  1. Settings → MCP
  2. Add server
  3. Paste the URL below
  4. Sign in in the browser tab that opens
Connector URL
https://mcp.karyastudio.io/mcp

Claude Code

terminal / CLI

  1. Run the command below in your terminal
  2. Type /mcp inside Claude Code to authenticate
Terminal
claude mcp add --transport http karya https://mcp.karyastudio.io/mcp
1

Copy the URL

Copy the Karya connector URL above - one URL works for every client.

2

Add the connector

Paste it into your agent’s connector or MCP settings.

3

Sign in & create

Sign in with your Karya account once, then just ask for what you want.

How it works

How does MCP work?

Describe what you want in plain language. Claude picks the right Karya tool, generates it, and hands the result back in the same conversation.

Conversation

I need a cohesive 3-image lookbook for a new resortwear line - linen, warm tones, golden-hour light. Same model, three outfits.
Claude
On it - I'll generate three 3:4 editorial shots with Karya, keeping the same subject and lighting across all three so they read as one collection.
generate_image·Nano Banana 2·3:4 · 3 images
Done - three images ready, credits deducted from your Karya balance.

Result

Editorial resortwear look 1Editorial resortwear look 2Editorial resortwear look 3

Every creative model, inside Claude

85+ frontier image and video models, one connector. Ask list_models for the full catalog.

Z ImageGrok Imagine (Text to Video)Grok Imagine ImageWan 2.7Qwen Image 2Gemini Omni Flash 1.1GPT Image 2Kling 3.0Seedream 5 LitePixVerse V6Seedream 4Seedance 2.0 Mini (t2v)Seedream 5 ProWan 3.0Qwen 3 ProWan 3.0 (Document to Video)+69 more

Karya Skills

karya-generate

Teach Claude how to use Karya well

This Claude Skill teaches Claude exactly how to drive Karya - which model fits the job, how to structure a prompt for it, how to wait on an async video generation, and how to spend your credits wisely instead of guessing.

Download skill

Claude Code: unzip into .claude/skills/.

claude.ai: Settings → Capabilities → upload skill.

Advanced

For developers

+

Prefer a raw API key over the OAuth connector? Create one below and use it with any HTTP MCP client - bearer header or key-in-URL, whichever your tooling supports.

Log in to create and manage your API keys.
Bearer header (mcp.json)
{
  "mcpServers": {
    "karya": {
      "type": "http",
      "url": "https://www.karyastudio.io/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Key-in-URL
https://www.karyastudio.io/api/mcp/k/YOUR_API_KEY/mcp

Endpoint: https://www.karyastudio.io/api/mcp/mcp

Tool reference - 21 tools

Core

estimate_priceEstimate the Karya credit cost of a generation before running it, given a model id and optional params (aspect_ratio, resolution, duration, quality, mode). Use this to check cost ahead of generate_image/generate_video.
generate_imageGenerate an image from a text prompt, optionally guided by up to 10 reference images. Reference images are ordered; refer to a specific one in the prompt positionally as "image 1", "image 2", ... (matching the order of image_urls). Deducts Karya credits up front. Most image models complete quickly and return a url directly; if the result is still processing, call wait_for_generation with the returned id.
generate_videoGenerate a video from a text prompt and/or up to 10 reference images. Reference images are ordered; refer to a specific one in the prompt positionally as "image 1", "image 2", ... (matching the order of image_urls). Deducts Karya credits up front. Video generation is ALWAYS asynchronous - this call returns immediately with a "processing" status and an id; call wait_for_generation (or get_generation) with that id to retrieve the finished video url.
get_balanceCheck the current Karya credit balance for this account.
get_generationFetch the current status of a generation by id (one status check, no polling). Returns the output url once completed, or an error note if it failed/was refunded.
get_historyList this account's recent generations (newest first), with status, output url (if any), and credits charged. Deleted and hidden generations are excluded. Each item is kept for 30 days from creation (expires_at) before it is automatically deleted.
list_modelsList the AI models available in Karya, optionally filtered by category ("image" or "video"). Each entry includes its id (pass as `model` to generate_image/generate_video), supported aspect ratios/resolutions/durations where applicable, and a fallback credit cost (use estimate_price for an exact quote).
wait_for_generationPoll a generation until it finishes (completed/failed/refunded) or the timeout elapses, whichever is first (default 45s, max 60s per call). Use this right after generate_image/generate_video returns a "processing" status. Long-running jobs - especially video - often take longer than one call's timeout: a timeout returns status "processing" as a normal result, not an error. Call wait_for_generation again with the same id to keep polling until it reaches a terminal status.

Flow

clone_workflow_templateClone a public Karya Flow template (from list_workflow_templates) into your own account as a new, editable workflow. This only copies the graph - call run_workflow with the returned workflow_id when you are ready to run it.
create_workflowCreate a new Karya Flow workflow (a node graph you can run with run_workflow) from scratch, owned by this account. Only a lightweight shape check runs here - each node's model id is validated for real when the workflow runs. Prefer clone_workflow_template when a suitable public template already exists.
get_workflow_run_statusAdvance and check a Karya Flow run started by run_workflow. IMPORTANT: this call itself advances the run (reconciles in-flight nodes and submits newly-ready ones) - it is not a passive status check, so call it repeatedly (poll) until the top-level status is "succeeded" or "failed".
list_my_workflowsList this account's own saved Karya Flow workflows (newest first).
list_workflow_templatesList public Karya Flow workflow templates (reusable multi-step generation pipelines), optionally filtered by category or a name search. Clone one with clone_workflow_template before running it.
run_workflowStart a run of one of your saved Karya Flow workflows. Each generation node deducts Karya credits up front, same as generate_image/generate_video. Returns a run_id immediately - the run itself is asynchronous, so call get_workflow_run_status with that id to advance it and check progress.

Director

approve_director_storyboardApprove a Karya Director project's storyboard and start rendering. THIS SPENDS CREDITS: a concept-mode project charges here for expanding its chosen concept into segments; a link-mode project charges nothing here but starts spending on the very next get_director_project poll. Call estimate_director_video or get_director_project first to see the cost, then call this with confirm:true. selected_concept_index is required for a concept-mode project (see the concepts in the project's beat_map, via get_director_project).
create_director_videoCreate a new Karya Director video project - a product photo (or an existing TikTok/Instagram/YouTube/Facebook video link) turned into a fully produced ad with a written storyboard, voiceover, music, and captions. NOTHING IS CHARGED YET: this only inserts the project. You must then call get_director_project repeatedly with the returned project_id - that call IS the engine tick that advances ingest/analysis/planning - until status reaches "awaiting_approval", then call approve_director_storyboard to spend credits and start rendering.
estimate_director_videoEstimate the Karya credit cost of a Karya Director video BEFORE creating it, given the target duration, how many product/presenter reference images it will carry, model_tier, aspect ratio, and whether market research is enabled. Returns a credits figure plus a per-tier ({budget,standard,pro,premium}) comparison ladder - the same math create_director_video/get_director_project will actually charge. Creating a project itself charges nothing, so call this whenever you want a cost check.
get_director_projectCheck a Karya Director project by id - AND ADVANCE IT. This call is the engine tick: it reconciles in-flight work and dispatches the next step (charging for it if applicable), exactly like the web app's status poll. Call it repeatedly after create_director_video until status reaches "awaiting_approval" (then call approve_director_storyboard) and again after approving until status is "completed". Returns status, the storyboard summary (opening hook + each segment's script) once planned, credits charged so far, and final_video_url once done.
list_director_templatesList Karya Director video template packs (with their variants), opening hooks, and settings - use these ids as template.pack/template.variant/hook.setting in estimate_director_video and create_director_video. One-line blurbs only, no preview media or full prompt text.

Marketing

create_marketing_adGenerate a Marketing Studio video ad from a template (a short prompt-template-driven clip - product motion or UGC-style; separate from Karya Director's multi-step storyboarded videos above). Call this WITHOUT confirm first to get a credit estimate and a preview of the assembled prompt; call it again with confirm:true and the SAME arguments to actually spend credits and start generating. Generation is asynchronous - poll the returned id with wait_for_generation/get_generation.
list_marketing_templatesList Marketing Studio ad templates - UGC/commercial formats plus product-only "Product Motion" formats - the motion styles that can be layered on top, and the available models with their supported resolutions/durations. Use these ids as template_id/motion_style_id/model_id in create_marketing_ad. No preview media.

FAQ

Questions, answered

The Model Context Protocol is an open standard that lets AI agents like Claude call external tools directly. Karya MCP exposes image and video generation as tools any MCP-compatible agent can use in a conversation.

Connecting is free - no separate subscription for MCP access. Each generation spends Karya credits from your wallet, the same balance you use in the Karya studios.

Claude (claude.ai web, desktop, and mobile), ChatGPT in developer mode, Cursor, and Claude Code today - plus any other MCP client that supports HTTP transport.

Yes. Connecting uses OAuth - you sign in with your Karya account and we never see your password. You can revoke access at any time.

Images and videos across 85+ frontier models - editorial photography, UGC-style characters and clips, marketing visuals, and more, all from a plain-language prompt.

No. Karya credits never expire, whether you spend them in the studios or through MCP.

Failed generations are automatically refunded - you only pay for results that actually complete.

Ready to generate from Claude?

Copy the URL, add the connector, sign in - free to connect, credits never expire.

Karya MCP - Generate with frontier AI models inside Claude | Karya