Skip to content

feat: add video generation commands (SeeDance2.0)#8

Merged
0xFANGO merged 11 commits into
mainfrom
ralph/listenhub-cli--127
May 18, 2026
Merged

feat: add video generation commands (SeeDance2.0)#8
0xFANGO merged 11 commits into
mainfrom
ralph/listenhub-cli--127

Conversation

@0xFANGO
Copy link
Copy Markdown
Collaborator

@0xFANGO 0xFANGO commented May 18, 2026

Summary

  • New listenhub video command group: create, get, list, estimate
  • Upgraded @marswave/listenhub-sdk to ^0.0.6 for video generation API support
  • Extended upload.ts to support video files (.mp4/.mov, max 50MB) with category override
  • Added pollVideoTaskUntilDone with 1200s default timeout
  • Full CLI-side validation: input mode mutual exclusion, parameter range checks, audio/video format restrictions
  • Updated both English and Chinese READMEs with command tables and examples

Part of marswaveai/listenhub-ralph#127

Test plan

  • listenhub video create --prompt "..." --no-wait submits successfully
  • listenhub video create --prompt "..." --first-frame ./image.png works with local upload
  • listenhub video create --prompt "..." --reference-video ./clip.mp4 --input-video-duration 5 works
  • listenhub video list shows task history
  • listenhub video get <id> displays task details
  • listenhub video estimate --model doubao-seedance-2-pro --resolution 1080p --duration 10 returns credits
  • Input mode mixing (frame + reference) correctly rejected
  • --no-generate-audio correctly disables audio track
  • pnpm check passes clean

0xFANGO added 8 commits May 18, 2026 11:00
…straints

- Add --input-video-duration (required with --reference-video, range 2-15)
- Change --generate-audio to --no-generate-audio (preserve server default: true)
- Clarify URLs must be local files or platform asset URLs (not arbitrary external)
- Add full parameter validation rules (duration 4-15, seed range, 1080p pro-only,
  frame/reference mode mutual exclusion, max counts)
- Align default model to server default (doubao-seedance-2-fast)
- Increase polling timeout to 1200s

Part of marswaveai/listenhub-ralph#127
- reference-audio requires reference-image or reference-video (not just prompt)
- reference-audio is part of reference mode, cannot mix with frame mode
- video command uploads use category=episode (private upload) instead of banana
- resolveFileOrUrl gets category override param; existing image cmd unchanged

Part of marswaveai/listenhub-ralph#127
7-step plan covering SDK upgrade, upload extension, polling,
video module (create/get/list/estimate), CLI registration, and README.

Part of marswaveai/listenhub-ralph#127
- Video: mp4/mov only, 50MB max (no webm)
- Audio for video cmd: mp3/wav only, 15MB max
- Add --input-video-duration without --reference-video validation (both directions)
- estimate: --input-video-duration and --has-video-input must pair
- Step 7: add pnpm build + smoke check (video --help)
- Fix README nested fence, add README.zh-CN.md to plan

Part of marswaveai/listenhub-ralph#127
New `listenhub video` command group with create, get, list, and estimate
subcommands. Upgrades SDK to 0.0.6 and extends upload utility to support
video files (.mp4/.mov, max 50MB).
@0xFANGO 0xFANGO changed the title docs: spec for SeeDance2.0 video generation CLI feat: add video generation commands (SeeDance2.0) May 18, 2026
0xFANGO added 3 commits May 18, 2026 13:44
When --reference-video points to a local file and --input-video-duration
is omitted, the CLI now reads the mvhd atom to extract the duration
automatically. URLs still require explicit --input-video-duration.
When auto-detected duration exceeds the 2-15s API range, prompt the user
to specify how much of the reference video to use instead of silently
passing an invalid value.
These documents served their purpose during planning and are not needed
in the final deliverable.
@0xFANGO 0xFANGO merged commit fe602ab into main May 18, 2026
1 check passed
@0xFANGO 0xFANGO deleted the ralph/listenhub-cli--127 branch May 18, 2026 08:08
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