* feat(ali): support wan3.0 all-in-one video models Extend the Alibaba task plugin for wan3.0-video / wan3.0-video-prime using DashScope media, resolution/ratio, duration rules, and billing ratios. * fix(ali): make wan3.0 smart duration billable and alias-safe Review fixes on top of #7240 (qiuliw): - duration -1 never reached the plugin: the host rejects negative canonical duration/seconds facts before any hook runs, on every entry point. Decoders now normalize -1 into an auto_duration marker; convert emits -1 upstream and bills 30s up front; non-wan3.0 models reject the marker instead of silently defaulting to 5s. - extractUsageOnComplete read output.duration/output.resolution, but wan3.0 reports usage.output_video_duration and numeric usage.SR, so smart-duration and resolution settlement never reconciled. Read the usage block first, keep the legacy output fields as fallback. - convert keyed default resolution on the client model name, so a channel-mapped alias fell to 720P while the direct request got 1080P. Every model-shaped decision in convert now uses ctx.upstreamModel. - Unknown wan3.0 size values were silently coerced to 1080P; reject them. - Image-only openai_responses input was accepted for every model, regressing t2v models into pre-consume then upstream rejection. Restore the guard and allow image-only for i2v and wan3.0 only. - Native passthrough dropped wan3.0 parameters (ratio, audio) unless media was present; forward them via metadata for wan3.0. - Hoist the triplicated size-to-resolution map; add wan3.0 contract tests. --------- Co-authored-by: qiuliw <a1807191473@qgmail.com>
| Name |
Last commit
|
Last Update |
|---|---|---|
| .agents | Loading commit data... | |
| .github | Loading commit data... | |
| bin | Loading commit data... | |
| common | Loading commit data... | |
| constant | Loading commit data... | |
| controller | Loading commit data... | |
| docs | Loading commit data... | |
| dto | Loading commit data... | |
| e2e | Loading commit data... | |
| electron | Loading commit data... | |
| i18n | Loading commit data... | |
| logger | Loading commit data... | |
| middleware | Loading commit data... | |
| model | Loading commit data... | |
| oauth | Loading commit data... | |
| pkg | Loading commit data... | |
| plugins | Loading commit data... | |
| relay | Loading commit data... | |
| relaykit | Loading commit data... | |
| router | Loading commit data... | |
| service | Loading commit data... | |
| setting | Loading commit data... | |
| types | Loading commit data... | |
| web | Loading commit data... | |
| .dockerignore | Loading commit data... | |
| .env.example | Loading commit data... | |
| .gitattributes | Loading commit data... | |
| .gitignore | Loading commit data... | |
| AGENTS.md | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| Dockerfile | Loading commit data... | |
| Dockerfile.dev | Loading commit data... | |
| LICENSE | Loading commit data... | |
| NOTICE | Loading commit data... | |
| README.en.md | Loading commit data... | |
| README.fr.md | Loading commit data... | |
| README.ja.md | Loading commit data... | |
| README.md | Loading commit data... | |
| README.zh_CN.md | Loading commit data... | |
| README.zh_TW.md | Loading commit data... | |
| THIRD-PARTY-LICENSES.md | Loading commit data... | |
| VERSION | Loading commit data... | |
| docker-compose.dev.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| go.mod | Loading commit data... | |
| go.sum | Loading commit data... | |
| main.go | Loading commit data... | |
| makefile | Loading commit data... | |
| new-api.service | Loading commit data... |