A newer version of the Gradio SDK is available: 6.19.0
title: nifty-lab
sdk: gradio
sdk_version: 6.14.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: Multimodal playground on ByteDance Lance, ZeroGPU
tags:
- multimodal
- text-to-video
- video-understanding
- lance
nifty-lab (Space code)
This is the Hugging Face Space that powers the nifty-lab portfolio piece. It runs on ZeroGPU and serves ByteDance's Lance unified multimodal model.
What's in here
app.py: the Gradio app, written by me. ZeroGPU adapter around Lance.lance_gradio_t2v_v2t.py: a verbatim copy of ByteDance's reference Gradio script. We import the heavy model-loading classes from it.modeling/,common/,data/,config/: copied verbatim from ByteDance's repo. These are the Python packages Lance's inference code imports.requirements.txt: pinned dependency versions tested against ZeroGPU.LICENSE_LANCE: ByteDance's Apache 2.0 license for the upstream code.
How it boots
When the Space starts, app.py downloads the Lance_3B_Video weights from
bytedance-research/Lance into downloads/Lance_3B_Video/. First boot
takes 5 to 10 minutes for the download. Subsequent boots use the cached
files.
After download, the Gradio UI comes up. The first request the user makes loads the model into GPU memory (about 60 seconds). Subsequent requests in the same warm window are fast.
Stage 1 vs Stage 2
Stage 1 (this commit): text-to-video and video understanding.
Stage 2 (coming): text-to-image, image edit, video edit, image
understanding. These will load the second Lance variant (Lance_3B)
alongside the current video variant.
License attribution
Original Lance code is Apache 2.0 by ByteDance Ltd. See LICENSE_LANCE.
Adapter code in app.py is Apache 2.0 by Igor Lima.