Files
hao-ai-lab-FastVideo/docs/cookbook/options.yaml

228 lines
6.8 KiB
YAML

# Authored control metadata. These standard JSON Schema fragments describe the
# available fields; deployment.options selects which ones appear in a recipe.
# Config values come from the native baseline, not these informational defaults.
# CUDA declarations follow fastvideo/api/schema.py; MLX declarations follow
# fastvideo/entrypoints/openai/mlx_server.py.
# GPU count, frames, dimensions, and FPS have practical, overridable cookbook
# limits. These UI choices do not describe engine capacity or guarantee GPU fit.
# Integer transport precision is checked by the serializer, not modeled as range.
options:
server.host:
title: Host
type: string
default: 0.0.0.0
server.port:
title: Port
type: integer
default: 8000
minimum: 1
maximum: 65535
server.output_dir:
title: Output directory
type: string
default: outputs/
server.served_model_name:
# CUDA permits null; MLX requires a nonempty string. Each runtime completes it.
title: Served model name
runtimes:
fastvideo-cuda-rest:
metadata:
id: fastvideo-cuda-rest
label: CUDA REST
backend: cuda
interface: rest
launch_argv: &cuda_launch [fastvideo, serve, --config, config.yaml]
install_url: https://haoailab.com/FastVideo/getting_started/installation/
topology_defaults: &cuda_topology
num_gpus: 1
tp_size: -1
sp_size: -1
hsdp_replicate_dim: 1
hsdp_shard_dim: -1
server_defaults: &cuda_server
host: 0.0.0.0
port: 8000
served_model_name: null
workloads: [t2v, i2v]
options: &cuda_options
server.served_model_name:
anyOf:
- type: string
- type: "null"
default: null
generator.engine.num_gpus:
title: GPU count
type: integer
default: 1
minimum: 1
maximum: 8
generator.engine.parallelism.tp_size:
title: Tensor parallelism
description: Splits supported text encoders across GPUs; this does not shard every model's DiT.
type: integer
default: -1
minimum: -1
not: {const: 0}
generator.engine.parallelism.sp_size:
title: Sequence parallelism
type: integer
default: -1
minimum: -1
not: {const: 0}
generator.engine.parallelism.hsdp_replicate_dim:
title: HSDP replication
type: integer
default: 1
minimum: 1
generator.engine.parallelism.hsdp_shard_dim:
title: HSDP sharding
type: integer
default: -1
minimum: -1
not: {const: 0}
generator.engine.offload.dit_layerwise:
title: Offload DiT layers to CPU
type: boolean
default: true
generator.engine.offload.text_encoder:
title: Offload text encoder to CPU
type: boolean
default: true
generator.engine.offload.vae:
title: Offload VAE to CPU
type: boolean
default: true
generator.engine.compile.enabled:
title: Compile transformer
type: boolean
default: false
default_request.sampling.num_frames:
title: Frames
type: integer
default: 125
minimum: 1
maximum: 512
default_request.sampling.height:
title: Height
type: integer
default: 720
minimum: 1
maximum: 4096
default_request.sampling.width:
title: Width
type: integer
default: 1280
minimum: 1
maximum: 4096
default_request.sampling.fps:
title: FPS
type: integer
default: 24
minimum: 1
maximum: 120
default_request.sampling.seed:
title: Seed
type: integer
default: 1024
fastvideo-mlx-rest:
metadata:
id: fastvideo-mlx-rest
label: MLX REST
backend: mlx
interface: rest
hardware_label: Apple Silicon
launch_argv: [python, -m, fastvideo.entrypoints.openai.mlx_server, --config, config.yaml]
install_url: https://haoailab.com/FastVideo/getting_started/installation/mlx/
server_defaults:
host: 127.0.0.1
port: 8000
served_model_name: fasth3
workloads: [t2v]
options:
server.host:
default: 127.0.0.1
server.port:
minimum: 1
maximum: 65535
server.output_dir:
default: outputs/mlx_fasth3
server.served_model_name:
type: string
minLength: 1
default: fasth3
generator.model_root:
title: Model directory
type: string
generator.mlx_checkpoint:
title: MLX checkpoint
type: string
generator.prompt_cache_dir:
title: Prompt cache directory
type: string
default: outputs/h3_prompt_cache
generator.vae_dtype:
title: VAE precision
type: string
enum: [fp32, fp16, bf16]
default: fp32
generator.vsa_sparsity:
title: VSA sparsity
type: number
minimum: 0.0
exclusiveMaximum: 1.0
default: 0.9
default_request.sampling.num_frames:
title: Frames
type: integer
minimum: 108
maximum: 362
description: Configured counts align upward to the next 17n+5 value; explicit HTTP counts must already be aligned.
default_request.sampling.height:
title: Height
type: integer
minimum: 32
maximum: 4096
multipleOf: 32
description: H3 serving requires multiples of 32; its canvas-area limit also applies.
default_request.sampling.width:
title: Width
type: integer
minimum: 32
maximum: 4096
multipleOf: 32
description: H3 serving requires multiples of 32; its canvas-area limit also applies.
default_request.sampling.seed:
title: Seed
type: integer
minimum: 0
maximum: 4294967295
fastvideo-cuda-streaming:
metadata:
id: fastvideo-cuda-streaming
label: CUDA streaming
backend: cuda
interface: websocket
launch_argv: *cuda_launch
install_url: https://haoailab.com/FastVideo/getting_started/installation/
topology_defaults: *cuda_topology
client_guide_url: ../../design/server_contracts/streaming/
server_defaults: *cuda_server
workloads: [t2v]
options:
<<: *cuda_options
streaming.session_timeout_seconds:
title: Client message timeout (seconds)
type: integer
minimum: 1
default: 300
description: Time allowed for client initialization, an idle client message, or worker acquisition; not an ongoing-generation deadline.
streaming.generation_segment_cap:
title: Maximum segments per session
type: integer
minimum: 1
default: 6
description: Stop the session after this many generated segments.