Skip to main content
Glama

emaki MCP server

Official MCP server for emaki (emaki.ai), the Japanese-language AI video generator for Seedance 2.5 and Seedance 2.0. It lets Claude, Cursor, Cline, Gemini CLI or any MCP client generate video and images on your own emaki account: ask for a clip in chat, get the file URL back.

  • Seedance 2.5 is the default video model: 4 to 30 seconds, up to 1080p, sound in the same pass.

  • Seedance 2.0, Seedance 2.0 Fast and Mini, MiniMax H3 and Veo 3.1 are there too.

  • Pass a still as image_url for image to video; the image tools (Nano Banana 2, Seedream 5, GPT Image 2) make that first frame.

  • Need a sharper result afterwards? The AI video upscaler runs on the same account.

日本語での使い方は シーダンス へ。

Tools

Tool

What it does

generate_video

Text to video, or image to video with image_url. Returns a run id (or waits with wait: true)

generate_image

Text to image; returns the image URL

check_status

Status of a run, and its URL when it is ready

credits

Credits left on your account (free to call)

Related MCP server: Imaginode

API key

Create one at emaki.ai/settings/apikeys and set it as EMAKI_API_KEY. Every run costs credits on your emaki account, the same price as on the website.

Install

npx -y emaki-mcp

Claude Desktop / Claude Code / Cursor / Cline

{
  "mcpServers": {
    "emaki": {
      "command": "npx",
      "args": ["-y", "emaki-mcp"],
      "env": { "EMAKI_API_KEY": "sk-..." }
    }
  }
}

Claude Code in one line: claude mcp add emaki -e EMAKI_API_KEY=sk-... -- npx -y emaki-mcp

Gemini CLI

gemini extensions install https://github.com/hanshs474/emaki-mcp

Claude Code plugin

claude plugin marketplace add hanshs474/emaki-mcp
claude plugin install emaki@emaki

Models

Video (generate_video)

Image (generate_image)

seedance_2_5 (default) · seedance_2 · seedance_2_fast · seedance_2_mini · minimax_h3 · veo_3_1

nano_banana_2_lite (default) · nano_banana_2 · seedream_5_lite · gpt_image_2

Parameters: duration, resolution (480p / 720p / 1080p), aspect_ratio (16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive), generate_audio, image_url, last_frame_image.

Notes

  • Video takes minutes. generate_video returns a run id by default; poll it with check_status, or pass wait: true to block (up to 15 minutes).

  • One video runs at a time per account; a second submit while one is generating is refused until the first finishes.

  • EMAKI_BASE_URL overrides the endpoint; only useful against a local build of the site.

API reference: emaki.readthedocs.io · archived on Zenodo: 10.5281/zenodo.23409096. MIT licensed. Made by emaki.

Available Tools

4 tools
check_statusCheck an emaki runA

Read the status of a run started with generate_video or generate_image, and its URL when it is ready.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoKeep polling every 5 seconds until it finishes. Default false.
run_idYesThe run id returned by generate_video or generate_image.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses a useful output trait ('its URL when it is ready') and implies a non-mutating read, but says nothing about other terminal states (failure, expiry) or polling/latency behavior beyond what the schema's 'wait' parameter already documents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the core action front-loaded and no filler. Every clause (status, source tools, URL-on-ready) contributes information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must convey the return shape, and it covers only the success case (a URL when ready). It omits the pending/other status values an agent would need to branch on, leaving a meaningful gap for a status-polling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters (run_id, wait) are documented in the schema itself. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read the status of a run') and distinguishes itself from siblings by naming the exact tools that create the run (generate_video, generate_image). An agent can immediately tell this is the polling/read companion to the generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly and clearly scopes usage to runs created by generate_video or generate_image, which is the key routing condition among siblings. It does not state any exclusions or edge cases (e.g., how long run records persist), but the primary when-to-use context is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

creditsemaki credit balanceA

The credits left on the emaki account behind EMAKI_API_KEY. Free to call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Free to call' is a genuine behavioral disclosure (no cost/credit consumption), but it says nothing about rate limits, whether the call is read-only, errors when the key is missing/invalid, or the shape of the returned balance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero padding, with the resource identity front-loaded and the cost note appended as supporting context. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter read of a single value, this is nearly sufficient. The only gap is that no output schema exists and the description does not indicate what the returned credit balance looks like (number vs. object) or how to interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the exact resource (remaining credits) and scopes it to the account behind EMAKI_API_KEY, which distinguishes it from the generate_* and check_status siblings. It is a noun phrase rather than an explicit verb+resource statement, so it is clear but slightly less actionable than a '5' would require.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent infers it should call this to check balance. There is no explicit when-to-use, no mention of how it relates to check_status or when to prefer it over generating, and no stated preconditions beyond the implicit API key.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageGenerate an image on emakiA

