Skip to content

Release v0.4.3 — fix kling-v3-omni v2v/v2v-edit video param schema - #3

Merged
nosuchperson merged 2 commits into
openmule:mainfrom
nosuchperson:mc-auto/sess-a897e25c
May 28, 2026
Merged

Release v0.4.3 — fix kling-v3-omni v2v/v2v-edit video param schema#3
nosuchperson merged 2 commits into
openmule:mainfrom
nosuchperson:mc-auto/sess-a897e25c

Conversation

@nosuchperson

@nosuchperson nosuchperson commented May 28, 2026

Copy link
Copy Markdown
Contributor

Upstream ReferenceVideoToVideoRequest and VideoToVideoEditRequest schemas (mule-run src/aag/mule-router/docs/api/kling/v3-omni-reference-video-to-video.yaml and v3-omni-video-to-video-edit.yaml) declare video as a single URL string and keep_audio as a boolean. The CLI defined video as an array of {video_url, refer_type, keep_original_sound} objects and exposed first_frame / last_frame parameters that upstream rejects via additionalProperties: false. As a result every invocation of either endpoint failed at mule-router's pydantic layer with error_code 2001 "'video' expected Input should be a valid string".

Align both endpoints with the upstream schema:

  • video: array → string (URL)
  • new keep_audio: boolean (default false)
  • v2v: drop first_frame / last_frame
  • v2v: note in description that aspect_ratio must be set explicitly when no first_frame is given. The openapi marks it optional with auto-infer, but generation fails at runtime with 4002 "Aspect ratio must be specified when no first image and not video editing".

Verified end-to-end against api.mulerouter.ai:

  • v2v + video=<url> + keep_audio=false + aspect_ratio=16:9 + mode=std + duration=5 → task 56ec9e50… produced result_00.mp4
  • v2v-edit + video=<url> + keep_audio=true + mode=std → task 09439f64… produced result_00.mp4
  • Old array shape returns HTTP 400 / error_code 2001 immediately, confirming no downstream rescue path

Re-ran the full 34-endpoint regression on mulerouter.ai with the patched CLI binary: pass rate goes from 25/34 (pre-fix) to 33/34 (post-fix), with the remaining failure being an environmental openai/gpt-image-2/generation upstream slowness that also failed on 0.4.2.

Bump @mulerouter/core and mulerouter to 0.4.3 (publish workflow verifies versions match).

Reported by: github-mulerouter-skill harness session 65f136d7.

nosuchperson and others added 2 commits May 28, 2026 13:44
…ter schema

`video` is a string URL, not a JSON array of objects, per the upstream
mule-router pydantic schema (openapi YAML at
src/aag/mule-router/docs/api/kling/v3-omni-reference-video-to-video.yaml
and v3-omni-video-to-video-edit.yaml). Old shape was rejected with
error_code 2001 "expected Input should be a valid string".

For both endpoints:
- video: array -> string
- add keep_audio: boolean (default false)

v2v only:
- remove first_frame / last_frame (upstream additionalProperties:false rejects)
- note in description: aspect_ratio must be set explicitly when no
  first_frame is given (runtime requirement, not in openapi)

Verified end-to-end against api.mulerouter.ai (tasks 56ec9e50 and
09439f64 produced real mp4 outputs). Regression now 33/34 (vs 25/34).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@nosuchperson
nosuchperson merged commit 0cbd4dd into openmule:main May 28, 2026
4 checks passed
@nosuchperson
nosuchperson deleted the mc-auto/sess-a897e25c branch May 28, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant