emaki
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@emakimake a 10-second 1080p clip of a cat surfing at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_urlfor 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 |
| Text to video, or image to video with |
| Text to image; returns the image URL |
| Status of a run, and its URL when it is ready |
| 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-mcpClaude 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-mcpClaude Code plugin
claude plugin marketplace add hanshs474/emaki-mcp
claude plugin install emaki@emakiModels
Video ( | Image ( |
|
|
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_videoreturns a run id by default; poll it withcheck_status, or passwait: trueto 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_URLoverrides 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 toolscheck_statusCheck an emaki runA
Read the status of a run started with generate_video or generate_image, and its URL when it is ready.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Keep polling every 5 seconds until it finishes. Default false. | |
| run_id | Yes | The run id returned by generate_video or generate_image. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Block until the image is ready. Default true. | |
| model | No | Default nano_banana_2_lite. | |
| prompt | Yes | What the image should show. | |
| quality | No | 'basic', 'high' or 'ultra' (seedream_5_lite). | |
| resolution | No | '1K', '2K' or '4K' (nano_banana_2 and gpt_image_2). | |
| aspect_ratio | No | e.g. '1:1', '16:9', '9:16', '4:3', '3:4', '2:3', '3:2'. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Block until the clip is ready (up to 15 minutes). Default false. | |
| model | No | Default seedance_2_5. seedance_2_mini is the lowest-cost video model. | |
| prompt | Yes | The shot: what happens, where, how the camera moves. Japanese or English. | |
| duration | No | Seconds. Seedance 2.5: 4–30; Seedance 2.0 family: 4–15; MiniMax H3: 5–15. | |
| image_url | No | Optional first frame (public https URL) — makes this image to video. | |
| resolution | No | '480p', '720p' or '1080p' (Veo 3.1: '720p', '1080p', '4k'). | |
| aspect_ratio | No | '16:9', '9:16', '1:1', '4:3', '3:4', '21:9' or 'adaptive'. Default 16:9. | |
| generate_audio | No | Sound in the same pass where the model offers it (default true). | |
| last_frame_image | No | Optional last frame (https URL), Seedance 2.5 only. |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v0.1.0- First observed
check_status - First observed
credits - First observed
generate_image - First observed
generate_video
TDQS
Scored across 4 tools
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.
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.
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.
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
Related MCP Connectors
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.5 and more.
Generate images, video, audio and short films with 140+ AI models from any MCP client.
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Generate AI video from any MCP client. Pick the model, see the per-second price before you spend.
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceEnables video generation from text, images, and more through MCP-compatible apps like Claude and Cursor.52MIT- AlicenseNot gradedqualityBmaintenanceGenerate AI images and videos from Claude, Cursor or any MCP client: 48+ models on one account (Flux 2, Nano Banana 2, Seedream 5, Kling V3, Seedance 2.5, Veo 3.1), with the exact cost in credits returned on every call.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI clients like Claude and ChatGPT to generate images and videos, animate images, create lip-synced videos, list TTS voices, and manage media via remote MCP tools.-
- AlicenseAqualityCmaintenanceEnables video and image generation from any MCP client, with support for models like Veo 3.1, Grok Imagine, and Nano Banana, including text-to-video, image-to-video, image generation and editing.4MIT