cjwbw/cutie

Video Object Segmentation, combined with SAM and ProPainter

Clip-Guided Diffusion Model for Image Generation

Generates pokemon sprites from prompt

Real-ESRGAN super-resolution model from ruDALL-E

face alignment using stylegan-encoding

Image Manipulatinon with Diffusion Autoencoders

Blind Face Restoration with Vector-Quantized Dictionary and Parallel Decoder
Global Tracking Transformers

Colorization using a Generative Color Prior for Natural Images

Language-Free Training of a Text-to-Image Generator with CLIP

Composable Diffusion

Decoding Micromotion in Low-dimensional Latent Spaces from StyleGAN

VQ-Diffusion for Text-to-Image Synthesis

text-to-image generation

Panoptic Scene Graph Generation

text-to-image with latent diffusion

Unsupervised Night Image Enhancement

Inpainting using Denoising Diffusion Probabilistic Models

stable-diffusion with negative prompts, more scheduler

Pose-Invariant Hairstyle Transfer

End-to-End Document Image Enhancement Transformer
Prediction
cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503ModelID5hddx5dbfuyeysjoxurxxklyeqStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- mask
- null
- video
- max_frames
- 300
- mask_with_SAM
- 550 | 270
- show_overlay_video
- inpaint_with_propainter
{ "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": true }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", { input: { video: "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", max_frames: 300, mask_with_SAM: "550 | 270", show_overlay_video: false, inpaint_with_propainter: true } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", input={ "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": False, "inpaint_with_propainter": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run cjwbw/cutie 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": "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", "input": { "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": true } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-10-30T12:29:32.936531Z", "created_at": "2023-10-30T12:26:31.831001Z", "data_removed": false, "error": null, "id": "5hddx5dbfuyeysjoxurxxklyeq", "input": { "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": true }, "logs": "Will use SAM to segment object at [550.0, 270.0].\nMasks detected: [False True]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x70b7c00] Warning: data is not aligned! This can lead to a speed loss\nPretrained flow completion model has loaded...\nPretrained ProPainter has loaded...\nNetwork [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network).\nProcessing: frames_dir [300 frames]...\n 0%| | 0/60 [00:00<?, ?it/s]\n 2%|▏ | 1/60 [00:00<00:46, 1.26it/s]\n 3%|▎ | 2/60 [00:01<00:50, 1.14it/s]\n 5%|▌ | 3/60 [00:02<00:52, 1.08it/s]\n 7%|▋ | 4/60 [00:03<00:52, 1.07it/s]\n 8%|▊ | 5/60 [00:04<00:53, 1.04it/s]\n 10%|█ | 6/60 [00:05<00:52, 1.02it/s]\n 12%|█▏ | 7/60 [00:06<00:52, 1.00it/s]\n 13%|█▎ | 8/60 [00:07<00:52, 1.01s/it]\n 15%|█▌ | 9/60 [00:08<00:52, 1.03s/it]\n 17%|█▋ | 10/60 [00:09<00:52, 1.05s/it]\n 18%|█▊ | 11/60 [00:11<00:51, 1.06s/it]\n 20%|██ | 12/60 [00:12<00:51, 1.06s/it]\n 22%|██▏ | 13/60 [00:13<00:50, 1.07s/it]\n 23%|██▎ | 14/60 [00:14<00:49, 1.08s/it]\n 25%|██▌ | 15/60 [00:15<00:48, 1.09s/it]\n 27%|██▋ | 16/60 [00:16<00:48, 1.09s/it]\n 28%|██▊ | 17/60 [00:17<00:47, 1.10s/it]\n 30%|███ | 18/60 [00:18<00:46, 1.10s/it]\n 32%|███▏ | 19/60 [00:19<00:45, 1.10s/it]\n 33%|███▎ | 20/60 [00:20<00:44, 1.11s/it]\n 35%|███▌ | 21/60 [00:22<00:43, 1.11s/it]\n 37%|███▋ | 22/60 [00:23<00:42, 1.11s/it]\n 38%|███▊ | 23/60 [00:24<00:41, 1.11s/it]\n 40%|████ | 24/60 [00:25<00:40, 1.12s/it]\n 42%|████▏ | 25/60 [00:26<00:39, 1.12s/it]\n 43%|████▎ | 26/60 [00:27<00:38, 1.12s/it]\n 45%|████▌ | 27/60 [00:28<00:36, 1.12s/it]\n 47%|████▋ | 28/60 [00:29<00:35, 1.12s/it]\n 48%|████▊ | 29/60 [00:30<00:34, 1.12s/it]\n 50%|█████ | 30/60 [00:32<00:33, 1.12s/it]\n 52%|█████▏ | 31/60 [00:33<00:32, 1.12s/it]\n 53%|█████▎ | 32/60 [00:34<00:31, 1.12s/it]\n 55%|█████▌ | 33/60 [00:35<00:30, 1.11s/it]\n 57%|█████▋ | 34/60 [00:36<00:28, 1.11s/it]\n 58%|█████▊ | 35/60 [00:37<00:27, 1.11s/it]\n 60%|██████ | 36/60 [00:38<00:26, 1.11s/it]\n 62%|██████▏ | 37/60 [00:39<00:25, 1.11s/it]\n 63%|██████▎ | 38/60 [00:40<00:24, 1.10s/it]\n 65%|██████▌ | 39/60 [00:42<00:23, 1.10s/it]\n 67%|██████▋ | 40/60 [00:43<00:22, 1.10s/it]\n 68%|██████▊ | 41/60 [00:44<00:21, 1.11s/it]\n 70%|███████ | 42/60 [00:45<00:19, 1.11s/it]\n 72%|███████▏ | 43/60 [00:46<00:18, 1.11s/it]\n 73%|███████▎ | 44/60 [00:47<00:17, 1.10s/it]\n 75%|███████▌ | 45/60 [00:48<00:16, 1.10s/it]\n 77%|███████▋ | 46/60 [00:49<00:15, 1.10s/it]\n 78%|███████▊ | 47/60 [00:50<00:14, 1.10s/it]\n 80%|████████ | 48/60 [00:51<00:13, 1.09s/it]\n 82%|████████▏ | 49/60 [00:53<00:11, 1.09s/it]\n 83%|████████▎ | 50/60 [00:54<00:10, 1.09s/it]\n 85%|████████▌ | 51/60 [00:55<00:09, 1.09s/it]\n 87%|████████▋ | 52/60 [00:56<00:08, 1.09s/it]\n 88%|████████▊ | 53/60 [00:57<00:07, 1.09s/it]\n 90%|█████████ | 54/60 [00:58<00:06, 1.10s/it]\n 92%|█████████▏| 55/60 [00:59<00:05, 1.08s/it]\n 93%|█████████▎| 56/60 [01:00<00:04, 1.07s/it]\n 95%|█████████▌| 57/60 [01:01<00:03, 1.05s/it]\n 97%|█████████▋| 58/60 [01:02<00:02, 1.04s/it]\n 98%|█████████▊| 59/60 [01:03<00:01, 1.03s/it]\n100%|██████████| 60/60 [01:04<00:00, 1.00it/s]\n100%|██████████| 60/60 [01:04<00:00, 1.08s/it]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x65a2f40] Warning: data is not aligned! This can lead to a speed loss\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x6a65f40] Warning: data is not aligned! This can lead to a speed loss\nAll results are saved in inpaint_out_dir/frames_dir\nInpainting finished!", "metrics": { "predict_time": 179.853411, "total_time": 181.10553 }, "output": { "masked_out": "https://pbxt.replicate.delivery/ARMnGgsTOV6dFtm1GxCXsRyiLvUFwQK5EOxTpieneWQqOVzRA/masked_out.mp4", "inpaint_out": "https://pbxt.replicate.delivery/4beScr5TUczdM6651LB4vat3AnkxwMGMX8oncbdyWxfrOVzRA/inpaint_out.mp4", "overlay_out": null, "first_mask_with_SAM": "https://pbxt.replicate.delivery/mS8bqRWZPHLUFNXR37cDedB3OR0IqlqbHGaE8Ev8llZWnq5IA/sam_mask.png" }, "started_at": "2023-10-30T12:26:33.083120Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/5hddx5dbfuyeysjoxurxxklyeq", "cancel": "https://api.replicate.com/v1/predictions/5hddx5dbfuyeysjoxurxxklyeq/cancel" }, "version": "5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503" }
Generated inWill use SAM to segment object at [550.0, 270.0]. Masks detected: [False True] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x70b7c00] Warning: data is not aligned! This can lead to a speed loss Pretrained flow completion model has loaded... Pretrained ProPainter has loaded... Network [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network). Processing: frames_dir [300 frames]... 0%| | 0/60 [00:00<?, ?it/s] 2%|▏ | 1/60 [00:00<00:46, 1.26it/s] 3%|▎ | 2/60 [00:01<00:50, 1.14it/s] 5%|▌ | 3/60 [00:02<00:52, 1.08it/s] 7%|▋ | 4/60 [00:03<00:52, 1.07it/s] 8%|▊ | 5/60 [00:04<00:53, 1.04it/s] 10%|█ | 6/60 [00:05<00:52, 1.02it/s] 12%|█▏ | 7/60 [00:06<00:52, 1.00it/s] 13%|█▎ | 8/60 [00:07<00:52, 1.01s/it] 15%|█▌ | 9/60 [00:08<00:52, 1.03s/it] 17%|█▋ | 10/60 [00:09<00:52, 1.05s/it] 18%|█▊ | 11/60 [00:11<00:51, 1.06s/it] 20%|██ | 12/60 [00:12<00:51, 1.06s/it] 22%|██▏ | 13/60 [00:13<00:50, 1.07s/it] 23%|██▎ | 14/60 [00:14<00:49, 1.08s/it] 25%|██▌ | 15/60 [00:15<00:48, 1.09s/it] 27%|██▋ | 16/60 [00:16<00:48, 1.09s/it] 28%|██▊ | 17/60 [00:17<00:47, 1.10s/it] 30%|███ | 18/60 [00:18<00:46, 1.10s/it] 32%|███▏ | 19/60 [00:19<00:45, 1.10s/it] 33%|███▎ | 20/60 [00:20<00:44, 1.11s/it] 35%|███▌ | 21/60 [00:22<00:43, 1.11s/it] 37%|███▋ | 22/60 [00:23<00:42, 1.11s/it] 38%|███▊ | 23/60 [00:24<00:41, 1.11s/it] 40%|████ | 24/60 [00:25<00:40, 1.12s/it] 42%|████▏ | 25/60 [00:26<00:39, 1.12s/it] 43%|████▎ | 26/60 [00:27<00:38, 1.12s/it] 45%|████▌ | 27/60 [00:28<00:36, 1.12s/it] 47%|████▋ | 28/60 [00:29<00:35, 1.12s/it] 48%|████▊ | 29/60 [00:30<00:34, 1.12s/it] 50%|█████ | 30/60 [00:32<00:33, 1.12s/it] 52%|█████▏ | 31/60 [00:33<00:32, 1.12s/it] 53%|█████▎ | 32/60 [00:34<00:31, 1.12s/it] 55%|█████▌ | 33/60 [00:35<00:30, 1.11s/it] 57%|█████▋ | 34/60 [00:36<00:28, 1.11s/it] 58%|█████▊ | 35/60 [00:37<00:27, 1.11s/it] 60%|██████ | 36/60 [00:38<00:26, 1.11s/it] 62%|██████▏ | 37/60 [00:39<00:25, 1.11s/it] 63%|██████▎ | 38/60 [00:40<00:24, 1.10s/it] 65%|██████▌ | 39/60 [00:42<00:23, 1.10s/it] 67%|██████▋ | 40/60 [00:43<00:22, 1.10s/it] 68%|██████▊ | 41/60 [00:44<00:21, 1.11s/it] 70%|███████ | 42/60 [00:45<00:19, 1.11s/it] 72%|███████▏ | 43/60 [00:46<00:18, 1.11s/it] 73%|███████▎ | 44/60 [00:47<00:17, 1.10s/it] 75%|███████▌ | 45/60 [00:48<00:16, 1.10s/it] 77%|███████▋ | 46/60 [00:49<00:15, 1.10s/it] 78%|███████▊ | 47/60 [00:50<00:14, 1.10s/it] 80%|████████ | 48/60 [00:51<00:13, 1.09s/it] 82%|████████▏ | 49/60 [00:53<00:11, 1.09s/it] 83%|████████▎ | 50/60 [00:54<00:10, 1.09s/it] 85%|████████▌ | 51/60 [00:55<00:09, 1.09s/it] 87%|████████▋ | 52/60 [00:56<00:08, 1.09s/it] 88%|████████▊ | 53/60 [00:57<00:07, 1.09s/it] 90%|█████████ | 54/60 [00:58<00:06, 1.10s/it] 92%|█████████▏| 55/60 [00:59<00:05, 1.08s/it] 93%|█████████▎| 56/60 [01:00<00:04, 1.07s/it] 95%|█████████▌| 57/60 [01:01<00:03, 1.05s/it] 97%|█████████▋| 58/60 [01:02<00:02, 1.04s/it] 98%|█████████▊| 59/60 [01:03<00:01, 1.03s/it] 100%|██████████| 60/60 [01:04<00:00, 1.00it/s] 100%|██████████| 60/60 [01:04<00:00, 1.08s/it] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x65a2f40] Warning: data is not aligned! This can lead to a speed loss IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x6a65f40] Warning: data is not aligned! This can lead to a speed loss All results are saved in inpaint_out_dir/frames_dir Inpainting finished!
Prediction
cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503ModelIDlvrbbotbgosnrxgojtfewj26amStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- mask
- null
- video
- max_frames
- 300
- mask_with_SAM
- 550 | 270
- show_overlay_video
- inpaint_with_propainter
{ "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": true, "inpaint_with_propainter": true }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", { input: { video: "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", max_frames: 300, mask_with_SAM: "550 | 270", show_overlay_video: true, inpaint_with_propainter: true } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", input={ "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": True, "inpaint_with_propainter": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run cjwbw/cutie 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": "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", "input": { "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": true, "inpaint_with_propainter": true } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-10-30T12:34:08.139275Z", "created_at": "2023-10-30T12:30:17.080755Z", "data_removed": false, "error": null, "id": "lvrbbotbgosnrxgojtfewj26am", "input": { "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": true, "inpaint_with_propainter": true }, "logs": "Will use SAM to segment object at [550.0, 270.0].\nMasks detected: [False True]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x626ec00] Warning: data is not aligned! This can lead to a speed loss\nPretrained flow completion model has loaded...\nPretrained ProPainter has loaded...\nNetwork [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network).\nProcessing: frames_dir [300 frames]...\n 0%| | 0/60 [00:00<?, ?it/s]\n 2%|▏ | 1/60 [00:00<00:49, 1.19it/s]\n 3%|▎ | 2/60 [00:01<00:56, 1.03it/s]\n 5%|▌ | 3/60 [00:02<00:57, 1.01s/it]\n 7%|▋ | 4/60 [00:04<00:58, 1.04s/it]\n 8%|▊ | 5/60 [00:05<00:58, 1.06s/it]\n 10%|█ | 6/60 [00:06<00:57, 1.07s/it]\n 12%|█▏ | 7/60 [00:07<00:58, 1.10s/it]\n 13%|█▎ | 8/60 [00:08<00:58, 1.12s/it]\n 15%|█▌ | 9/60 [00:09<00:59, 1.17s/it]\n 17%|█▋ | 10/60 [00:11<00:59, 1.20s/it]\n 18%|█▊ | 11/60 [00:12<00:57, 1.18s/it]\n 20%|██ | 12/60 [00:13<00:56, 1.17s/it]\n 22%|██▏ | 13/60 [00:14<00:54, 1.16s/it]\n 23%|██▎ | 14/60 [00:15<00:53, 1.17s/it]\n 25%|██▌ | 15/60 [00:16<00:52, 1.16s/it]\n 27%|██▋ | 16/60 [00:17<00:50, 1.16s/it]\n 28%|██▊ | 17/60 [00:19<00:49, 1.16s/it]\n 30%|███ | 18/60 [00:20<00:48, 1.16s/it]\n 32%|███▏ | 19/60 [00:21<00:47, 1.16s/it]\n 33%|███▎ | 20/60 [00:22<00:46, 1.16s/it]\n 35%|███▌ | 21/60 [00:23<00:45, 1.16s/it]\n 37%|███▋ | 22/60 [00:24<00:44, 1.17s/it]\n 38%|███▊ | 23/60 [00:26<00:42, 1.16s/it]\n 40%|████ | 24/60 [00:27<00:42, 1.17s/it]\n 42%|████▏ | 25/60 [00:28<00:41, 1.18s/it]\n 43%|████▎ | 26/60 [00:29<00:39, 1.17s/it]\n 45%|████▌ | 27/60 [00:30<00:38, 1.17s/it]\n 47%|████▋ | 28/60 [00:32<00:37, 1.18s/it]\n 48%|████▊ | 29/60 [00:33<00:36, 1.17s/it]\n 50%|█████ | 30/60 [00:34<00:35, 1.17s/it]\n 52%|█████▏ | 31/60 [00:35<00:33, 1.17s/it]\n 53%|█████▎ | 32/60 [00:36<00:33, 1.20s/it]\n 55%|█████▌ | 33/60 [00:37<00:32, 1.20s/it]\n 57%|█████▋ | 34/60 [00:39<00:30, 1.19s/it]\n 58%|█████▊ | 35/60 [00:40<00:29, 1.20s/it]\n 60%|██████ | 36/60 [00:41<00:28, 1.21s/it]\n 62%|██████▏ | 37/60 [00:42<00:27, 1.21s/it]\n 63%|██████▎ | 38/60 [00:44<00:27, 1.25s/it]\n 65%|██████▌ | 39/60 [00:45<00:25, 1.23s/it]\n 67%|██████▋ | 40/60 [00:46<00:24, 1.23s/it]\n 68%|██████▊ | 41/60 [00:47<00:22, 1.21s/it]\n 70%|███████ | 42/60 [00:48<00:22, 1.22s/it]\n 72%|███████▏ | 43/60 [00:50<00:20, 1.20s/it]\n 73%|███████▎ | 44/60 [00:51<00:18, 1.19s/it]\n 75%|███████▌ | 45/60 [00:52<00:17, 1.18s/it]\n 77%|███████▋ | 46/60 [00:53<00:16, 1.17s/it]\n 78%|███████▊ | 47/60 [00:54<00:15, 1.17s/it]\n 80%|████████ | 48/60 [00:55<00:14, 1.17s/it]\n 82%|████████▏ | 49/60 [00:57<00:12, 1.16s/it]\n 83%|████████▎ | 50/60 [00:58<00:11, 1.15s/it]\n 85%|████████▌ | 51/60 [00:59<00:10, 1.16s/it]\n 87%|████████▋ | 52/60 [01:00<00:09, 1.19s/it]\n 88%|████████▊ | 53/60 [01:01<00:08, 1.20s/it]\n 90%|█████████ | 54/60 [01:03<00:07, 1.21s/it]\n 92%|█████████▏| 55/60 [01:04<00:05, 1.19s/it]\n 93%|█████████▎| 56/60 [01:05<00:04, 1.18s/it]\n 95%|█████████▌| 57/60 [01:06<00:03, 1.15s/it]\n 97%|█████████▋| 58/60 [01:07<00:02, 1.13s/it]\n 98%|█████████▊| 59/60 [01:08<00:01, 1.09s/it]\n100%|██████████| 60/60 [01:09<00:00, 1.07s/it]\n100%|██████████| 60/60 [01:09<00:00, 1.16s/it]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x6849f40] Warning: data is not aligned! This can lead to a speed loss\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x7162f40] Warning: data is not aligned! This can lead to a speed loss\nAll results are saved in inpaint_out_dir/frames_dir\nInpainting finished!", "metrics": { "predict_time": 231.099951, "total_time": 231.05852 }, "output": { "masked_out": "https://pbxt.replicate.delivery/vOQx03s6v1I9NJ0EXwptBHM6NBesca7DxbBmz0FINRoeSVzRA/masked_out.mp4", "inpaint_out": "https://pbxt.replicate.delivery/OHchB53q2I59EZUc7vsr6pwfYM6txKB2VUKZNGnZuKTfSVzRA/inpaint_out.mp4", "overlay_out": "https://pbxt.replicate.delivery/skIdvJzMDEbDKljb0EZAJJXitfjGrHGC6jkCdLpdcSrfSVzRA/overlay_out.mp4", "first_mask_with_SAM": "https://pbxt.replicate.delivery/9RkhwwZ1kkq8IxBCpZYC6ifR08co3F6oHkXNL3BorYeflqmjA/sam_mask.png" }, "started_at": "2023-10-30T12:30:17.039324Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/lvrbbotbgosnrxgojtfewj26am", "cancel": "https://api.replicate.com/v1/predictions/lvrbbotbgosnrxgojtfewj26am/cancel" }, "version": "5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503" }
Generated inWill use SAM to segment object at [550.0, 270.0]. Masks detected: [False True] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x626ec00] Warning: data is not aligned! This can lead to a speed loss Pretrained flow completion model has loaded... Pretrained ProPainter has loaded... Network [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network). Processing: frames_dir [300 frames]... 0%| | 0/60 [00:00<?, ?it/s] 2%|▏ | 1/60 [00:00<00:49, 1.19it/s] 3%|▎ | 2/60 [00:01<00:56, 1.03it/s] 5%|▌ | 3/60 [00:02<00:57, 1.01s/it] 7%|▋ | 4/60 [00:04<00:58, 1.04s/it] 8%|▊ | 5/60 [00:05<00:58, 1.06s/it] 10%|█ | 6/60 [00:06<00:57, 1.07s/it] 12%|█▏ | 7/60 [00:07<00:58, 1.10s/it] 13%|█▎ | 8/60 [00:08<00:58, 1.12s/it] 15%|█▌ | 9/60 [00:09<00:59, 1.17s/it] 17%|█▋ | 10/60 [00:11<00:59, 1.20s/it] 18%|█▊ | 11/60 [00:12<00:57, 1.18s/it] 20%|██ | 12/60 [00:13<00:56, 1.17s/it] 22%|██▏ | 13/60 [00:14<00:54, 1.16s/it] 23%|██▎ | 14/60 [00:15<00:53, 1.17s/it] 25%|██▌ | 15/60 [00:16<00:52, 1.16s/it] 27%|██▋ | 16/60 [00:17<00:50, 1.16s/it] 28%|██▊ | 17/60 [00:19<00:49, 1.16s/it] 30%|███ | 18/60 [00:20<00:48, 1.16s/it] 32%|███▏ | 19/60 [00:21<00:47, 1.16s/it] 33%|███▎ | 20/60 [00:22<00:46, 1.16s/it] 35%|███▌ | 21/60 [00:23<00:45, 1.16s/it] 37%|███▋ | 22/60 [00:24<00:44, 1.17s/it] 38%|███▊ | 23/60 [00:26<00:42, 1.16s/it] 40%|████ | 24/60 [00:27<00:42, 1.17s/it] 42%|████▏ | 25/60 [00:28<00:41, 1.18s/it] 43%|████▎ | 26/60 [00:29<00:39, 1.17s/it] 45%|████▌ | 27/60 [00:30<00:38, 1.17s/it] 47%|████▋ | 28/60 [00:32<00:37, 1.18s/it] 48%|████▊ | 29/60 [00:33<00:36, 1.17s/it] 50%|█████ | 30/60 [00:34<00:35, 1.17s/it] 52%|█████▏ | 31/60 [00:35<00:33, 1.17s/it] 53%|█████▎ | 32/60 [00:36<00:33, 1.20s/it] 55%|█████▌ | 33/60 [00:37<00:32, 1.20s/it] 57%|█████▋ | 34/60 [00:39<00:30, 1.19s/it] 58%|█████▊ | 35/60 [00:40<00:29, 1.20s/it] 60%|██████ | 36/60 [00:41<00:28, 1.21s/it] 62%|██████▏ | 37/60 [00:42<00:27, 1.21s/it] 63%|██████▎ | 38/60 [00:44<00:27, 1.25s/it] 65%|██████▌ | 39/60 [00:45<00:25, 1.23s/it] 67%|██████▋ | 40/60 [00:46<00:24, 1.23s/it] 68%|██████▊ | 41/60 [00:47<00:22, 1.21s/it] 70%|███████ | 42/60 [00:48<00:22, 1.22s/it] 72%|███████▏ | 43/60 [00:50<00:20, 1.20s/it] 73%|███████▎ | 44/60 [00:51<00:18, 1.19s/it] 75%|███████▌ | 45/60 [00:52<00:17, 1.18s/it] 77%|███████▋ | 46/60 [00:53<00:16, 1.17s/it] 78%|███████▊ | 47/60 [00:54<00:15, 1.17s/it] 80%|████████ | 48/60 [00:55<00:14, 1.17s/it] 82%|████████▏ | 49/60 [00:57<00:12, 1.16s/it] 83%|████████▎ | 50/60 [00:58<00:11, 1.15s/it] 85%|████████▌ | 51/60 [00:59<00:10, 1.16s/it] 87%|████████▋ | 52/60 [01:00<00:09, 1.19s/it] 88%|████████▊ | 53/60 [01:01<00:08, 1.20s/it] 90%|█████████ | 54/60 [01:03<00:07, 1.21s/it] 92%|█████████▏| 55/60 [01:04<00:05, 1.19s/it] 93%|█████████▎| 56/60 [01:05<00:04, 1.18s/it] 95%|█████████▌| 57/60 [01:06<00:03, 1.15s/it] 97%|█████████▋| 58/60 [01:07<00:02, 1.13s/it] 98%|█████████▊| 59/60 [01:08<00:01, 1.09s/it] 100%|██████████| 60/60 [01:09<00:00, 1.07s/it] 100%|██████████| 60/60 [01:09<00:00, 1.16s/it] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x6849f40] Warning: data is not aligned! This can lead to a speed loss IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x7162f40] Warning: data is not aligned! This can lead to a speed loss All results are saved in inpaint_out_dir/frames_dir Inpainting finished!
Prediction
cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503ModelIDdrjaodlbbjywxfplzxsxy3l6imStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
{ "mask": "https://replicate.delivery/pbxt/Jn1GM3DVW5HrYV0JEom9edM5lzpdY7rabgoN8l2NYkgjwxN4/first_frame.png", "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "", "show_overlay_video": false, "inpaint_with_propainter": false }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", { input: { mask: "https://replicate.delivery/pbxt/Jn1GM3DVW5HrYV0JEom9edM5lzpdY7rabgoN8l2NYkgjwxN4/first_frame.png", video: "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", max_frames: 300, mask_with_SAM: "", show_overlay_video: false, inpaint_with_propainter: false } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", input={ "mask": "https://replicate.delivery/pbxt/Jn1GM3DVW5HrYV0JEom9edM5lzpdY7rabgoN8l2NYkgjwxN4/first_frame.png", "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "", "show_overlay_video": False, "inpaint_with_propainter": False } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run cjwbw/cutie 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": "cjwbw/cutie:5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503", "input": { "mask": "https://replicate.delivery/pbxt/Jn1GM3DVW5HrYV0JEom9edM5lzpdY7rabgoN8l2NYkgjwxN4/first_frame.png", "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "", "show_overlay_video": false, "inpaint_with_propainter": false } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-10-30T12:36:01.098224Z", "created_at": "2023-10-30T12:35:14.781439Z", "data_removed": false, "error": null, "id": "drjaodlbbjywxfplzxsxy3l6im", "input": { "mask": "https://replicate.delivery/pbxt/Jn1GM3DVW5HrYV0JEom9edM5lzpdY7rabgoN8l2NYkgjwxN4/first_frame.png", "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "", "show_overlay_video": false, "inpaint_with_propainter": false }, "logs": "Masks detected: [0 1 2 3 4]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x69b1c00] Warning: data is not aligned! This can lead to a speed loss", "metrics": { "predict_time": 46.337519, "total_time": 46.316785 }, "output": { "masked_out": "https://pbxt.replicate.delivery/2bNvXfegxnpSX0Lsfp9B2gL53ofSaleoV3nAeGoxY3qKMV1cE/masked_out.mp4", "overlay_out": null, "first_mask_with_SAM": null }, "started_at": "2023-10-30T12:35:14.760705Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/drjaodlbbjywxfplzxsxy3l6im", "cancel": "https://api.replicate.com/v1/predictions/drjaodlbbjywxfplzxsxy3l6im/cancel" }, "version": "5b97a2461e4fc13551ba87c366440d08f4f6b1fccfc614a65e309ed9f0cba503" }
Generated inMasks detected: [0 1 2 3 4] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x69b1c00] Warning: data is not aligned! This can lead to a speed loss
Prediction
cjwbw/cutie:ba51ad04d70f6ff6d22e852240fa5f75db60f7addd8370945b36ad95f01fc955ModelIDriecwjtbbsjsals5v3thcf44t4StatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- mask
- null
- video
- max_frames
- 300
- mask_with_SAM
- 550 | 270
- show_overlay_video
- inpaint_with_propainter
{ "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": false }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "cjwbw/cutie:ba51ad04d70f6ff6d22e852240fa5f75db60f7addd8370945b36ad95f01fc955", { input: { video: "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", max_frames: 300, mask_with_SAM: "550 | 270", show_overlay_video: false, inpaint_with_propainter: false } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "cjwbw/cutie:ba51ad04d70f6ff6d22e852240fa5f75db60f7addd8370945b36ad95f01fc955", input={ "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": False, "inpaint_with_propainter": False } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run cjwbw/cutie 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": "cjwbw/cutie:ba51ad04d70f6ff6d22e852240fa5f75db60f7addd8370945b36ad95f01fc955", "input": { "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": false } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-10-30T13:35:37.598833Z", "created_at": "2023-10-30T13:34:09.707059Z", "data_removed": false, "error": null, "id": "riecwjtbbsjsals5v3thcf44t4", "input": { "mask": null, "video": "https://replicate.delivery/pbxt/JkyEeO01eGR6lq7Rt15UQXHUbTLjqki5bWrPkEuRFw22mxH1/video.mp4", "max_frames": 300, "mask_with_SAM": "550 | 270", "show_overlay_video": false, "inpaint_with_propainter": false }, "logs": "Will use SAM to segment object at [550.0, 270.0].\nMasks detected: [False True]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n[swscaler @ 0x6bf8c00] Warning: data is not aligned! This can lead to a speed loss", "metrics": { "predict_time": 47.661127, "total_time": 87.891774 }, "output": { "masked_out": "https://replicate.delivery/pbxt/wQSJMCegzPUkaar0pd5rteOQOom7OUvwge8qnf4pNVeFlxaOC/masked_out.mp4", "overlay_out": null, "first_mask_with_SAM": "https://replicate.delivery/pbxt/6Z93s4wHSBYAJZX6ufVF5aJOAmwms2wihuaqxffSwvlTZsmjA/sam_mask.png" }, "started_at": "2023-10-30T13:34:49.937706Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/riecwjtbbsjsals5v3thcf44t4", "cancel": "https://api.replicate.com/v1/predictions/riecwjtbbsjsals5v3thcf44t4/cancel" }, "version": "ba51ad04d70f6ff6d22e852240fa5f75db60f7addd8370945b36ad95f01fc955" }
Generated inWill use SAM to segment object at [550.0, 270.0]. Masks detected: [False True] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (854, 480) to (864, 480) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). [swscaler @ 0x6bf8c00] Warning: data is not aligned! This can lead to a speed loss
Prediction
cjwbw/cutie:65ad7f1b2f6c71ea8cabf8b67ef249799dde651828af197a52cf15c10c4b560bModelIDx6fbsslbuubldeme3w56viovuqStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedby @chenxwhInput
{ "mask": "https://replicate.delivery/pbxt/Jn4aBHKExJxdkM2ofC6cOpJGC1O416ATcYYt1lqjiZEYRndz/mask_0-1.png", "video": "https://replicate.delivery/pbxt/Jn4aBLGDtkc9qPtFrN25CaJIrgJunHRPsWkjFdqyvEKwYtpz/ha.mp4", "max_frames": 300, "mask_with_SAM": null, "show_overlay_video": false, "inpaint_with_propainter": true }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "cjwbw/cutie:65ad7f1b2f6c71ea8cabf8b67ef249799dde651828af197a52cf15c10c4b560b", { input: { mask: "https://replicate.delivery/pbxt/Jn4aBHKExJxdkM2ofC6cOpJGC1O416ATcYYt1lqjiZEYRndz/mask_0-1.png", video: "https://replicate.delivery/pbxt/Jn4aBLGDtkc9qPtFrN25CaJIrgJunHRPsWkjFdqyvEKwYtpz/ha.mp4", max_frames: 300, show_overlay_video: false, inpaint_with_propainter: true } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run cjwbw/cutie using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "cjwbw/cutie:65ad7f1b2f6c71ea8cabf8b67ef249799dde651828af197a52cf15c10c4b560b", input={ "mask": "https://replicate.delivery/pbxt/Jn4aBHKExJxdkM2ofC6cOpJGC1O416ATcYYt1lqjiZEYRndz/mask_0-1.png", "video": "https://replicate.delivery/pbxt/Jn4aBLGDtkc9qPtFrN25CaJIrgJunHRPsWkjFdqyvEKwYtpz/ha.mp4", "max_frames": 300, "show_overlay_video": False, "inpaint_with_propainter": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run cjwbw/cutie 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": "cjwbw/cutie:65ad7f1b2f6c71ea8cabf8b67ef249799dde651828af197a52cf15c10c4b560b", "input": { "mask": "https://replicate.delivery/pbxt/Jn4aBHKExJxdkM2ofC6cOpJGC1O416ATcYYt1lqjiZEYRndz/mask_0-1.png", "video": "https://replicate.delivery/pbxt/Jn4aBLGDtkc9qPtFrN25CaJIrgJunHRPsWkjFdqyvEKwYtpz/ha.mp4", "max_frames": 300, "show_overlay_video": false, "inpaint_with_propainter": true } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
masked_out
inpaint_out
{ "completed_at": "2023-10-30T16:14:26.383269Z", "created_at": "2023-10-30T16:12:29.127614Z", "data_removed": false, "error": null, "id": "x6fbsslbuubldeme3w56viovuq", "input": { "mask": "https://replicate.delivery/pbxt/Jn4aBHKExJxdkM2ofC6cOpJGC1O416ATcYYt1lqjiZEYRndz/mask_0-1.png", "video": "https://replicate.delivery/pbxt/Jn4aBLGDtkc9qPtFrN25CaJIrgJunHRPsWkjFdqyvEKwYtpz/ha.mp4", "max_frames": 300, "mask_with_SAM": null, "show_overlay_video": false, "inpaint_with_propainter": true }, "logs": "Masks detected in provided mask: [ 0 255]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\nPretrained flow completion model has loaded...\nPretrained ProPainter has loaded...\nNetwork [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network).\nProcessing: frames_dir [120 frames]...\n 0%| | 0/24 [00:00<?, ?it/s]\n 4%|▍ | 1/24 [00:00<00:12, 1.89it/s]\n 8%|▊ | 2/24 [00:01<00:11, 1.91it/s]\n 12%|█▎ | 3/24 [00:01<00:11, 1.89it/s]\n 17%|█▋ | 4/24 [00:02<00:10, 1.89it/s]\n 21%|██ | 5/24 [00:02<00:10, 1.87it/s]\n 25%|██▌ | 6/24 [00:03<00:09, 1.84it/s]\n 29%|██▉ | 7/24 [00:03<00:09, 1.79it/s]\n 33%|███▎ | 8/24 [00:04<00:09, 1.75it/s]\n 38%|███▊ | 9/24 [00:05<00:08, 1.71it/s]\n 42%|████▏ | 10/24 [00:05<00:08, 1.68it/s]\n 46%|████▌ | 11/24 [00:06<00:07, 1.67it/s]\n 50%|█████ | 12/24 [00:06<00:07, 1.66it/s]\n 54%|█████▍ | 13/24 [00:07<00:06, 1.66it/s]\n 58%|█████▊ | 14/24 [00:08<00:06, 1.65it/s]\n 62%|██████▎ | 15/24 [00:08<00:05, 1.65it/s]\n 67%|██████▋ | 16/24 [00:09<00:04, 1.64it/s]\n 71%|███████ | 17/24 [00:09<00:04, 1.65it/s]\n 75%|███████▌ | 18/24 [00:10<00:03, 1.64it/s]\n 79%|███████▉ | 19/24 [00:11<00:03, 1.67it/s]\n 83%|████████▎ | 20/24 [00:11<00:02, 1.67it/s]\n 88%|████████▊ | 21/24 [00:12<00:01, 1.72it/s]\n 92%|█████████▏| 22/24 [00:12<00:01, 1.74it/s]\n 96%|█████████▌| 23/24 [00:13<00:00, 1.79it/s]\n100%|██████████| 24/24 [00:13<00:00, 1.85it/s]\n100%|██████████| 24/24 [00:13<00:00, 1.74it/s]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\nAll results are saved in inpaint_out_dir/frames_dir\nInpainting finished!", "metrics": { "predict_time": 45.174341, "total_time": 117.255655 }, "output": { "masked_out": "https://pbxt.replicate.delivery/XOMPgzSJ24qsOFHi57esGRAJGauCdJMTokNA8xUYjIgwQs5IA/masked_out.mp4", "inpaint_out": "https://pbxt.replicate.delivery/mNSmo7n8harFPFrgFYeX3EtF9nejAfmo1rtx3EIHDxEEDxmjA/inpaint_out.mp4", "overlay_out": null, "first_mask_with_SAM": null }, "started_at": "2023-10-30T16:13:41.208928Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/x6fbsslbuubldeme3w56viovuq", "cancel": "https://api.replicate.com/v1/predictions/x6fbsslbuubldeme3w56viovuq/cancel" }, "version": "65ad7f1b2f6c71ea8cabf8b67ef249799dde651828af197a52cf15c10c4b560b" }
Generated inMasks detected in provided mask: [ 0 255] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). Pretrained flow completion model has loaded... Pretrained ProPainter has loaded... Network [InpaintGenerator] was created. Total number of parameters: 39.4 million. To see the architecture, do print(network). Processing: frames_dir [120 frames]... 0%| | 0/24 [00:00<?, ?it/s] 4%|▍ | 1/24 [00:00<00:12, 1.89it/s] 8%|▊ | 2/24 [00:01<00:11, 1.91it/s] 12%|█▎ | 3/24 [00:01<00:11, 1.89it/s] 17%|█▋ | 4/24 [00:02<00:10, 1.89it/s] 21%|██ | 5/24 [00:02<00:10, 1.87it/s] 25%|██▌ | 6/24 [00:03<00:09, 1.84it/s] 29%|██▉ | 7/24 [00:03<00:09, 1.79it/s] 33%|███▎ | 8/24 [00:04<00:09, 1.75it/s] 38%|███▊ | 9/24 [00:05<00:08, 1.71it/s] 42%|████▏ | 10/24 [00:05<00:08, 1.68it/s] 46%|████▌ | 11/24 [00:06<00:07, 1.67it/s] 50%|█████ | 12/24 [00:06<00:07, 1.66it/s] 54%|█████▍ | 13/24 [00:07<00:06, 1.66it/s] 58%|█████▊ | 14/24 [00:08<00:06, 1.65it/s] 62%|██████▎ | 15/24 [00:08<00:05, 1.65it/s] 67%|██████▋ | 16/24 [00:09<00:04, 1.64it/s] 71%|███████ | 17/24 [00:09<00:04, 1.65it/s] 75%|███████▌ | 18/24 [00:10<00:03, 1.64it/s] 79%|███████▉ | 19/24 [00:11<00:03, 1.67it/s] 83%|████████▎ | 20/24 [00:11<00:02, 1.67it/s] 88%|████████▊ | 21/24 [00:12<00:01, 1.72it/s] 92%|█████████▏| 22/24 [00:12<00:01, 1.74it/s] 96%|█████████▌| 23/24 [00:13<00:00, 1.79it/s] 100%|██████████| 24/24 [00:13<00:00, 1.85it/s] 100%|██████████| 24/24 [00:13<00:00, 1.74it/s] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (640, 342) to (640, 352) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility). All results are saved in inpaint_out_dir/frames_dir Inpainting finished!
Want to make some of these yourself?
Run this model