Readme
This model doesn't have a readme.
Run this model in Node.js with one line of code:
npm install replicate
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
import Replicate from "replicate";
import fs from "node:fs";
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
Run theblindeman/twha using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run(
"theblindeman/twha:f72ba92f2bd5924059ed3d85470461f8ee733cef7092540650dea8ef7407a740",
{
input: {
frames: 81,
prompt: "twha . wearing an unbuttoned men's dress shirt and panties is walking through a kitchen. she holds her morning coffee mug in her hands. as she walks the unbuttoned shirt sways with her movement, teasing the viewer with a glimpse of her breasts. the scene is almost like a fantasy you have in a dream of a woman you want to be with. set in a modern cozy kitchen.",
fast_mode: "Balanced",
resolution: "720p",
aspect_ratio: "16:9",
sample_shift: 8,
sample_steps: 30,
negative_prompt: "",
lora_strength_clip: 1,
sample_guide_scale: 5,
lora_strength_model: 1
}
}
);
// To access the file URL:
console.log(output[0].url()); //=> "http://example.com"
// To write the file to disk:
fs.writeFile("my-image.png", output[0]);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
import replicate
Run theblindeman/twha using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run(
"theblindeman/twha:f72ba92f2bd5924059ed3d85470461f8ee733cef7092540650dea8ef7407a740",
input={
"frames": 81,
"prompt": "twha . wearing an unbuttoned men's dress shirt and panties is walking through a kitchen. she holds her morning coffee mug in her hands. as she walks the unbuttoned shirt sways with her movement, teasing the viewer with a glimpse of her breasts. the scene is almost like a fantasy you have in a dream of a woman you want to be with. set in a modern cozy kitchen.",
"fast_mode": "Balanced",
"resolution": "720p",
"aspect_ratio": "16:9",
"sample_shift": 8,
"sample_steps": 30,
"negative_prompt": "",
"lora_strength_clip": 1,
"sample_guide_scale": 5,
"lora_strength_model": 1
}
)
print(output)
To learn more, take a look at the guide on getting started with Python.
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run theblindeman/twha using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \
-H "Authorization: Bearer $REPLICATE_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Prefer: wait" \
-d $'{
"version": "theblindeman/twha:f72ba92f2bd5924059ed3d85470461f8ee733cef7092540650dea8ef7407a740",
"input": {
"frames": 81,
"prompt": "twha . wearing an unbuttoned men\'s dress shirt and panties is walking through a kitchen. she holds her morning coffee mug in her hands. as she walks the unbuttoned shirt sways with her movement, teasing the viewer with a glimpse of her breasts. the scene is almost like a fantasy you have in a dream of a woman you want to be with. set in a modern cozy kitchen.",
"fast_mode": "Balanced",
"resolution": "720p",
"aspect_ratio": "16:9",
"sample_shift": 8,
"sample_steps": 30,
"negative_prompt": "",
"lora_strength_clip": 1,
"sample_guide_scale": 5,
"lora_strength_model": 1
}
}' \
https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Add a payment method to run this model.
By signing in, you agree to our
terms of service and privacy policy
{
"completed_at": "2025-05-29T18:23:05.421872Z",
"created_at": "2025-05-29T18:08:10.213000Z",
"data_removed": false,
"error": null,
"id": "yvjb9bfbwnrma0cq3mxarcv7xr",
"input": {
"frames": 81,
"prompt": "twha . wearing an unbuttoned men's dress shirt and panties is walking through a kitchen. she holds her morning coffee mug in her hands. as she walks the unbuttoned shirt sways with her movement, teasing the viewer with a glimpse of her breasts. the scene is almost like a fantasy you have in a dream of a woman you want to be with. set in a modern cozy kitchen.",
"fast_mode": "Balanced",
"resolution": "720p",
"aspect_ratio": "16:9",
"sample_shift": 8,
"sample_steps": 30,
"negative_prompt": "",
"lora_strength_clip": 1,
"sample_guide_scale": 5,
"lora_strength_model": 1
},
"logs": "Random seed set to: 4210953954\n2025-05-29T18:12:03Z | INFO | [ Initiating ] chunk_size=150M dest=/tmp/tmpge8xnzyg/weights url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar\n2025-05-29T18:12:03Z | INFO | [ Cache Service ] enabled=true scheme=http target=hermes.services.svc.cluster.local\n2025-05-29T18:12:06Z | INFO | [ Complete ] dest=/tmp/tmpge8xnzyg/weights size=\"307 MB\" total_elapsed=3.326s url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar\nChecking inputs\n====================================\nChecking weights\n✅ wan_2.1_vae.safetensors exists in ComfyUI/models/vae\n✅ wan2.1_t2v_14B_bf16.safetensors exists in ComfyUI/models/diffusion_models\n✅ 14b_933cfa912fe6e85b8f11146de130994c.safetensors exists in loras directory\n✅ umt5_xxl_fp16.safetensors exists in ComfyUI/models/text_encoders\n====================================\nRunning workflow\n[ComfyUI] got prompt\nExecuting node 40, title: EmptyHunyuanLatentVideo, class type: EmptyHunyuanLatentVideo\nExecuting node 49, title: Load LoRA, class type: LoraLoader\n[ComfyUI] Requested to load WanTEModel\nExecuting node 6, title: CLIP Text Encode (Positive Prompt), class type: CLIPTextEncode\n[ComfyUI] loaded completely 113273.66620521546 10835.4765625 True\nExecuting node 48, title: ModelSamplingSD3, class type: ModelSamplingSD3\nExecuting node 3, title: KSampler, class type: KSampler\n[ComfyUI] Requested to load WAN21\n[ComfyUI] loaded completely 115028.28298866272 27251.406372070312 True\n[ComfyUI]\n[ComfyUI] 0%| | 0/30 [00:00<?, ?it/s]\n[ComfyUI] Resetting TeaCache state\n[ComfyUI]\n[ComfyUI] 3%|▎ | 1/30 [00:28<13:57, 28.89s/it]\n[ComfyUI] 7%|▋ | 2/30 [01:05<15:40, 33.58s/it]\n[ComfyUI] 10%|█ | 3/30 [01:42<15:47, 35.09s/it]\n[ComfyUI] TeaCache: Initialized\n[ComfyUI]\n[ComfyUI] 13%|█▎ | 4/30 [02:28<17:04, 39.40s/it]\n[ComfyUI] 17%|█▋ | 5/30 [02:28<10:31, 25.26s/it]\n[ComfyUI] 20%|██ | 6/30 [03:06<11:46, 29.42s/it]\n[ComfyUI] 23%|██▎ | 7/30 [03:06<07:36, 19.85s/it]\n[ComfyUI] 27%|██▋ | 8/30 [03:44<09:20, 25.47s/it]\n[ComfyUI] 30%|███ | 9/30 [03:44<06:08, 17.56s/it]\n[ComfyUI] 33%|███▎ | 10/30 [04:21<07:54, 23.72s/it]\n[ComfyUI] 37%|███▋ | 11/30 [04:21<05:13, 16.51s/it]\n[ComfyUI] 40%|████ | 12/30 [04:59<06:54, 23.01s/it]\n[ComfyUI] 43%|████▎ | 13/30 [04:59<04:33, 16.09s/it]\n[ComfyUI] 47%|████▋ | 14/30 [05:37<06:02, 22.63s/it]\n[ComfyUI] 50%|█████ | 15/30 [05:37<03:57, 15.86s/it]\n[ComfyUI] 53%|█████▎ | 16/30 [06:15<05:13, 22.36s/it]\n[ComfyUI] 57%|█████▋ | 17/30 [06:15<03:23, 15.68s/it]\n[ComfyUI] 60%|██████ | 18/30 [06:52<04:26, 22.24s/it]\n[ComfyUI] 63%|██████▎ | 19/30 [06:53<02:51, 15.60s/it]\n[ComfyUI] 67%|██████▋ | 20/30 [07:31<03:45, 22.56s/it]\n[ComfyUI] 70%|███████ | 21/30 [07:32<02:23, 15.94s/it]\n[ComfyUI] 73%|███████▎ | 22/30 [08:09<02:59, 22.41s/it]\n[ComfyUI] 77%|███████▋ | 23/30 [08:09<01:50, 15.73s/it]\n[ComfyUI] 80%|████████ | 24/30 [08:47<02:13, 22.26s/it]\n[ComfyUI] 83%|████████▎ | 25/30 [08:47<01:18, 15.63s/it]\n[ComfyUI] 87%|████████▋ | 26/30 [09:26<01:30, 22.56s/it]\n[ComfyUI] 90%|█████████ | 27/30 [09:26<00:47, 15.91s/it]\n[ComfyUI] 93%|█████████▎| 28/30 [10:04<00:44, 22.40s/it]\n[ComfyUI] 97%|█████████▋| 29/30 [10:04<00:15, 15.72s/it]\n[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 22.27s/it]\nExecuting node 8, title: VAE Decode, class type: VAEDecode\nExecuting node 50, title: Video Combine 🎥🅥🅗🅢, class type: VHS_VideoCombine\n[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 21.40s/it]\n[ComfyUI] Prompt executed in 658.70 seconds\noutputs: {'50': {'gifs': [{'filename': 'R8_Wan_00001.mp4', 'subfolder': '', 'type': 'output', 'format': 'video/h264-mp4', 'frame_rate': 16.0, 'workflow': 'R8_Wan_00001.png', 'fullpath': '/tmp/outputs/R8_Wan_00001.mp4'}]}}\n====================================\nR8_Wan_00001.png\nR8_Wan_00001.mp4",
"metrics": {
"predict_time": 662.239612717,
"total_time": 895.208872
},
"output": [
"https://replicate.delivery/xezq/6WcdL4ttNTp5LVikLFkBgO7j4URkfZ4AgMhBiFkWdK6EwyYKA/R8_Wan_00001.mp4"
],
"started_at": "2025-05-29T18:12:03.182259Z",
"status": "succeeded",
"urls": {
"stream": "https://stream.replicate.com/v1/files/bcwr-ak7d6hzqsfitwf7g3q3ohtrjbxdo32bldk23bo5s5ffu5rsshfka",
"get": "https://api.replicate.com/v1/predictions/yvjb9bfbwnrma0cq3mxarcv7xr",
"cancel": "https://api.replicate.com/v1/predictions/yvjb9bfbwnrma0cq3mxarcv7xr/cancel"
},
"version": "f72ba92f2bd5924059ed3d85470461f8ee733cef7092540650dea8ef7407a740"
}
Random seed set to: 4210953954
2025-05-29T18:12:03Z | INFO | [ Initiating ] chunk_size=150M dest=/tmp/tmpge8xnzyg/weights url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar
2025-05-29T18:12:03Z | INFO | [ Cache Service ] enabled=true scheme=http target=hermes.services.svc.cluster.local
2025-05-29T18:12:06Z | INFO | [ Complete ] dest=/tmp/tmpge8xnzyg/weights size="307 MB" total_elapsed=3.326s url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar
Checking inputs
====================================
Checking weights
✅ wan_2.1_vae.safetensors exists in ComfyUI/models/vae
✅ wan2.1_t2v_14B_bf16.safetensors exists in ComfyUI/models/diffusion_models
✅ 14b_933cfa912fe6e85b8f11146de130994c.safetensors exists in loras directory
✅ umt5_xxl_fp16.safetensors exists in ComfyUI/models/text_encoders
====================================
Running workflow
[ComfyUI] got prompt
Executing node 40, title: EmptyHunyuanLatentVideo, class type: EmptyHunyuanLatentVideo
Executing node 49, title: Load LoRA, class type: LoraLoader
[ComfyUI] Requested to load WanTEModel
Executing node 6, title: CLIP Text Encode (Positive Prompt), class type: CLIPTextEncode
[ComfyUI] loaded completely 113273.66620521546 10835.4765625 True
Executing node 48, title: ModelSamplingSD3, class type: ModelSamplingSD3
Executing node 3, title: KSampler, class type: KSampler
[ComfyUI] Requested to load WAN21
[ComfyUI] loaded completely 115028.28298866272 27251.406372070312 True
[ComfyUI]
[ComfyUI] 0%| | 0/30 [00:00<?, ?it/s]
[ComfyUI] Resetting TeaCache state
[ComfyUI]
[ComfyUI] 3%|▎ | 1/30 [00:28<13:57, 28.89s/it]
[ComfyUI] 7%|▋ | 2/30 [01:05<15:40, 33.58s/it]
[ComfyUI] 10%|█ | 3/30 [01:42<15:47, 35.09s/it]
[ComfyUI] TeaCache: Initialized
[ComfyUI]
[ComfyUI] 13%|█▎ | 4/30 [02:28<17:04, 39.40s/it]
[ComfyUI] 17%|█▋ | 5/30 [02:28<10:31, 25.26s/it]
[ComfyUI] 20%|██ | 6/30 [03:06<11:46, 29.42s/it]
[ComfyUI] 23%|██▎ | 7/30 [03:06<07:36, 19.85s/it]
[ComfyUI] 27%|██▋ | 8/30 [03:44<09:20, 25.47s/it]
[ComfyUI] 30%|███ | 9/30 [03:44<06:08, 17.56s/it]
[ComfyUI] 33%|███▎ | 10/30 [04:21<07:54, 23.72s/it]
[ComfyUI] 37%|███▋ | 11/30 [04:21<05:13, 16.51s/it]
[ComfyUI] 40%|████ | 12/30 [04:59<06:54, 23.01s/it]
[ComfyUI] 43%|████▎ | 13/30 [04:59<04:33, 16.09s/it]
[ComfyUI] 47%|████▋ | 14/30 [05:37<06:02, 22.63s/it]
[ComfyUI] 50%|█████ | 15/30 [05:37<03:57, 15.86s/it]
[ComfyUI] 53%|█████▎ | 16/30 [06:15<05:13, 22.36s/it]
[ComfyUI] 57%|█████▋ | 17/30 [06:15<03:23, 15.68s/it]
[ComfyUI] 60%|██████ | 18/30 [06:52<04:26, 22.24s/it]
[ComfyUI] 63%|██████▎ | 19/30 [06:53<02:51, 15.60s/it]
[ComfyUI] 67%|██████▋ | 20/30 [07:31<03:45, 22.56s/it]
[ComfyUI] 70%|███████ | 21/30 [07:32<02:23, 15.94s/it]
[ComfyUI] 73%|███████▎ | 22/30 [08:09<02:59, 22.41s/it]
[ComfyUI] 77%|███████▋ | 23/30 [08:09<01:50, 15.73s/it]
[ComfyUI] 80%|████████ | 24/30 [08:47<02:13, 22.26s/it]
[ComfyUI] 83%|████████▎ | 25/30 [08:47<01:18, 15.63s/it]
[ComfyUI] 87%|████████▋ | 26/30 [09:26<01:30, 22.56s/it]
[ComfyUI] 90%|█████████ | 27/30 [09:26<00:47, 15.91s/it]
[ComfyUI] 93%|█████████▎| 28/30 [10:04<00:44, 22.40s/it]
[ComfyUI] 97%|█████████▋| 29/30 [10:04<00:15, 15.72s/it]
[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 22.27s/it]
Executing node 8, title: VAE Decode, class type: VAEDecode
Executing node 50, title: Video Combine 🎥🅥🅗🅢, class type: VHS_VideoCombine
[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 21.40s/it]
[ComfyUI] Prompt executed in 658.70 seconds
outputs: {'50': {'gifs': [{'filename': 'R8_Wan_00001.mp4', 'subfolder': '', 'type': 'output', 'format': 'video/h264-mp4', 'frame_rate': 16.0, 'workflow': 'R8_Wan_00001.png', 'fullpath': '/tmp/outputs/R8_Wan_00001.mp4'}]}}
====================================
R8_Wan_00001.png
R8_Wan_00001.mp4
This model runs on Nvidia H100 GPU hardware. We don't yet have enough runs of this model to provide performance information.
This model doesn't have a readme.
This model is cold. You'll get a fast response if the model is warm and already running, and a slower response if the model is cold and starting up.
This model runs on H100 hardware which costs $0.001525 per second. View more.
Choose a file from your machine
Hint: you can also drag files onto the input
Random seed set to: 4210953954
2025-05-29T18:12:03Z | INFO | [ Initiating ] chunk_size=150M dest=/tmp/tmpge8xnzyg/weights url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar
2025-05-29T18:12:03Z | INFO | [ Cache Service ] enabled=true scheme=http target=hermes.services.svc.cluster.local
2025-05-29T18:12:06Z | INFO | [ Complete ] dest=/tmp/tmpge8xnzyg/weights size="307 MB" total_elapsed=3.326s url=https://replicate.delivery/xezq/UAq7jOCkueVxHauHA4K0m4jCDxj5ylcGem5MANylM1QQjkxUA/trained_model.tar
Checking inputs
====================================
Checking weights
✅ wan_2.1_vae.safetensors exists in ComfyUI/models/vae
✅ wan2.1_t2v_14B_bf16.safetensors exists in ComfyUI/models/diffusion_models
✅ 14b_933cfa912fe6e85b8f11146de130994c.safetensors exists in loras directory
✅ umt5_xxl_fp16.safetensors exists in ComfyUI/models/text_encoders
====================================
Running workflow
[ComfyUI] got prompt
Executing node 40, title: EmptyHunyuanLatentVideo, class type: EmptyHunyuanLatentVideo
Executing node 49, title: Load LoRA, class type: LoraLoader
[ComfyUI] Requested to load WanTEModel
Executing node 6, title: CLIP Text Encode (Positive Prompt), class type: CLIPTextEncode
[ComfyUI] loaded completely 113273.66620521546 10835.4765625 True
Executing node 48, title: ModelSamplingSD3, class type: ModelSamplingSD3
Executing node 3, title: KSampler, class type: KSampler
[ComfyUI] Requested to load WAN21
[ComfyUI] loaded completely 115028.28298866272 27251.406372070312 True
[ComfyUI]
[ComfyUI] 0%| | 0/30 [00:00<?, ?it/s]
[ComfyUI] Resetting TeaCache state
[ComfyUI]
[ComfyUI] 3%|▎ | 1/30 [00:28<13:57, 28.89s/it]
[ComfyUI] 7%|▋ | 2/30 [01:05<15:40, 33.58s/it]
[ComfyUI] 10%|█ | 3/30 [01:42<15:47, 35.09s/it]
[ComfyUI] TeaCache: Initialized
[ComfyUI]
[ComfyUI] 13%|█▎ | 4/30 [02:28<17:04, 39.40s/it]
[ComfyUI] 17%|█▋ | 5/30 [02:28<10:31, 25.26s/it]
[ComfyUI] 20%|██ | 6/30 [03:06<11:46, 29.42s/it]
[ComfyUI] 23%|██▎ | 7/30 [03:06<07:36, 19.85s/it]
[ComfyUI] 27%|██▋ | 8/30 [03:44<09:20, 25.47s/it]
[ComfyUI] 30%|███ | 9/30 [03:44<06:08, 17.56s/it]
[ComfyUI] 33%|███▎ | 10/30 [04:21<07:54, 23.72s/it]
[ComfyUI] 37%|███▋ | 11/30 [04:21<05:13, 16.51s/it]
[ComfyUI] 40%|████ | 12/30 [04:59<06:54, 23.01s/it]
[ComfyUI] 43%|████▎ | 13/30 [04:59<04:33, 16.09s/it]
[ComfyUI] 47%|████▋ | 14/30 [05:37<06:02, 22.63s/it]
[ComfyUI] 50%|█████ | 15/30 [05:37<03:57, 15.86s/it]
[ComfyUI] 53%|█████▎ | 16/30 [06:15<05:13, 22.36s/it]
[ComfyUI] 57%|█████▋ | 17/30 [06:15<03:23, 15.68s/it]
[ComfyUI] 60%|██████ | 18/30 [06:52<04:26, 22.24s/it]
[ComfyUI] 63%|██████▎ | 19/30 [06:53<02:51, 15.60s/it]
[ComfyUI] 67%|██████▋ | 20/30 [07:31<03:45, 22.56s/it]
[ComfyUI] 70%|███████ | 21/30 [07:32<02:23, 15.94s/it]
[ComfyUI] 73%|███████▎ | 22/30 [08:09<02:59, 22.41s/it]
[ComfyUI] 77%|███████▋ | 23/30 [08:09<01:50, 15.73s/it]
[ComfyUI] 80%|████████ | 24/30 [08:47<02:13, 22.26s/it]
[ComfyUI] 83%|████████▎ | 25/30 [08:47<01:18, 15.63s/it]
[ComfyUI] 87%|████████▋ | 26/30 [09:26<01:30, 22.56s/it]
[ComfyUI] 90%|█████████ | 27/30 [09:26<00:47, 15.91s/it]
[ComfyUI] 93%|█████████▎| 28/30 [10:04<00:44, 22.40s/it]
[ComfyUI] 97%|█████████▋| 29/30 [10:04<00:15, 15.72s/it]
[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 22.27s/it]
Executing node 8, title: VAE Decode, class type: VAEDecode
Executing node 50, title: Video Combine 🎥🅥🅗🅢, class type: VHS_VideoCombine
[ComfyUI] 100%|██████████| 30/30 [10:41<00:00, 21.40s/it]
[ComfyUI] Prompt executed in 658.70 seconds
outputs: {'50': {'gifs': [{'filename': 'R8_Wan_00001.mp4', 'subfolder': '', 'type': 'output', 'format': 'video/h264-mp4', 'frame_rate': 16.0, 'workflow': 'R8_Wan_00001.png', 'fullpath': '/tmp/outputs/R8_Wan_00001.mp4'}]}}
====================================
R8_Wan_00001.png
R8_Wan_00001.mp4