RunAPI Qwen Image MCP Server
OfficialClick 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., "@RunAPI Qwen Image MCP ServerGenerate an image of a sunset over the ocean."
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.
Why This Package?
@runapi.ai/qwen-image-mcp is a focused Model Context Protocol server for the Qwen Image model line on RunAPI.
It gives MCP-compatible assistants direct access to 3 endpoints and 3 model variants without loading the full RunAPI catalog.
Use this per-model server when an agent should stay scoped to Qwen Image. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.
Related MCP server: Qwen 2 MCP Server
Install
Add it to Claude Code:
claude mcp add qwen-image -s user -- npx -y @runapi.ai/qwen-image-mcpUse project scope when the server should be shared with a repository:
claude mcp add qwen-image -s project -- npx -y @runapi.ai/qwen-image-mcpCodex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:
{
"mcpServers": {
"qwen-image": {
"command": "npx",
"args": ["-y", "@runapi.ai/qwen-image-mcp"]
}
}
}check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login.
Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.
Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.
Tools
Tool | Auth | Purpose |
| Yes | Create a Qwen Image edit image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Qwen Image remix image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Qwen Image text to image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Fetch the current status and latest payload for an existing task. |
| No | Look up current pricing for a Qwen Image model and endpoint. |
Models
Qwen Image covers 3 model variants across 3 endpoints. Each tool accepts the models listed for it:
Tool | Models |
|
|
|
|
|
|
Model availability can change between releases. Use check_pricing or the Qwen Image model page for the current catalog view.
Agent Prompts
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
Create a task
Run a Qwen Image edit image task with RunAPI.The assistant can call check_pricing, then edit_image, and return the task id, status, and output URLs.
Submit without waiting
Create the task but don't wait for it to finish.The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.
Check pricing before creating
Check current Qwen Image pricing, then create the task if it matches my request.The assistant calls check_pricing and can link to the Qwen Image model page for the canonical catalog entry.
Configuration
The server resolves auth in this order:
RUNAPI_API_KEYenvironment variable, useful for headless and CI hosts~/.config/runapi/config.json, created by the MCPlogintool orrunapi loginNo key, which still allows
check_pricing
The config file is normally managed by login. A pre-provisioned headless config can use:
{
"apiKey": "your_runapi_key"
}Do not commit real API keys.
Links
Resource | URL |
Qwen Image model page | |
npm package | |
GitHub repository | |
RunAPI MCP overview | |
RunAPI docs |
License
Licensed under the Apache License, Version 2.0.
Available Tools
6 toolscheck_pricingB
Look up RunAPI pricing for the qwen-image model line.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model slug. Defaults to the line's primary model. | |
| action | No | Endpoint name. Defaults to the endpoint that offers the model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full behavioral burden, and 'Look up' only loosely implies a read-only operation. It says nothing about what pricing data comes back (per-image cost, per-endpoint breakdown, currency), whether results are cached, or any rate/permission constraints.
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 zero filler, front-loading the verb and the resource. Nothing is wasted or buried.
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 tool with no annotations and no output schema, the description is too thin: it never describes the shape of the pricing result an agent will receive, which is precisely the information the absent output schema would otherwise supply. Two optional params are documented in the schema, but the return-value gap leaves the definition materially incomplete.
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%, with both parameters documented in the schema (model slug defaulting to the line's primary model, action enum defaulting to the endpoint offering the model). The description adds no format or default semantics beyond that, so the baseline 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?
The description names a specific verb+resource (look up pricing) and scopes it to RunAPI's qwen-image model line, which cleanly distinguishes it from the sibling generation tools (text_to_image, remix_image, edit_image) and from get_task/login. It stops short of noting that the schema accepts arbitrary model slugs and actions, so the fixed scope is slightly narrower than the tool's actual reach.
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 can infer this is a pre-flight cost check before invoking a generation endpoint, but the description never says when to call it, when not to, or that it is the alternative to guessing costs. No explicit routing guidance to or from siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageB
Create a Qwen Image task on RunAPI (edit image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Integer seed for reproducible results. Declared type: integer. | |
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | Yes | Edit instruction for the source image. Declared type: string. | |
| timeout_ms | No | ||
| aspect_ratio | No | Output aspect ratio. Declared type: string. Known values: "1:1", "3:4", "9:16", "4:3", "16:9". | |
| callback_url | No | Webhook URL for asynchronous task updates. Declared type: string. | |
| output_format | No | Output image format. Declared type: string. Known values: "png", "jpeg". | |
| poll_interval_ms | No | ||
| source_image_url | Yes | Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB). Declared type: string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the async task contract ('returns a task id, status, and output URLs'), which implies a polling/retrieval flow, but omits the wait/polling default behavior, auth requirements, and rate limits that matter for a 10-param task-based tool.
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, front-loaded with the core action and ending with the return contract. No filler; 'on RunAPI' is mild vendor noise but the rest 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 10-parameter asynchronous task tool with no annotations, the description is thin: it never explains the wait/polling parameter or the async lifecycle, and gives no usage context. It partially compensates by stating return values in the absence of an output schema, but leaves meaningful gaps.
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 80%, so the schema already documents nearly all parameters (prompt, seed, wait, model, aspect_ratio, etc.). The description adds no parameter meaning beyond that, 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 ('Create a Qwen Image task ... edit image') and clarifies it returns a task id, status, and output URLs. It distinguishes itself from text_to_image by naming 'edit image', though it doesn't explicitly differentiate from remix_image, which is a similar transformation 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?
No guidance on when to use this versus text_to_image, remix_image, or the synchronous alternatives. It doesn't mention prerequisites (e.g., needing a public source image URL) or when to prefer get_task for retrieval. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskA
Fetch the current status and latest result payload for a qwen-image task.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Asynchronous endpoint the task was created on. | |
| task_id | Yes | Task id returned when the task was created. |
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. It discloses the return content (status plus latest result payload) and the word 'latest' hints that results may be partial or updated, but it omits whether the call blocks, what a pending task returns, idempotency, or any rate-limit 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?
One tight sentence with the resource and the two returned artifacts front-loaded; no filler or redundancy.
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 simple two-parameter getter this is close, but with no output schema the description should explain the meaning of the status and result fields (e.g., terminal vs pending states). It names the returned artifacts without describing how to interpret them.
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% with both parameters documented, including the enum meanings for 'action', so the schema does the heavy lifting. The description adds no syntax or format detail beyond that, making the baseline 3 appropriate.
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 (Fetch) and resource (task) with scope (current status and latest result payload). It is clearly distinguishable from the sibling creation endpoints (text_to_image, remix_image, edit_image), though it does not name them to make the contrast explicit.
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: 'current status' suggests polling a task created elsewhere, but there is no explicit statement of when to call it, no mention of the sibling create tools that produce the task_id, and no exclusions or timing guidance (e.g., poll interval, when status is terminal).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginA
Authenticate RunAPI by opening a browser PKCE login flow and saving the API key to ~/.config/runapi/config.json.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Re-run browser login when the current credential comes from the local config file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the interactive browser flow and the file write side effect (config.json). However, it does not mention that it may overwrite existing credentials or that it could block waiting for user input, though these are implied.
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?
The description is a single, well-structured sentence that front-loads the action ('Authenticate RunAPI') and provides necessary details without extraneous 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?
For a simple login tool with one optional parameter and no output schema, the description covers the core purpose and side effect. It lacks an explicit statement that this is a prerequisite for other tools, but that is implied.
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% (the only parameter 'force' has a description). The tool description adds no additional meaning about parameters 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?
The description clearly states the tool's purpose with a specific verb ('Authenticate'), target resource ('RunAPI'), method ('browser PKCE login flow'), and side effect (saving to config.json). It is distinct from sibling tools, none of which relate to authentication.
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 implies usage (to authenticate RunAPI) but does not explicitly say when to run it (e.g., before other RunAPI tools) or when to use the 'force' parameter. Since there are no alternative auth tools among siblings, 'vs alternatives' is not applicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remix_imageB
Create a Qwen Image task on RunAPI (remix image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Integer seed for reproducible results. Declared type: integer. | |
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | Yes | Prompt describing the requested remix. Declared type: string. | |
| strength | No | Creative deviation from the source image, from 0 (faithful) to 1 (creative). Declared type: number. | |
| timeout_ms | No | ||
| callback_url | No | Webhook URL for asynchronous task updates. Declared type: string. | |
| output_format | No | Output image format. Declared type: string. Known values: "png", "jpeg". | |
| poll_interval_ms | No | ||
| source_image_url | Yes | Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB). Declared type: string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the async task-creation model and the return shape (task id, status, output URLs), which is genuinely useful. It omits any mention of authentication, cost/pricing implications (a sibling check_pricing hints these matter), or how the wait/polling behavior affects the call, leaving meaningful gaps.
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 waste, with the core action front-loaded and the return contract appended. Nothing is padded or redundant.
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 10-parameter creation tool with no annotations and no output schema, the description partially compensates by naming the return fields (task id, status, output URLs). However, it says nothing about the async/polling workflow, cost, or when to prefer this over sibling image tools, so an agent still lacks key context.
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 80%, so the schema already documents most parameters (seed, strength, source image constraints, output format, callback URL). The description adds no parameter-level meaning beyond what the schema provides, which matches the baseline of 3 when schema coverage is high.
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 ('Create a Qwen Image task on RunAPI') with the remix intent parenthetically clarified, so the agent knows this generates an image from a source image. It does not, however, contrast itself with siblings like edit_image or text_to_image, so the agent must infer which image tool applies.
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?
There is no statement of when to use this tool versus edit_image or text_to_image, and no prerequisites or exclusions are given. The agent is left to infer usage purely from the name and the required source_image_url parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_imageB
Create a Qwen Image task on RunAPI (text to image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Integer seed for reproducible results. Declared type: integer. | |
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | Yes | Image generation prompt. Declared type: string. | |
| timeout_ms | No | ||
| aspect_ratio | No | Output aspect ratio. Declared type: string. Known values: "1:1", "3:4", "9:16", "4:3", "16:9". | |
| callback_url | No | Webhook URL for asynchronous task updates. Declared type: string. | |
| output_format | No | Output image format. Declared type: string. Known values: "png", "jpeg". | |
| poll_interval_ms | No |
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. It does disclose the async task model and the return payload ('task id, status, and output URLs'), which is valuable since there is no output schema, but it says nothing about the default polling behavior (wait=true), auth requirements, or rate limits.
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 with the resource and endpoint front-loaded and zero wasted words. The parenthetical clarifies modality without bloat.
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 9-parameter async generation tool with no annotations and no output schema, the description covers the return shape but omits the critical behavioral detail that it polls by default via the wait parameter and can instead be webhook-driven via callback_url. Adequate but with clear gaps.
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 78%, so the schema already documents most parameters (aspect_ratio known values, output_format, seed, wait, callback_url). The description adds no parameter meaning at all, leaving the baseline of 3 appropriate.
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 (Create) and resource (a Qwen Image task via text-to-image), which is enough to distinguish it from edit_image and remix_image among siblings. It does not explicitly name those alternatives, so it stops short of a 5.
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 parenthetical '(text to image)' implies the modality, but there is no explicit when-to-use guidance, no prerequisites, and no routing to sibling tools like edit_image for modifying an existing image. An agent must infer the boundary itself.
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.
5 tool updates
v0.2.0- Changed
check_pricing2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / model / enumRemoved value: -[ - "qwen-image-edit-image", - "qwen-image-remix-image", - "qwen-image-text-to-image" -]
- Changed
edit_image15 fields changed- changed
Input schema / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / aspect_ratio / descriptionPrevious value: -"Output aspect ratio."New value: +"Output aspect ratio. Declared type: string. Known values: \"1:1\", \"3:4\", \"9:16\", \"4:3\", \"16:9\"." - removed
Input schema / properties / aspect_ratio / enumRemoved value: -[ - "1:1", - "3:4", - "9:16", - "4:3", - "16:9" -] - changed
Input schema / properties / callback_url / descriptionPrevious value: -"Webhook URL for asynchronous task updates."New value: +"Webhook URL for asynchronous task updates. Declared type: string." - removed
Input schema / properties / model / enumRemoved value: -[ - "qwen-image-edit-image" -] - changed
Input schema / properties / output_format / descriptionPrevious value: -"Output image format."New value: +"Output image format. Declared type: string. Known values: \"png\", \"jpeg\"." - removed
Input schema / properties / output_format / enumRemoved value: -[ - "png", - "jpeg" -] - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - changed
Input schema / properties / prompt / descriptionPrevious value: -"Edit instruction for the source image."New value: +"Edit instruction for the source image. Declared type: string." - removed
Input schema / properties / prompt / maxLengthRemoved value: -2000 - removed
Input schema / properties / prompt / minLengthRemoved value: -1 - changed
Input schema / properties / seed / descriptionPrevious value: -"Integer seed for reproducible results."New value: +"Integer seed for reproducible results. Declared type: integer." - changed
Input schema / properties / seed / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / source_image_url / descriptionPrevious value: -"Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB)."New value: +"Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB). Declared type: string." - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
get_task1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
remix_image16 fields changed- changed
Input schema / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / callback_url / descriptionPrevious value: -"Webhook URL for asynchronous task updates."New value: +"Webhook URL for asynchronous task updates. Declared type: string." - removed
Input schema / properties / model / enumRemoved value: -[ - "qwen-image-remix-image" -] - changed
Input schema / properties / output_format / descriptionPrevious value: -"Output image format."New value: +"Output image format. Declared type: string. Known values: \"png\", \"jpeg\"." - removed
Input schema / properties / output_format / enumRemoved value: -[ - "png", - "jpeg" -] - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - changed
Input schema / properties / prompt / descriptionPrevious value: -"Prompt describing the requested remix."New value: +"Prompt describing the requested remix. Declared type: string." - removed
Input schema / properties / prompt / maxLengthRemoved value: -5000 - removed
Input schema / properties / prompt / minLengthRemoved value: -1 - changed
Input schema / properties / seed / descriptionPrevious value: -"Integer seed for reproducible results."New value: +"Integer seed for reproducible results. Declared type: integer." - changed
Input schema / properties / seed / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / source_image_url / descriptionPrevious value: -"Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB)."New value: +"Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB). Declared type: string." - changed
Input schema / properties / strength / descriptionPrevious value: -"Creative deviation from the source image, from 0 (faithful) to 1 (creative)."New value: +"Creative deviation from the source image, from 0 (faithful) to 1 (creative). Declared type: number." - removed
Input schema / properties / strength / maximumRemoved value: -1 - removed
Input schema / properties / strength / minimumRemoved value: -0 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
text_to_image14 fields changed- changed
Input schema / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / aspect_ratio / descriptionPrevious value: -"Output aspect ratio."New value: +"Output aspect ratio. Declared type: string. Known values: \"1:1\", \"3:4\", \"9:16\", \"4:3\", \"16:9\"." - removed
Input schema / properties / aspect_ratio / enumRemoved value: -[ - "1:1", - "3:4", - "9:16", - "4:3", - "16:9" -] - changed
Input schema / properties / callback_url / descriptionPrevious value: -"Webhook URL for asynchronous task updates."New value: +"Webhook URL for asynchronous task updates. Declared type: string." - removed
Input schema / properties / model / enumRemoved value: -[ - "qwen-image-text-to-image" -] - changed
Input schema / properties / output_format / descriptionPrevious value: -"Output image format."New value: +"Output image format. Declared type: string. Known values: \"png\", \"jpeg\"." - removed
Input schema / properties / output_format / enumRemoved value: -[ - "png", - "jpeg" -] - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - changed
Input schema / properties / prompt / descriptionPrevious value: -"Image generation prompt."New value: +"Image generation prompt. Declared type: string." - removed
Input schema / properties / prompt / maxLengthRemoved value: -5000 - removed
Input schema / properties / prompt / minLengthRemoved value: -1 - changed
Input schema / properties / seed / descriptionPrevious value: -"Integer seed for reproducible results."New value: +"Integer seed for reproducible results. Declared type: integer." - changed
Input schema / properties / seed / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
6 tool updates
v0.1.1- First observed
check_pricing - First observed
edit_image - First observed
get_task - First observed
login - First observed
remix_image - First observed
text_to_image
TDQS
Scored across 6 tools
Three generation tools (text_to_image, remix_image, edit_image) share nearly identical descriptions, differing only in a parenthetical mode label, making it hard to distinguish when to use each. get_task, check_pricing, and login are clearly distinct.
All names use snake_case, but most follow a verb_noun pattern while 'login' is a bare verb, creating a minor inconsistency.
Six tools is well-scoped for an image generation API wrapper: three generation modes, task status, pricing, and authentication. Each tool serves a clear purpose without redundancy.
Core workflows (create task, poll status, authenticate, check pricing) are covered, but lifecycle operations like listing tasks or canceling a running task are missing.
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
MCP server for Pixapi: check live credit pricing and balance, then generate images and video.
Generate images with any major model — one API key, one prepaid balance, one MCP.
Create images & video from any MCP agent — 17 models, spend limits, one URL.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for GPT-4o Image model line, enabling text-to-image task creation, status polling, and pricing checks via RunAPI.4108 npmApache 2.0
- AlicenseAqualityAmaintenanceEnables image editing, remixing, and text-to-image generation using Qwen 2 models via RunAPI. Supports task polling and pricing checks.5289 npmApache 2.0
- AlicenseBqualityAmaintenanceProvides AI agents with Midjourney API access for image and video generation, task polling, and pricing checks through a focused MCP server.1086 npm1Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to run Flux image generation tasks, poll results, and check pricing through a single MCP server.5240 npmApache 2.0