Generate an image from a text prompt on emaki.ai and return its URL. Defaults to Nano Banana 2 Lite, the lowest-cost model; a good way to make a first frame for generate_video. Runs on your emaki credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoBlock until the image is ready. Default true.
modelNoDefault nano_banana_2_lite.
promptYesWhat the image should show.
qualityNo'basic', 'high' or 'ultra' (seedream_5_lite).
resolutionNo'1K', '2K' or '4K' (nano_banana_2 and gpt_image_2).
aspect_ratioNoe.g. '1:1', '16:9', '9:16', '4:3', '3:4', '2:3', '3:2'.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose some behavior: it returns a URL and consumes emaki credits. It omits key operational traits such as what happens when wait=false (likely a job needing check_status), latency expectations, or failure/auth behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, no filler, with the core action and return value front-loaded. Every sentence contributes (action, default/cost, downstream use).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

It covers what is returned and the credit cost, but with no annotations and no output schema, the description should explain the async contract implied by the wait parameter and check_status sibling. Six parameters and a cost-bearing operation warrant more disclosure than is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already documents prompt, model, wait, quality, resolution, and aspect_ratio. The description only adds cost rationale ('lowest-cost model') for the default model, offering no guidance on when to pick other enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate an image from a text prompt on emaki.ai'), names the platform, and declares the return value (a URL). It also differentiates itself from the sibling generate_video by positioning itself as the source for a first frame.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: it is the lowest-cost option and a good way to make a first frame for generate_video, which routes the agent between siblings. It does not, however, state when not to use it or how it compares to other image-producing paths.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_videoGenerate a video on emakiA

Generate a video clip from a text prompt on emaki.ai, or animate a still by passing image_url (image to video). Defaults to Seedance 2.5 (4 to 30 seconds, sound in the same pass). Runs on your emaki credits, the same price as on the website. Video takes minutes: by default this returns a run id to poll with check_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoBlock until the clip is ready (up to 15 minutes). Default false.
modelNoDefault seedance_2_5. seedance_2_mini is the lowest-cost video model.
promptYesThe shot: what happens, where, how the camera moves. Japanese or English.
durationNoSeconds. Seedance 2.5: 4–30; Seedance 2.0 family: 4–15; MiniMax H3: 5–15.
image_urlNoOptional first frame (public https URL) — makes this image to video.
resolutionNo'480p', '720p' or '1080p' (Veo 3.1: '720p', '1080p', '4k').
aspect_ratioNo'16:9', '9:16', '1:1', '4:3', '3:4', '21:9' or 'adaptive'. Default 16:9.
generate_audioNoSound in the same pass where the model offers it (default true).
last_frame_imageNoOptional last frame (https URL), Seedance 2.5 only.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses cost ('Runs on your emaki credits, the same price as on the website'), latency ('Video takes minutes'), sound-in-same-pass behavior, and the async run-id return contract. These are non-obvious behaviors an agent must plan around.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with purpose, then default model, then cost, then async contract. Every sentence earns its place with no repetition of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, no output schema, and no annotations, the description fills the critical gaps: what is returned (a run id), how to continue (check_status), cost implications, and expected latency. An agent has everything needed to invoke and follow up correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds cross-parameter meaning the schema does not: the Seedance 2.5 default, the 4–30s range coupling, and the fact that image_url switches the tool into image-to-video mode. That extra interpretive context lifts it above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Generate a video clip from a text prompt on emaki.ai') and immediately distinguishes the two modes: text-to-video vs image-to-video via image_url. It also names the default model and routes the agent to the check_status sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two usage modes and the asynchronous default ('returns a run id to poll with check_status'), plus the wait flag as the blocking alternative. It lacks any when-not-to-use guidance against siblings like generate_image, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedcheck_status
    • First observedcredits
    • First observedgenerate_image
    • First observedgenerate_video

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: credits reads balance, generate_video/generate_image produce different media types, and check_status polls async runs. No two tools can be reasonably confused for one another.

Naming Consistency4/5

Three of four tools follow a clean verb_noun pattern (generate_video, generate_image, check_status). The outlier is 'credits', a bare noun that breaks the pattern but remains unambiguous.

Tool Count5/5

Four tools is a tight, well-scoped surface for a generation service. Each earns its place: two generators, one async poller required by the async design, and one account query.

Completeness4/5

The generate-then-poll lifecycle is covered end to end, plus credit awareness. Minor gaps exist (no list/history of past runs, no cancel or delete for an in-flight run), but the core workflow has no dead ends.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers