Instructions to use TencentARC/WorldCrafter-Fast with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use TencentARC/WorldCrafter-Fast with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("TencentARC/WorldCrafter-Fast", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
Add accurate Fast model index and complete-package download instructions
Browse files- README.md +9 -1
- SHA256SUMS +2 -1
- model_index.json +62 -0
README.md
CHANGED
|
@@ -14,7 +14,13 @@ Self-contained weights for WorldCrafter Fast image-to-video, text-to-video, and
|
|
| 14 |
|
| 15 |
The two transformer branches have independent DMD LoRA and camera adapters. The RepEncoder, text encoder, tokenizer, VAE, and scheduler are included here. No WorldCrafter-Base files are needed for Fast inference.
|
| 16 |
|
| 17 |
-
From the code repository root:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
```bash
|
| 20 |
python inference.py --model-type fast --model-path weights/WorldCrafter-Fast --output-path outputs/fast.mp4
|
|
@@ -22,6 +28,8 @@ python inference.py --model-type fast --model-path weights/WorldCrafter-Fast --o
|
|
| 22 |
|
| 23 |
Image-to-video uses five high-noise steps and one low-noise step per chunk. Text-to-video uses four high-noise and eight low-noise steps for the first chunk, then two high-noise and four low-noise steps. Compilation is optional with `--enable-compile`.
|
| 24 |
|
|
|
|
|
|
|
| 25 |
`inference_config.json` resolves shared components from this directory (`shared_components: "."`). Keep all component folders together. `manifest.json` records checkpoint provenance and validation hashes; `SHA256SUMS` covers the packaged files.
|
| 26 |
|
| 27 |
## Paper and Resources
|
|
|
|
| 14 |
|
| 15 |
The two transformer branches have independent DMD LoRA and camera adapters. The RepEncoder, text encoder, tokenizer, VAE, and scheduler are included here. No WorldCrafter-Base files are needed for Fast inference.
|
| 16 |
|
| 17 |
+
From the code repository root, download the complete package, including its model index and both transformer branches:
|
| 18 |
+
|
| 19 |
+
```bash
|
| 20 |
+
hf download TencentARC/WorldCrafter-Fast --local-dir weights/WorldCrafter-Fast
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
Then run inference:
|
| 24 |
|
| 25 |
```bash
|
| 26 |
python inference.py --model-type fast --model-path weights/WorldCrafter-Fast --output-path outputs/fast.mp4
|
|
|
|
| 28 |
|
| 29 |
Image-to-video uses five high-noise steps and one low-noise step per chunk. Text-to-video uses four high-noise and eight low-noise steps for the first chunk, then two high-noise and four low-noise steps. Compilation is optional with `--enable-compile`.
|
| 30 |
|
| 31 |
+
`model_index.json` describes the two transformer branches, their adapters, and the shared components. Loading uses `worldcrafter.WorldCrafter.from_pretrained(..., model_type="fast")` through the WorldCrafter code; this package is not a standalone `diffusers.DiffusionPipeline.from_pretrained` checkpoint.
|
| 32 |
+
|
| 33 |
`inference_config.json` resolves shared components from this directory (`shared_components: "."`). Keep all component folders together. `manifest.json` records checkpoint provenance and validation hashes; `SHA256SUMS` covers the packaged files.
|
| 34 |
|
| 35 |
## Paper and Resources
|
SHA256SUMS
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
|
| 2 |
f1577901740c5b77d76cfb4732fdf4dbd8afc87e6232ecf5db6e1209594bfb59 adapter_high_noise/dmd_timestep_contract.json
|
| 3 |
e46e41944879e09f66f5572b13f29b562ddc96a44ebfef59804357d022d765df adapter_high_noise/pytorch_lora_weights.safetensors
|
| 4 |
333dba388746b475114cd664d6fff498b26d7eef4d366f882f4cb7c26077c39e adapter_high_noise/repencoder_frozen.json
|
|
@@ -9,6 +9,7 @@ a0f2884a8e873ea3db316ccd1a0502c98e1a335b52c277aecdbbbcfe1212dc36 adapter_low_no
|
|
| 9 |
72e4a61fe7c6fb1af9285a4f09f545919f3b625c69647ebfe7565a6bf04934cc adapter_low_noise/transformer_partial.pth
|
| 10 |
b25c5764a00ead6b909d24920ae289c69c0e97494baf089a4778e0a8c180abb9 inference_config.json
|
| 11 |
894fec880301593ab7f9727647041e5fa07d401fddbd66979993fad131adb1da manifest.json
|
|
|
|
| 12 |
bf2dbb002da475cf00ce4081369c1bc60a7199d8c5a5e92d801d8670e396d153 repencoder/config.json
|
| 13 |
6b2b0ff728631b83675847f813cb8b834f62ac3d8c0ad9bf774fbd2077669236 repencoder/manifest.json
|
| 14 |
5e86abf6f1ecf86f52610be115827d123113fdfa1aab00630d76a2d2a1e938fc repencoder/model.safetensors
|
|
|
|
| 1 |
+
6c86d51bacc2a12ce1d60e6d3a05c2785559dcb78b00ab6cbddc7f19f01bd22e README.md
|
| 2 |
f1577901740c5b77d76cfb4732fdf4dbd8afc87e6232ecf5db6e1209594bfb59 adapter_high_noise/dmd_timestep_contract.json
|
| 3 |
e46e41944879e09f66f5572b13f29b562ddc96a44ebfef59804357d022d765df adapter_high_noise/pytorch_lora_weights.safetensors
|
| 4 |
333dba388746b475114cd664d6fff498b26d7eef4d366f882f4cb7c26077c39e adapter_high_noise/repencoder_frozen.json
|
|
|
|
| 9 |
72e4a61fe7c6fb1af9285a4f09f545919f3b625c69647ebfe7565a6bf04934cc adapter_low_noise/transformer_partial.pth
|
| 10 |
b25c5764a00ead6b909d24920ae289c69c0e97494baf089a4778e0a8c180abb9 inference_config.json
|
| 11 |
894fec880301593ab7f9727647041e5fa07d401fddbd66979993fad131adb1da manifest.json
|
| 12 |
+
dad03f7d77639589e7ece235717d1b824214064f742c5a82f019b2162d2d4030 model_index.json
|
| 13 |
bf2dbb002da475cf00ce4081369c1bc60a7199d8c5a5e92d801d8670e396d153 repencoder/config.json
|
| 14 |
6b2b0ff728631b83675847f813cb8b834f62ac3d8c0ad9bf774fbd2077669236 repencoder/manifest.json
|
| 15 |
5e86abf6f1ecf86f52610be115827d123113fdfa1aab00630d76a2d2a1e938fc repencoder/model.safetensors
|
model_index.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "WorldCrafter",
|
| 3 |
+
"_module": "worldcrafter",
|
| 4 |
+
"_format": "worldcrafter_fast_model_index_v1",
|
| 5 |
+
"_diffusers_version": "0.37.0",
|
| 6 |
+
"_loading": {
|
| 7 |
+
"entrypoint": "worldcrafter.WorldCrafter.from_pretrained",
|
| 8 |
+
"model_type": "fast",
|
| 9 |
+
"requires_custom_loader": true,
|
| 10 |
+
"inference_config": "inference_config.json",
|
| 11 |
+
"manifest": "manifest.json"
|
| 12 |
+
},
|
| 13 |
+
"_pipeline": {
|
| 14 |
+
"library": "worldcrafter",
|
| 15 |
+
"class_name": "WorldCrafterPipeline",
|
| 16 |
+
"is_distilled": true
|
| 17 |
+
},
|
| 18 |
+
"transformer_high_noise": [
|
| 19 |
+
"worldcrafter",
|
| 20 |
+
"WorldCrafterTransformer3DModel"
|
| 21 |
+
],
|
| 22 |
+
"transformer_low_noise": [
|
| 23 |
+
"worldcrafter",
|
| 24 |
+
"WorldCrafterTransformer3DModel"
|
| 25 |
+
],
|
| 26 |
+
"repencoder": [
|
| 27 |
+
"worldcrafter",
|
| 28 |
+
"RepEncoder"
|
| 29 |
+
],
|
| 30 |
+
"text_encoder": [
|
| 31 |
+
"transformers",
|
| 32 |
+
"UMT5EncoderModel"
|
| 33 |
+
],
|
| 34 |
+
"tokenizer": [
|
| 35 |
+
"transformers",
|
| 36 |
+
"T5TokenizerFast"
|
| 37 |
+
],
|
| 38 |
+
"vae": [
|
| 39 |
+
"diffusers",
|
| 40 |
+
"AutoencoderKLWan"
|
| 41 |
+
],
|
| 42 |
+
"scheduler": [
|
| 43 |
+
"worldcrafter",
|
| 44 |
+
"WorldCrafterScheduler"
|
| 45 |
+
],
|
| 46 |
+
"_adapters": {
|
| 47 |
+
"high_noise": {
|
| 48 |
+
"transformer": "transformer_high_noise",
|
| 49 |
+
"lora_weights": "adapter_high_noise/pytorch_lora_weights.safetensors",
|
| 50 |
+
"camera_weights": "adapter_high_noise/transformer_partial.pth",
|
| 51 |
+
"timestep_contract": "adapter_high_noise/dmd_timestep_contract.json",
|
| 52 |
+
"repencoder_reference": "adapter_high_noise/repencoder_frozen.json"
|
| 53 |
+
},
|
| 54 |
+
"low_noise": {
|
| 55 |
+
"transformer": "transformer_low_noise",
|
| 56 |
+
"lora_weights": "adapter_low_noise/pytorch_lora_weights.safetensors",
|
| 57 |
+
"camera_weights": "adapter_low_noise/transformer_partial.pth",
|
| 58 |
+
"timestep_contract": "adapter_low_noise/dmd_timestep_contract.json",
|
| 59 |
+
"repencoder_reference": "adapter_low_noise/repencoder_frozen.json"
|
| 60 |
+
}
|
| 61 |
+
}
|
| 62 |
+
}
|