Update documentation and integrations with new CLI options

- Add --model-list-batch to EXAMPLES.md for batch model listing
- Add new CLI options to MCP server (--output-dir, --yes, --audio-chunk)
- Add new CLI options to webapp build_command function
- Update README.md with Output Options section
parent 20db65c1
...@@ -1555,6 +1555,10 @@ python3 videogen --model-list --huge-vram ...@@ -1555,6 +1555,10 @@ python3 videogen --model-list --huge-vram
# Combine filters # Combine filters
python3 videogen --model-list --i2v-only --low-vram python3 videogen --model-list --i2v-only --low-vram
python3 videogen --model-list --nsfw-friendly --high-vram python3 videogen --model-list --nsfw-friendly --high-vram
# Batch output (useful for scripts)
python3 videogen --model-list --model-list-batch
python3 videogen --model-list --t2v-only --model-list-batch
``` ```
### Model Details ### Model Details
......
...@@ -301,18 +301,27 @@ The web interface provides: ...@@ -301,18 +301,27 @@ The web interface provides:
# Update model database (run this first!) # Update model database (run this first!)
python3 videogen --update-models python3 videogen --update-models
# List available models # List available models (shows stable IDs regardless of filters)
python3 videogen --model-list python3 videogen --model-list
# List models in script-friendly format (NUMERIC_ID:FULL_MODEL_NAME)
python3 videogen --model-list-batch
# List models by VRAM requirement # List models by VRAM requirement
python3 videogen --model-list --low-vram # ≤16GB python3 videogen --model-list --low-vram # ≤16GB
python3 videogen --model-list --high-vram # >30GB python3 videogen --model-list --high-vram # >30GB
python3 videogen --model-list --huge-vram # >55GB python3 videogen --model-list --huge-vram # >55GB
# List models by type
python3 videogen --model-list --t2v-only # Text-to-Video only
python3 videogen --model-list --i2v-only # Image-to-Video only
python3 videogen --model-list --t2i-only # Text-to-Image only
python3 videogen --model-list --nsfw-friendly # NSFW-capable models
# Search HuggingFace for models # Search HuggingFace for models
python3 videogen --search-models "video generation" python3 videogen --search-models "video generation"
# Add a model # Add a model (supports full HuggingFace ID)
python3 videogen --add-model stabilityai/stable-video-diffusion-img2vid-xt-1.1 --name svd_xt python3 videogen --add-model stabilityai/stable-video-diffusion-img2vid-xt-1.1 --name svd_xt
# Show model details # Show model details
...@@ -331,11 +340,20 @@ python3 videogen --enable-model <ID_or_name> ...@@ -331,11 +340,20 @@ python3 videogen --enable-model <ID_or_name>
# List cached models with sizes and last accessed times # List cached models with sizes and last accessed times
python3 videogen --list-cached-models python3 videogen --list-cached-models
# Remove specific cached model # Remove specific cached model (auto-confirm with --yes)
python3 videogen --remove-cached-model <model_id> python3 videogen --remove-cached-model <model_id>
python3 videogen --remove-cached-model <model_id> --yes
# Clear entire cache # Clear entire cache (auto-confirm with --yes)
python3 videogen --clear-cache python3 videogen --clear-cache
python3 videogen --clear-cache --yes
```
## Output Options
```bash
# Set output directory
python3 videogen --model wan_1.3b_t2v --prompt "test" --output-dir /path/to/outputs
``` ```
--- ---
......
...@@ -1111,7 +1111,11 @@ async def call_tool(name: str, arguments: dict) -> list: ...@@ -1111,7 +1111,11 @@ async def call_tool(name: str, arguments: dict) -> list:
"--fps", str(arguments.get("fps", 15)), "--fps", str(arguments.get("fps", 15)),
] ]
if arguments.get("seed", -1) >= 0: if arguments.get("seed", -1) >= 0:
args.extend(["--seed", str(arguments["seed"])]) args.extend(["--seed", str(arguments["seed"])])
if arguments.get("output_dir"):
args.extend(["--output-dir", arguments["output_dir"]])
if arguments.get("yes", False):
args.append("--yes")
output, code = run_videogen_command(args) output, code = run_videogen_command(args)
return [TextContent(type="text", text=output)] return [TextContent(type="text", text=output)]
...@@ -1180,6 +1184,11 @@ async def call_tool(name: str, arguments: dict) -> list: ...@@ -1180,6 +1184,11 @@ async def call_tool(name: str, arguments: dict) -> list:
if arguments.get("lip_sync"): if arguments.get("lip_sync"):
args.append("--lip_sync") args.append("--lip_sync")
if arguments.get("output_dir"):
args.extend(["--output-dir", arguments["output_dir"]])
if arguments.get("yes", False):
args.append("--yes")
output, code = run_videogen_command(args) output, code = run_videogen_command(args)
return [TextContent(type="text", text=output)] return [TextContent(type="text", text=output)]
...@@ -1212,6 +1221,10 @@ async def call_tool(name: str, arguments: dict) -> list: ...@@ -1212,6 +1221,10 @@ async def call_tool(name: str, arguments: dict) -> list:
elif filter_type == "nsfw": elif filter_type == "nsfw":
args.append("--nsfw-friendly") args.append("--nsfw-friendly")
# Add batch output support for programmatic access
if arguments.get("batch", False):
args.append("--model-list-batch")
output, code = run_videogen_command(args) output, code = run_videogen_command(args)
return [TextContent(type="text", text=output)] return [TextContent(type="text", text=output)]
...@@ -1406,6 +1419,8 @@ async def call_tool(name: str, arguments: dict) -> list: ...@@ -1406,6 +1419,8 @@ async def call_tool(name: str, arguments: dict) -> list:
] ]
if arguments.get("language"): if arguments.get("language"):
args.extend(["--source-lang", arguments["language"]]) args.extend(["--source-lang", arguments["language"]])
if arguments.get("audio_chunk"):
args.extend(["--audio-chunk", arguments["audio_chunk"]])
output, code = run_videogen_command(args, timeout=1800) output, code = run_videogen_command(args, timeout=1800)
return [TextContent(type="text", text=output)] return [TextContent(type="text", text=output)]
......
...@@ -358,6 +358,18 @@ def build_command(params: Dict) -> List[str]: ...@@ -358,6 +358,18 @@ def build_command(params: Dict) -> List[str]:
if params.get('debug'): if params.get('debug'):
cmd.append('--debug') cmd.append('--debug')
# Output directory (for batch processing)
if params.get('output_dir'):
cmd.extend(['--output-dir', params['output_dir']])
# Auto-confirmation
if params.get('yes'):
cmd.append('--yes')
# Audio chunking strategy
if params.get('audio_chunk'):
cmd.extend(['--audio-chunk', params['audio_chunk']])
return cmd return cmd
def run_job(job_id: str, cmd: List[str]): def run_job(job_id: str, cmd: List[str]):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment