# Reported issues for kie-mcp

Pod holds 16 of 40 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [kie-mcp](/mcp/kie-mcp).

## Most discussed

### v5.0.0 spec: Vertical Profiles — per-domain intake, model routing, and prompting intelligence

# v5.0.0 — Vertical Profiles: per-domain intake, model routing, and prompting intelligence

## Motivation

kie-mcp already ships **per-model intelligence** (the Averiguare `research` fields: what each model is good at, how to prompt it, what it costs). What it lacks is **per-job intelligence**: when a user says *"I need a render of a house we're designing"*, the agent has to guess what a professional would ask (camera? time of day? materials? deliverable purpose?), which model fits the job, and 

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/91) · 2026-08-26 · closed · 1 comment

### v4.9.0 release prep: version bump, changelog, README, drift-watch re-run

After #75-#80 merge: bump 4.8.0 → 4.9.0 in package.json / server.json (×2) / SERVER_INFO / health endpoint; finalize the CHANGELOG 4.9.0 section; README model-coverage counts and family lists; re-run scripts/drift-watch.mjs to confirm the new-family findings clear; full unit-test pass. Then tag v4.9.0 (tag-push triggers the release workflow).

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/82) · 2026-08-26 · closed · 0 comments

### Add MiniMax H3 (Hailuo-03) family — docs now official

H3 now has official docs pages (market/minimax-h3/{text,image,reference}-to-video), resolving the missing-catalog-card concern from Aug 15. Slugs verified routing repeatedly since 2026-08-10: `minimax-h3/text-to-video`, `/image-to-video`, `/reference-to-video`. Published pricing: 768p 16 cr/s, 2K 26 cr/s, +8 cr per extra input image; 2K output with native stereo audio. Add entries with research (supersedes the deferred v4.8 H3 task).

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/81) · 2026-08-26 · closed · 0 comments

### Add Qwen3 / Qwen3 Pro image family

New on kie: qwen3 T2I/I2I and Qwen3 Pro. Real slugs (probed live): `qwen3/text-to-image`, `qwen3/image-to-image`, `qwen3/pro-text-to-image`, `qwen3/pro-image-to-image` — note Pro lives under qwen3/pro-*, not qwen3-pro/* as the docs paths suggest. Successor to the qwen/qwen2 budget entries. Scrape schemas + pricing, add entries.

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/80) · 2026-08-26 · closed · 0 comments

### Add Seedream 5 Pro family (T2I, I2I, and novel layer-decomposition)

New on kie: market/seedream/5-pro-{text-to-image,image-to-image,layer-decomposition}. Slugs match docs paths (probed live, all route). Layer decomposition is unique in the catalog (splits an image into layers) — likely deserves a dedicated tool like grok_segment_map rather than a generate_image entry. Scrape schemas + pricing, add entries with research.

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/79) · 2026-08-26 · closed · 0 comments

### Add Wan 3.0 + Wan 3.0 Prime

New on kie: market/wan/3-0-video and market/wan/3-0-video-prime. Slugs `wan/3-0-video` and `wan/3-0-video-prime` route (probe error: 'prompt or media is required' → unified multimodal input). Alibaba's next flagship. Scrape schemas + pricing, add entries with research.

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/78) · 2026-08-26 · closed · 0 comments

### Add Kling 3.0 Omni family (4 endpoints incl. new Transformation modality)

New on kie: docs pages market/kling/v3-omni-{text-to-video,image-to-video,reference-to-video,transformation}. Real API slugs (probed live 2026-08-26, all route): `kling-3.0-omni/text-to-video`, `/image-to-video`, `/reference-to-video`, `/transformation` — note docs paths ≠ slugs (pixverse trap). Transformation is a new modality. Scrape schemas + pricing from docs/marketing, add registry entries with research fields.

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/77) · 2026-08-26 · closed · 0 comments

### grok_image_edit: kie added uploaded-image editing (image_urls mode) — MCP docs now wrong

Since v4.8.0 shipped, kie added a second input mode to `grok-imagine-image-2-0/image-edit`: `image_urls` + `aspect_ratio` + `prompt` — editing ANY uploaded/external image, not just prior Grok generations. Verified live 2026-08-26: uploaded-image edit succeeded, billed 4 cr. The docs page market/grok-imagine-image-2-0/image-to-image samples this mode.

The MCP currently: requires task_id+mask_indexs in grok_image_edit, and the registry research entry + MODEL GUIDE explicitly claim 'cannot segment

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/75) · 2026-08-26 · closed · 0 comments

## Most recent

### Optional S3-compatible upload provider (R2/S3/B2/MinIO) for persistent reference assets

Follow-up to the file_path work (v4.8 scope). kie's built-in hosting is the right zero-config default (free with the API key), but uploads auto-delete after 3 days — wrong for reusable reference/'ingredient' libraries (character sheets, style refs) that span sessions.

Proposal:
- Env-configured S3-compatible provider: KIE_UPLOAD_S3_ENDPOINT / _BUCKET / _REGION / _ACCESS_KEY / _SECRET_KEY / _PUBLIC_BASE. One implementation covers AWS S3, Cloudflare R2 (recommend documenting as the free path: 10G

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/71) · 2026-08-10 · open · 0 comments

### upload_file: accept local file_path and upload via kie's multipart stream endpoint

The reliable-upload half of the plan discussed after #68. All i2i / i2v / ingredients workflows need a public URL for local reference images, and every current path has a hole: base64_data truncates in transit above ~11.7K chars (#68), file_url requires the image to already be public, and result-URL chaining (4.7.1 #66) only covers kie-generated assets.

Fix (v4.7.2):
- upload_file accepts `file_path` (absolute local path). The stdio server runs on the caller's host, so the server reads the byte

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/70) · 2026-08-10 · closed · 0 comments

### generate_video's MODEL GUIDE prices wan/flash-image-to-video at 2cr/s — measured 6cr/s (30 credits per 5s take), a 3x under-estimate

The `generate_video` tool description's MODEL GUIDE says:

> Fast+cheap→grok-imagine-video-1-5-preview (1.6-3cr/s, audio, NEW), **`wan/flash-image-to-video` (2cr/s)**.

At 2 cr/s a 5-second take is ~10 credits. **Measured, it is 30.**

## Measurement

I called `check_credits` directly before and after a run of 12 takes — all `wan/flash-image-to-video`, all `model_options: {"duration": "5"}`, `aspect_ratio: "1:1"`:

```
before:  1198.69
after:    778.69
delta:    420 credits / 12 takes = 35 per t

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/69) · 2026-08-06 · closed · 0 comments

### upload_file: base64_data is silently truncated in transit above ~11.7K chars (distinct from the closed #62)

Related to but **not** #62. That one was valid base64 being *rejected* at 6–9K chars, and it explicitly ruled a size cap out ("Same error every time ⇒ **not** a size cap"). This is the opposite shape: the payload is **mutated in transit** — the tool receives fewer characters than were sent.

## What happens

A 22,832-char `base64_data` payload arrives at the wrapper as **11,741 chars**. The wrapper then correctly reports:

```
not a multiple of 4 ... likely truncated in transit
```

That message

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/68) · 2026-08-06 · closed · 0 comments

### Result URLs are unguessable (host path alternates /ggc/ and /vnp/), so i2i chaining needs a check_task round-trip — consider returning them from generate_*

## Summary

`generate_image` does not return the result URL — only the downloaded local path and a task id. But
image-to-image chaining needs a **public URL** to pass as the next call's `image_urls`, and local
paths are rejected. So every link in an i2i chain costs an extra `check_task` round-trip.

Worse, the URL cannot be reconstructed by pattern, which is an easy trap to fall into.

## What I hit

Chaining four i2i edits, I tried to build the next `image_urls` from the previous task id plus t

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/66) · 2026-08-05 · closed · 0 comments

### list_models advertises aspect ratios the API rejects (veo-3-fast/image-to-video 1:1 → 422 Ratio error)

## Summary

`list_models` reports aspect ratios that the upstream API then rejects, so the registry cannot be
trusted to pre-validate a call. Hit while generating game art on 2026-08-04.

## Repro

`list_models filter="veo" verbose=true` reports:

```
**Veo 3.1 Fast I2V (Google)** — `veo-3-fast/image-to-video` [video] [requires image] | ~21 cr/s
  Aspect ratios: 16:9, 9:16, 1:1
```

Calling it with that advertised ratio:

```
generate_video(
  model="veo-3-fast/image-to-video",
  aspect_ratio="1

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/65) · 2026-08-05 · closed · 0 comments

### upload_file: base64 path rejects valid base64 with nested atob() error (blocking i2i)

## Summary
`upload_file` rejects **valid, standard** base64 input via the `base64_data` parameter with a `400` / `atob()` "invalid base64-encoded data" error. This blocks every image-to-image workflow, since `upload_file` (base64) is the only local-file → public-URL path available to feed `image_urls` on the generation tools.

## Error (verbatim)
```
Upload failed: {"success":false,"code":400,"msg":"Base64 decoding failed: Base64 decoding failed: atob() called with invalid base64-encoded data. (

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/62) · 2026-07-13 · closed · 0 comments

### convert_to_wav / create_music_video / generate_midi / separate_vocals poll the wrong record endpoint (kie moved WAV records to /wav/record-info)

Discovered while scoping #45 (async Suno).

## Confirmed bug (WAV)

`convert_to_wav` creates via `/api/v1/wav/generate` and then polls with `pollSunoTask`, which hits **`/api/v1/generate/record-info`**. As of 2026-07-11 that endpoint returns `{"code":200,"data":null}` for WAV tasks — the record now lives on **`/api/v1/wav/record-info`** with a different shape:

```json
{"data":{"taskId":"…","musicId":"…","successFlag":"SUCCESS","response":{"audioWavUrl":"https://…/x.wav"}}}
```

So `pollSunoTask

[Read the thread](https://github.com/elibarnett/kie-mcp/issues/53) · 2026-07-12 · closed · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/elibarnett/kie-mcp/issues).
