Skip to main content

Changelog

Newest-first list of what was added or changed in the API and MCP. Unless noted otherwise, every change is backward compatible (existing requests keep working).

2026-10-07​

GPT Image 2.5 added, default image model changed​

  • modoo-image-gpt-2-5-flare — GPT Image 2.5 Flare (fast). Recommended for everyday and high-volume work.
  • modoo-image-gpt-2-5-sunburst — GPT Image 2.5 Sunburst (highest quality). For complex detail, logos and other precise work. Slower than Flare.
  • Both take n (1–10), size (auto·1024x1024·1536x1024·1024x1536) and quality exactly like modoo-image-gpt.
  • Default model change: when model is omitted, POST /v1/images/generations and the MCP generate_image now use modoo-image-gpt-2-5-flare instead of modoo-image-z. GPT Image costs more credits and has a per-model RPM of 5 — for fast, cheap generation, set "model": "modoo-image-z".
  • Existing model IDs keep their mappings (modoo-image-gpt is still GPT Image 2).

2026-09-14​

New models — GPT-5.5 · Claude Sonnet 5, WAN 3.0 video, video editing, motion transfer​

Text (POST /v1/chat/completions, synchronous & streaming)

  • modoo-text-5-5 — OpenAI GPT-5.5
  • modoo-claude-sonnet-5 — Anthropic Claude Sonnet 5
  • Existing model IDs keep their mappings (modoo-claude-sonnet is still Sonnet 4.6).
  • No per-model RPM is published for these two, so only the default per-key and per-account limits apply.

Video (POST /v1/videos/generations, asynchronous)

  • modoo-video-wan30-t2v — WAN 3.0 text→video. Adds 480P to resolution and a new audio option (sound on/off). Does not take negative_prompt·prompt_extend.
  • modoo-video-wan30-r2v — WAN 3.0 reference→video. Send at least one of first/last frames (image_url·end_image_url) and reference images, videos, or audio (reference_image_urls·reference_video_urls·reference_audio_urls). prompt is optional.
  • modoo-video-happyhorse-edit — HappyHorse 1.0 video editing. prompt and the source video_url are required; reference images and audio_setting (auto·origin) are optional.
  • modoo-video-wan-action — the person in a photo (image_url) performs the motion of a video (video_url). No prompt; mode (wan-std·wan-pro).
  • MCP: generate_video gains modoo-video-wan30-t2v and audio, reference_to_video gains the WAN 3.0 inputs, and there are two new tools, edit_video and transfer_motion.

Image

  • modoo-image-gpt·modoo-image-gpt-edit accept quality (auto·low·medium·high). It used to be fixed at auto, which is still the default when omitted. Other image models return a 422 for it.
  • MCP: generate_image·edit_image gain a quality argument.

⚠️ What changed

  • Video models now return a 422 for inputs they don't take. In particular, reference_image_urls used to be silently ignored on models without that slot (e.g. modoo-video) and is now a 422. Video-input 422 messages now share one format: ... is not supported by '<model>'.

2026-08-03​

Final credits for an async job — charge on GET /v1/jobs/{job_id}​

There was no way to find out what a job_id-returning task (image, video, speech-to-text) ultimately cost: GET /v1/usage carries no job_id, and an async job is billed twice — at submission and at completion — so it is scattered across two usage entries.

  • API: GET /v1/jobs/{job_id} now returns a charge field — the total credits deducted for that job so far (submission + settled completion).
  • Once status is succeeded, that value is the final amount. While still processing it reflects the submission charge only.
  • On failed the submission charge is refunded, so charge is 0.
  • MCP: the get_job tool passes the same response through, so charge comes with it.
  • Existing job records are backfilled from what was already settled.
  • Additive, so backward compatible.

2026-07-25​

ElevenLabs TTS — previous_text/next_text for intonation, plus seed and apply_text_normalization​

Splitting a long script into paragraphs (sections) used to reset the intonation at every section boundary. Each call can now carry the surrounding context so the delivery flows across sections.

  • API: POST /v1/audio/speech gains the optional fields previous_text and next_text — pass the previous paragraph's last sentence and the next paragraph's first sentence.
  • MCP: the text_to_speech tool gains the optional arguments previous_text and next_text.
  • Neither value is ever spoken — they only shape intonation and pacing.
  • They need the neighbouring text, not the neighbouring result, so sections can still be requested in parallel.
  • ⚠️ Unavailable when voice_model is eleven_v3 (rejected upstream). They work on eleven_multilingual_v2 and eleven_flash_v2_5; a v3 request returns a clear 422.

Two more optional fields land alongside them (API and MCP, ElevenLabs-only as well):

  • seed (0–4294967295): the same seed with the same options returns the same audio (best effort). Useful for reproducing a take you liked, or for keeping the tone steady when regenerating a single paragraph.
  • apply_text_normalization (auto · on · off): whether numbers, dates and abbreviations are spelled out.

All four fields are ElevenLabs (modoo-tts-eleven) only; sending them to minimax returns 422.

2026-07-22​

size on every image model · audio_setting for music​

  • Image size: previously, a size sent to modoo-image-gpt/modoo-image-gpt-edit was ignored and pinned to auto. All four values now pass through (auto, 1024x1024, 1536x1024, 1024x1536). Notation differs per family — GPT models use x, while modoo-image-z and the Qwen edit models use width*height (*). A value outside the allowed list now returns a clear 422 instead of an opaque upstream error (per-model lists in the API reference).
  • Music audio_setting: POST /v1/audio/music takes an optional audio_setting — sample_rate, bitrate, format. Anything omitted keeps its previous default. lyrics (1–3,500 chars), prompt (≤2,000 chars) and model (music-2.5/music-2.0) are now validated at request time.
  • MCP: the edit_image tool takes an optional size.
  • Docs fixes: the modoo-image-z example said 1024x1024 — corrected to 1024*1024. Clarified that the music request's model is an engine version, not a modoo model ID (the model ID is always modoo-music).

2026-07-15​

WAN 2.7 image-to-video — first→last interpolation and extra inputs​

modoo-video-i2v (WAN 2.7) gains several optional inputs, including first→last frame interpolation. Each accepts https addresses only (like image_url), is modoo-video-i2v (WAN 2.7) only, and returns 422 if sent to another model.

  • API: new optional fields on POST /v1/videos/generations — end_image_url (a closing frame → first→last interpolation), driving_audio_url (audio that drives the motion, e.g. a talking avatar), first_clip_url (an existing clip to continue/extend from).
  • MCP: new optional arguments end_image_url, driving_audio_url, and first_clip_url on the animate_image tool.
  • All backward compatible; wired from the gateway schema.

2026-07-13​

New models — GPT-5.4 mini/nano · HappyHorse 1.1 video · music generation​

New text, video, and music models were added together. They all follow the existing request formats — you just use a new model value or a new endpoint (existing calls are unchanged).

  • Text (GPT-5.4 mini/nano): new model IDs modoo-text-pro-mini (GPT-5.4 mini) and modoo-text-pro-nano (GPT-5.4 nano). Just change the model value on the existing POST /v1/chat/completions (synchronous & streaming) — no new endpoint or MCP tool.
  • Video (HappyHorse 1.1): new model IDs modoo-video-happyhorse-t2v (text→video), -i2v (image→video), and -r2v (reference→video). POST /v1/videos/generations gains HappyHorse-only optional knobs resolution·ratio·duration·watermark·seed. r2v requires reference_image_urls (1–9 character reference images).
  • Music generation: new model ID modoo-music and a new endpoint POST /v1/audio/music (asynchronous). Create a song with lyrics (required), model (optional, default music-2.5 · music-2.0), and prompt (optional); poll the job_id and, once done, the song file's address is in result.audio_url.
  • MCP: new tools reference_to_video (reference→video) and generate_music (music generation). The existing generate_video and animate_image tools were also extended to accept the HappyHorse model options and the resolution·ratio·duration·watermark·seed knobs. MCP clients refresh the tool list on connect, so no reinstall or reconfiguration is needed.

See the Models guide, API reference, and MCP integration for full parameters.

ElevenLabs voices (TTS) — text_to_speech / POST /v1/audio/speech​

Speech synthesis can now use ElevenLabs (modoo-tts-eleven). minimax (modoo-tts-minimax) remains the default, so existing calls are unchanged.

  • Model selection: new model field — modoo-tts-minimax (default) or modoo-tts-eleven.
  • ElevenLabs options:
    • voice_id — a voice id from your ElevenLabs account (required for ElevenLabs).
    • voice_model — eleven_flash_v2_5 · eleven_multilingual_v2 (default) · eleven_v3.
    • voice_settings — stability · similarity_boost · style · speed · use_speaker_boost.
    • language_code (e.g. ko), output_format (e.g. mp3_44100_128).
  • MCP: the same options were added to the text_to_speech tool. MCP clients refresh the tool list on connect, so no reinstall or reconfiguration is needed.
curl https://modoo.devdive.me/v1/audio/speech \
-H "Authorization: Bearer sk-modoo-..." \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, this is 데브다이브-모두의창업.",
"model": "modoo-tts-eleven",
"voice_id": "EXAVITQu4vr4xnSDxMaL",
"voice_model": "eleven_multilingual_v2",
"voice_settings": { "stability": 0.5, "similarity_boost": 0.75 }
}'

See the API reference and MCP integration for full parameters.