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) andqualityexactly likemodoo-image-gpt. - Default model change: when
modelis omitted,POST /v1/images/generationsand the MCPgenerate_imagenow usemodoo-image-gpt-2-5-flareinstead ofmodoo-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-gptis 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.5modoo-claude-sonnet-5— Anthropic Claude Sonnet 5- Existing model IDs keep their mappings (
modoo-claude-sonnetis 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. Adds480Ptoresolutionand a newaudiooption (sound on/off). Does not takenegative_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).promptis optional.modoo-video-happyhorse-edit— HappyHorse 1.0 video editing.promptand the sourcevideo_urlare required; reference images andaudio_setting(auto·origin) are optional.modoo-video-wan-action— the person in a photo (image_url) performs the motion of a video (video_url). Noprompt;mode(wan-std·wan-pro).- MCP:
generate_videogainsmodoo-video-wan30-t2vandaudio,reference_to_videogains the WAN 3.0 inputs, and there are two new tools,edit_videoandtransfer_motion.
Image
modoo-image-gpt·modoo-image-gpt-editacceptquality(auto·low·medium·high). It used to be fixed atauto, which is still the default when omitted. Other image models return a 422 for it.- MCP:
generate_image·edit_imagegain aqualityargument.
⚠️ What changed
- Video models now return a 422 for inputs they don't take. In particular,
reference_image_urlsused 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 achargefield — the total credits deducted for that job so far (submission + settled completion). - Once
statusissucceeded, that value is the final amount. While stillprocessingit reflects the submission charge only. - On
failedthe submission charge is refunded, sochargeis0. - MCP: the
get_jobtool passes the same response through, sochargecomes 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/speechgains the optional fieldsprevious_textandnext_text— pass the previous paragraph's last sentence and the next paragraph's first sentence. - MCP: the
text_to_speechtool gains the optional argumentsprevious_textandnext_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_modeliseleven_v3(rejected upstream). They work oneleven_multilingual_v2andeleven_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, asizesent tomodoo-image-gpt/modoo-image-gpt-editwas ignored and pinned toauto. All four values now pass through (auto,1024x1024,1536x1024,1024x1536). Notation differs per family — GPT models usex, whilemodoo-image-zand the Qwen edit models usewidth*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/musictakes an optionalaudio_setting—sample_rate,bitrate,format. Anything omitted keeps its previous default.lyrics(1–3,500 chars),prompt(≤2,000 chars) andmodel(music-2.5/music-2.0) are now validated at request time. - MCP: the
edit_imagetool takes an optionalsize. - Docs fixes: the
modoo-image-zexample said1024x1024— corrected to1024*1024. Clarified that the music request'smodelis an engine version, not a modoo model ID (the model ID is alwaysmodoo-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, andfirst_clip_urlon theanimate_imagetool. - 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) andmodoo-text-pro-nano(GPT-5.4 nano). Just change themodelvalue on the existingPOST /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/generationsgains HappyHorse-only optional knobsresolution·ratio·duration·watermark·seed. r2v requiresreference_image_urls(1–9 character reference images). - Music generation: new model ID
modoo-musicand a new endpointPOST /v1/audio/music(asynchronous). Create a song withlyrics(required),model(optional, defaultmusic-2.5·music-2.0), andprompt(optional); poll thejob_idand, once done, the song file's address is inresult.audio_url. - MCP: new tools
reference_to_video(reference→video) andgenerate_music(music generation). The existinggenerate_videoandanimate_imagetools were also extended to accept the HappyHorsemodeloptions and theresolution·ratio·duration·watermark·seedknobs. 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
modelfield —modoo-tts-minimax(default) ormodoo-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_speechtool. 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.