jd7h
/
propainter
Object removal, video completion and video outpainting
Prediction
jd7h/propainter:d7c8330f082ecf6fac577468e1cf42baf33f6d1e5928d8d943401d6ecca81b76ID3q5txz3bcwf7xuunrnltuvcfa4StatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mode
- video_inpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1
- scale_w
- 1.2
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 4
- neighbor_length
- 10
- subvideo_length
- 80
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/Jdndmupy4eeTHSg1DhYah9QMibm70H6VWtqVbVz8qRrHBycA/mask_square.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JdndnLWcx0G4thdRI4bxJ97B9g8MHj7CN9ZQVYiTRfPBbOFW/running_car.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1.2, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80 }
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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:d7c8330f082ecf6fac577468e1cf42baf33f6d1e5928d8d943401d6ecca81b76", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/Jdndmupy4eeTHSg1DhYah9QMibm70H6VWtqVbVz8qRrHBycA/mask_square.png", mode: "video_inpainting", video: "https://replicate.delivery/pbxt/JdndnLWcx0G4thdRI4bxJ97B9g8MHj7CN9ZQVYiTRfPBbOFW/running_car.mp4", width: -1, height: -1, scale_h: 1, scale_w: 1.2, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 4, neighbor_length: 10, subvideo_length: 80 } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:d7c8330f082ecf6fac577468e1cf42baf33f6d1e5928d8d943401d6ecca81b76", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/Jdndmupy4eeTHSg1DhYah9QMibm70H6VWtqVbVz8qRrHBycA/mask_square.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JdndnLWcx0G4thdRI4bxJ97B9g8MHj7CN9ZQVYiTRfPBbOFW/running_car.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1.2, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80 } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "d7c8330f082ecf6fac577468e1cf42baf33f6d1e5928d8d943401d6ecca81b76", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/Jdndmupy4eeTHSg1DhYah9QMibm70H6VWtqVbVz8qRrHBycA/mask_square.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JdndnLWcx0G4thdRI4bxJ97B9g8MHj7CN9ZQVYiTRfPBbOFW/running_car.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1.2, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-10-04T13:15:00.399102Z", "created_at": "2023-10-04T13:12:25.855623Z", "data_removed": false, "error": null, "id": "3q5txz3bcwf7xuunrnltuvcfa4", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/Jdndmupy4eeTHSg1DhYah9QMibm70H6VWtqVbVz8qRrHBycA/mask_square.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JdndnLWcx0G4thdRI4bxJ97B9g8MHj7CN9ZQVYiTRfPBbOFW/running_car.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1.2, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80 }, "logs": "Processing: tmp4qbtep9hrunning_car [292 frames]...\n 0%| | 0/59 [00:00<?, ?it/s]\n 2%|▏ | 1/59 [00:00<00:42, 1.37it/s]\n 3%|▎ | 2/59 [00:01<00:52, 1.09it/s]\n 5%|▌ | 3/59 [00:02<00:55, 1.02it/s]\n 7%|▋ | 4/59 [00:03<00:56, 1.02s/it]\n 8%|▊ | 5/59 [00:05<00:56, 1.05s/it]\n 10%|█ | 6/59 [00:06<00:56, 1.07s/it]\n 12%|█▏ | 7/59 [00:07<00:56, 1.10s/it]\n 14%|█▎ | 8/59 [00:08<00:56, 1.11s/it]\n 15%|█▌ | 9/59 [00:09<00:56, 1.14s/it]\n 17%|█▋ | 10/59 [00:10<00:56, 1.15s/it]\n 19%|█▊ | 11/59 [00:11<00:55, 1.17s/it]\n 20%|██ | 12/59 [00:13<00:55, 1.18s/it]\n 22%|██▏ | 13/59 [00:14<00:54, 1.18s/it]\n 24%|██▎ | 14/59 [00:15<00:53, 1.18s/it]\n 25%|██▌ | 15/59 [00:16<00:52, 1.18s/it]\n 27%|██▋ | 16/59 [00:17<00:51, 1.19s/it]\n 29%|██▉ | 17/59 [00:19<00:50, 1.19s/it]\n 31%|███ | 18/59 [00:20<00:48, 1.19s/it]\n 32%|███▏ | 19/59 [00:21<00:47, 1.19s/it]\n 34%|███▍ | 20/59 [00:22<00:47, 1.21s/it]\n 36%|███▌ | 21/59 [00:23<00:45, 1.20s/it]\n 37%|███▋ | 22/59 [00:25<00:44, 1.20s/it]\n 39%|███▉ | 23/59 [00:26<00:43, 1.21s/it]\n 41%|████ | 24/59 [00:27<00:42, 1.21s/it]\n 42%|████▏ | 25/59 [00:28<00:40, 1.20s/it]\n 44%|████▍ | 26/59 [00:29<00:39, 1.20s/it]\n 46%|████▌ | 27/59 [00:31<00:38, 1.20s/it]\n 47%|████▋ | 28/59 [00:32<00:37, 1.20s/it]\n 49%|████▉ | 29/59 [00:33<00:35, 1.20s/it]\n 51%|█████ | 30/59 [00:34<00:34, 1.19s/it]\n 53%|█████▎ | 31/59 [00:35<00:33, 1.20s/it]\n 54%|█████▍ | 32/59 [00:37<00:32, 1.19s/it]\n 56%|█████▌ | 33/59 [00:38<00:31, 1.19s/it]\n 58%|█████▊ | 34/59 [00:39<00:29, 1.20s/it]\n 59%|█████▉ | 35/59 [00:40<00:28, 1.20s/it]\n 61%|██████ | 36/59 [00:41<00:27, 1.20s/it]\n 63%|██████▎ | 37/59 [00:43<00:26, 1.20s/it]\n 64%|██████▍ | 38/59 [00:44<00:25, 1.20s/it]\n 66%|██████▌ | 39/59 [00:45<00:23, 1.20s/it]\n 68%|██████▊ | 40/59 [00:46<00:22, 1.20s/it]\n 69%|██████▉ | 41/59 [00:47<00:21, 1.20s/it]\n 71%|███████ | 42/59 [00:49<00:20, 1.20s/it]\n 73%|███████▎ | 43/59 [00:50<00:19, 1.20s/it]\n 75%|███████▍ | 44/59 [00:51<00:17, 1.20s/it]\n 76%|███████▋ | 45/59 [00:52<00:16, 1.19s/it]\n 78%|███████▊ | 46/59 [00:53<00:15, 1.19s/it]\n 80%|███████▉ | 47/59 [00:55<00:14, 1.19s/it]\n 81%|████████▏ | 48/59 [00:56<00:13, 1.20s/it]\n 83%|████████▎ | 49/59 [00:57<00:11, 1.20s/it]\n 85%|████████▍ | 50/59 [00:58<00:10, 1.20s/it]\n 86%|████████▋ | 51/59 [00:59<00:09, 1.20s/it]\n 88%|████████▊ | 52/59 [01:01<00:08, 1.20s/it]\n 90%|████████▉ | 53/59 [01:02<00:07, 1.20s/it]\n 92%|█████████▏| 54/59 [01:03<00:05, 1.18s/it]\n 93%|█████████▎| 55/59 [01:04<00:04, 1.17s/it]\n 95%|█████████▍| 56/59 [01:05<00:03, 1.15s/it]\n 97%|█████████▋| 57/59 [01:06<00:02, 1.14s/it]\n 98%|█████████▊| 58/59 [01:07<00:01, 1.12s/it]\n100%|██████████| 59/59 [01:08<00:00, 1.00s/it]\n100%|██████████| 59/59 [01:08<00:00, 1.16s/it]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (972, 540) to (976, 544) 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 @ 0x61cff40] 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 (972, 540) to (976, 544) 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 @ 0x709ff40] Warning: data is not aligned! This can lead to a speed loss\nAll results are saved in results/tmp4qbtep9hrunning_car", "metrics": { "predict_time": 153.096243, "total_time": 154.543479 }, "output": [ "https://pbxt.replicate.delivery/1PNGO2JLndLVFNSABzLFDyOC8eXGmGhenqaeztbw6FfI1FrGB/masked_in.mp4", "https://pbxt.replicate.delivery/4hWGPqQridaZNVNTQnXafEfNzIQDHdsNOiKqpvwpnFmTdxqRA/inpaint_out.mp4" ], "started_at": "2023-10-04T13:12:27.302859Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/3q5txz3bcwf7xuunrnltuvcfa4", "cancel": "https://api.replicate.com/v1/predictions/3q5txz3bcwf7xuunrnltuvcfa4/cancel" }, "version": "d7c8330f082ecf6fac577468e1cf42baf33f6d1e5928d8d943401d6ecca81b76" }
Generated inProcessing: tmp4qbtep9hrunning_car [292 frames]... 0%| | 0/59 [00:00<?, ?it/s] 2%|▏ | 1/59 [00:00<00:42, 1.37it/s] 3%|▎ | 2/59 [00:01<00:52, 1.09it/s] 5%|▌ | 3/59 [00:02<00:55, 1.02it/s] 7%|▋ | 4/59 [00:03<00:56, 1.02s/it] 8%|▊ | 5/59 [00:05<00:56, 1.05s/it] 10%|█ | 6/59 [00:06<00:56, 1.07s/it] 12%|█▏ | 7/59 [00:07<00:56, 1.10s/it] 14%|█▎ | 8/59 [00:08<00:56, 1.11s/it] 15%|█▌ | 9/59 [00:09<00:56, 1.14s/it] 17%|█▋ | 10/59 [00:10<00:56, 1.15s/it] 19%|█▊ | 11/59 [00:11<00:55, 1.17s/it] 20%|██ | 12/59 [00:13<00:55, 1.18s/it] 22%|██▏ | 13/59 [00:14<00:54, 1.18s/it] 24%|██▎ | 14/59 [00:15<00:53, 1.18s/it] 25%|██▌ | 15/59 [00:16<00:52, 1.18s/it] 27%|██▋ | 16/59 [00:17<00:51, 1.19s/it] 29%|██▉ | 17/59 [00:19<00:50, 1.19s/it] 31%|███ | 18/59 [00:20<00:48, 1.19s/it] 32%|███▏ | 19/59 [00:21<00:47, 1.19s/it] 34%|███▍ | 20/59 [00:22<00:47, 1.21s/it] 36%|███▌ | 21/59 [00:23<00:45, 1.20s/it] 37%|███▋ | 22/59 [00:25<00:44, 1.20s/it] 39%|███▉ | 23/59 [00:26<00:43, 1.21s/it] 41%|████ | 24/59 [00:27<00:42, 1.21s/it] 42%|████▏ | 25/59 [00:28<00:40, 1.20s/it] 44%|████▍ | 26/59 [00:29<00:39, 1.20s/it] 46%|████▌ | 27/59 [00:31<00:38, 1.20s/it] 47%|████▋ | 28/59 [00:32<00:37, 1.20s/it] 49%|████▉ | 29/59 [00:33<00:35, 1.20s/it] 51%|█████ | 30/59 [00:34<00:34, 1.19s/it] 53%|█████▎ | 31/59 [00:35<00:33, 1.20s/it] 54%|█████▍ | 32/59 [00:37<00:32, 1.19s/it] 56%|█████▌ | 33/59 [00:38<00:31, 1.19s/it] 58%|█████▊ | 34/59 [00:39<00:29, 1.20s/it] 59%|█████▉ | 35/59 [00:40<00:28, 1.20s/it] 61%|██████ | 36/59 [00:41<00:27, 1.20s/it] 63%|██████▎ | 37/59 [00:43<00:26, 1.20s/it] 64%|██████▍ | 38/59 [00:44<00:25, 1.20s/it] 66%|██████▌ | 39/59 [00:45<00:23, 1.20s/it] 68%|██████▊ | 40/59 [00:46<00:22, 1.20s/it] 69%|██████▉ | 41/59 [00:47<00:21, 1.20s/it] 71%|███████ | 42/59 [00:49<00:20, 1.20s/it] 73%|███████▎ | 43/59 [00:50<00:19, 1.20s/it] 75%|███████▍ | 44/59 [00:51<00:17, 1.20s/it] 76%|███████▋ | 45/59 [00:52<00:16, 1.19s/it] 78%|███████▊ | 46/59 [00:53<00:15, 1.19s/it] 80%|███████▉ | 47/59 [00:55<00:14, 1.19s/it] 81%|████████▏ | 48/59 [00:56<00:13, 1.20s/it] 83%|████████▎ | 49/59 [00:57<00:11, 1.20s/it] 85%|████████▍ | 50/59 [00:58<00:10, 1.20s/it] 86%|████████▋ | 51/59 [00:59<00:09, 1.20s/it] 88%|████████▊ | 52/59 [01:01<00:08, 1.20s/it] 90%|████████▉ | 53/59 [01:02<00:07, 1.20s/it] 92%|█████████▏| 54/59 [01:03<00:05, 1.18s/it] 93%|█████████▎| 55/59 [01:04<00:04, 1.17s/it] 95%|█████████▍| 56/59 [01:05<00:03, 1.15s/it] 97%|█████████▋| 57/59 [01:06<00:02, 1.14s/it] 98%|█████████▊| 58/59 [01:07<00:01, 1.12s/it] 100%|██████████| 59/59 [01:08<00:00, 1.00s/it] 100%|██████████| 59/59 [01:08<00:00, 1.16s/it] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (972, 540) to (976, 544) 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 @ 0x61cff40] 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 (972, 540) to (976, 544) 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 @ 0x709ff40] Warning: data is not aligned! This can lead to a speed loss All results are saved in results/tmp4qbtep9hrunning_car
Prediction
jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5adIDgzxolm3bhfrqwntkam3ayymeamStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mask
- mode
- video_inpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1
- scale_w
- 1
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 4
- neighbor_length
- 10
- subvideo_length
- 80
- return_input_video
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", mode: "video_inpainting", video: "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", width: -1, height: -1, scale_h: 1, scale_w: 1, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 4, neighbor_length: 10, subvideo_length: 80, return_input_video: true } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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-11T11:46:47.183845Z", "created_at": "2023-10-11T11:46:35.674949Z", "data_removed": false, "error": null, "id": "gzxolm3bhfrqwntkam3ayymeam", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": true }, "logs": "Interpreting mask as a video...\nProcessing: tmppyc3cmpbbmx-trees2 [80 frames]...\n 0%| | 0/16 [00:00<?, ?it/s]\n 6%|▋ | 1/16 [00:00<00:02, 6.11it/s]\n 12%|█▎ | 2/16 [00:00<00:02, 5.13it/s]\n 19%|█▉ | 3/16 [00:00<00:02, 4.86it/s]\n 25%|██▌ | 4/16 [00:00<00:02, 4.89it/s]\n 31%|███▏ | 5/16 [00:01<00:02, 4.86it/s]\n 38%|███▊ | 6/16 [00:01<00:02, 4.89it/s]\n 44%|████▍ | 7/16 [00:01<00:01, 4.84it/s]\n 50%|█████ | 8/16 [00:01<00:01, 4.86it/s]\n 56%|█████▋ | 9/16 [00:01<00:01, 4.76it/s]\n 62%|██████▎ | 10/16 [00:02<00:01, 4.80it/s]\n 69%|██████▉ | 11/16 [00:02<00:01, 4.81it/s]\n 75%|███████▌ | 12/16 [00:02<00:00, 4.86it/s]\n 81%|████████▏ | 13/16 [00:02<00:00, 4.85it/s]\n 88%|████████▊ | 14/16 [00:02<00:00, 4.90it/s]\n 94%|█████████▍| 15/16 [00:03<00:00, 4.91it/s]\n100%|██████████| 16/16 [00:03<00:00, 5.02it/s]\n100%|██████████| 16/16 [00:03<00:00, 4.91it/s]\nAll results are saved in results/tmppyc3cmpbbmx-trees2", "metrics": { "predict_time": 11.515623, "total_time": 11.508896 }, "output": [ "https://pbxt.replicate.delivery/cyoKwaK79LbWKV3PJnO338RTkWUZJwEkQLXUvfE6TE8S6h2IA/masked_in.mp4", "https://pbxt.replicate.delivery/Na5w2licaKrELlsLpAQG5zThVaDZeeCh3vwgWhWcYqLm0DtRA/inpaint_out.mp4" ], "started_at": "2023-10-11T11:46:35.668222Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/gzxolm3bhfrqwntkam3ayymeam", "cancel": "https://api.replicate.com/v1/predictions/gzxolm3bhfrqwntkam3ayymeam/cancel" }, "version": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad" }
Generated inInterpreting mask as a video... Processing: tmppyc3cmpbbmx-trees2 [80 frames]... 0%| | 0/16 [00:00<?, ?it/s] 6%|▋ | 1/16 [00:00<00:02, 6.11it/s] 12%|█▎ | 2/16 [00:00<00:02, 5.13it/s] 19%|█▉ | 3/16 [00:00<00:02, 4.86it/s] 25%|██▌ | 4/16 [00:00<00:02, 4.89it/s] 31%|███▏ | 5/16 [00:01<00:02, 4.86it/s] 38%|███▊ | 6/16 [00:01<00:02, 4.89it/s] 44%|████▍ | 7/16 [00:01<00:01, 4.84it/s] 50%|█████ | 8/16 [00:01<00:01, 4.86it/s] 56%|█████▋ | 9/16 [00:01<00:01, 4.76it/s] 62%|██████▎ | 10/16 [00:02<00:01, 4.80it/s] 69%|██████▉ | 11/16 [00:02<00:01, 4.81it/s] 75%|███████▌ | 12/16 [00:02<00:00, 4.86it/s] 81%|████████▏ | 13/16 [00:02<00:00, 4.85it/s] 88%|████████▊ | 14/16 [00:02<00:00, 4.90it/s] 94%|█████████▍| 15/16 [00:03<00:00, 4.91it/s] 100%|██████████| 16/16 [00:03<00:00, 5.02it/s] 100%|██████████| 16/16 [00:03<00:00, 4.91it/s] All results are saved in results/tmppyc3cmpbbmx-trees2
Prediction
jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5adIDs4tvuctbp2325azhp3xtvj75daStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mask
- mode
- video_inpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1
- scale_w
- 1
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 4
- neighbor_length
- 10
- subvideo_length
- 80
- return_input_video
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGS5YVwMzs1ajZwd8P1e6xI80PQGL6azbDP0teKcBXTEeeW/tennis_mask.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGS4d8da76YMJwHjtK2gsUAc2DuFzGZrQV9MENfAAFqS4X9/tennis.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/JgGS5YVwMzs1ajZwd8P1e6xI80PQGL6azbDP0teKcBXTEeeW/tennis_mask.mp4", mode: "video_inpainting", video: "https://replicate.delivery/pbxt/JgGS4d8da76YMJwHjtK2gsUAc2DuFzGZrQV9MENfAAFqS4X9/tennis.mp4", width: -1, height: -1, scale_h: 1, scale_w: 1, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 4, neighbor_length: 10, subvideo_length: 80, return_input_video: true } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/JgGS5YVwMzs1ajZwd8P1e6xI80PQGL6azbDP0teKcBXTEeeW/tennis_mask.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGS4d8da76YMJwHjtK2gsUAc2DuFzGZrQV9MENfAAFqS4X9/tennis.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGS5YVwMzs1ajZwd8P1e6xI80PQGL6azbDP0teKcBXTEeeW/tennis_mask.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGS4d8da76YMJwHjtK2gsUAc2DuFzGZrQV9MENfAAFqS4X9/tennis.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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-11T11:51:35.893494Z", "created_at": "2023-10-11T11:51:24.499677Z", "data_removed": false, "error": null, "id": "s4tvuctbp2325azhp3xtvj75da", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGS5YVwMzs1ajZwd8P1e6xI80PQGL6azbDP0teKcBXTEeeW/tennis_mask.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGS4d8da76YMJwHjtK2gsUAc2DuFzGZrQV9MENfAAFqS4X9/tennis.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": true }, "logs": "Interpreting mask as a video...\nProcessing: tmp9e5vgzbftennis [70 frames]...\n 0%| | 0/14 [00:00<?, ?it/s]\n 7%|▋ | 1/14 [00:00<00:01, 6.59it/s]\n 14%|█▍ | 2/14 [00:00<00:02, 5.16it/s]\n 21%|██▏ | 3/14 [00:00<00:02, 4.98it/s]\n 29%|██▊ | 4/14 [00:00<00:02, 4.93it/s]\n 36%|███▌ | 5/14 [00:01<00:01, 4.82it/s]\n 43%|████▎ | 6/14 [00:01<00:01, 4.81it/s]\n 50%|█████ | 7/14 [00:01<00:01, 4.77it/s]\n 57%|█████▋ | 8/14 [00:01<00:01, 4.82it/s]\n 64%|██████▍ | 9/14 [00:01<00:01, 4.77it/s]\n 71%|███████▏ | 10/14 [00:02<00:00, 4.80it/s]\n 79%|███████▊ | 11/14 [00:02<00:00, 4.78it/s]\n 86%|████████▌ | 12/14 [00:02<00:00, 4.83it/s]\n 93%|█████████▎| 13/14 [00:02<00:00, 4.82it/s]\n100%|██████████| 14/14 [00:02<00:00, 4.91it/s]\n100%|██████████| 14/14 [00:02<00:00, 4.88it/s]\nAll results are saved in results/tmp9e5vgzbftennis", "metrics": { "predict_time": 11.417017, "total_time": 11.393817 }, "output": [ "https://pbxt.replicate.delivery/7hdsMS5fgkxe3ERCNkE9T5wdMSMNeUZdCuK2bmZypk1NyHajA/masked_in.mp4", "https://pbxt.replicate.delivery/Mqyqx8V7Rp5cENThsfrUtpiPrHSZBBsnf4zIf2QHooZOyHajA/inpaint_out.mp4" ], "started_at": "2023-10-11T11:51:24.476477Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/s4tvuctbp2325azhp3xtvj75da", "cancel": "https://api.replicate.com/v1/predictions/s4tvuctbp2325azhp3xtvj75da/cancel" }, "version": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad" }
Generated inInterpreting mask as a video... Processing: tmp9e5vgzbftennis [70 frames]... 0%| | 0/14 [00:00<?, ?it/s] 7%|▋ | 1/14 [00:00<00:01, 6.59it/s] 14%|█▍ | 2/14 [00:00<00:02, 5.16it/s] 21%|██▏ | 3/14 [00:00<00:02, 4.98it/s] 29%|██▊ | 4/14 [00:00<00:02, 4.93it/s] 36%|███▌ | 5/14 [00:01<00:01, 4.82it/s] 43%|████▎ | 6/14 [00:01<00:01, 4.81it/s] 50%|█████ | 7/14 [00:01<00:01, 4.77it/s] 57%|█████▋ | 8/14 [00:01<00:01, 4.82it/s] 64%|██████▍ | 9/14 [00:01<00:01, 4.77it/s] 71%|███████▏ | 10/14 [00:02<00:00, 4.80it/s] 79%|███████▊ | 11/14 [00:02<00:00, 4.78it/s] 86%|████████▌ | 12/14 [00:02<00:00, 4.83it/s] 93%|█████████▎| 13/14 [00:02<00:00, 4.82it/s] 100%|██████████| 14/14 [00:02<00:00, 4.91it/s] 100%|██████████| 14/14 [00:02<00:00, 4.88it/s] All results are saved in results/tmp9e5vgzbftennis
Prediction
jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5adIDtvpllqlbkwhzmsdwalvsurohriStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mode
- video_inpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1
- scale_w
- 1
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 4
- neighbor_length
- 10
- subvideo_length
- 80
- return_input_video
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGgeIePTonFUOOZsJReOpIWuhDz2BSVL6v5z2vMsESQRjUI/watermark-mask.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGgeACVH84IkobKLPrqDvYgO4SH2f049BPdBHqfCI9RlOhf/running_car_watermark.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/JgGgeIePTonFUOOZsJReOpIWuhDz2BSVL6v5z2vMsESQRjUI/watermark-mask.png", mode: "video_inpainting", video: "https://replicate.delivery/pbxt/JgGgeACVH84IkobKLPrqDvYgO4SH2f049BPdBHqfCI9RlOhf/running_car_watermark.mp4", width: -1, height: -1, scale_h: 1, scale_w: 1, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 4, neighbor_length: 10, subvideo_length: 80, return_input_video: true } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/JgGgeIePTonFUOOZsJReOpIWuhDz2BSVL6v5z2vMsESQRjUI/watermark-mask.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGgeACVH84IkobKLPrqDvYgO4SH2f049BPdBHqfCI9RlOhf/running_car_watermark.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGgeIePTonFUOOZsJReOpIWuhDz2BSVL6v5z2vMsESQRjUI/watermark-mask.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGgeACVH84IkobKLPrqDvYgO4SH2f049BPdBHqfCI9RlOhf/running_car_watermark.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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-11T12:10:18.182608Z", "created_at": "2023-10-11T12:06:40.537902Z", "data_removed": false, "error": null, "id": "tvpllqlbkwhzmsdwalvsurohri", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGgeIePTonFUOOZsJReOpIWuhDz2BSVL6v5z2vMsESQRjUI/watermark-mask.png", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/JgGgeACVH84IkobKLPrqDvYgO4SH2f049BPdBHqfCI9RlOhf/running_car_watermark.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": true }, "logs": "Interpreting mask as a single static file...\nProcessing: tmp80zu13oyrunning_car_watermark [292 frames]...\n 0%| | 0/59 [00:00<?, ?it/s]\n 2%|▏ | 1/59 [00:00<00:43, 1.32it/s]\n 3%|▎ | 2/59 [00:01<00:57, 1.01s/it]\n 5%|▌ | 3/59 [00:03<00:58, 1.05s/it]\n 7%|▋ | 4/59 [00:04<00:57, 1.04s/it]\n 8%|▊ | 5/59 [00:05<00:56, 1.05s/it]\n 10%|█ | 6/59 [00:06<00:55, 1.05s/it]\n 12%|█▏ | 7/59 [00:07<00:55, 1.07s/it]\n 14%|█▎ | 8/59 [00:08<00:54, 1.07s/it]\n 15%|█▌ | 9/59 [00:09<00:54, 1.09s/it]\n 17%|█▋ | 10/59 [00:10<00:53, 1.09s/it]\n 19%|█▊ | 11/59 [00:11<00:52, 1.10s/it]\n 20%|██ | 12/59 [00:12<00:51, 1.11s/it]\n 22%|██▏ | 13/59 [00:13<00:51, 1.11s/it]\n 24%|██▎ | 14/59 [00:15<00:50, 1.11s/it]\n 25%|██▌ | 15/59 [00:16<00:49, 1.12s/it]\n 27%|██▋ | 16/59 [00:17<00:48, 1.12s/it]\n 29%|██▉ | 17/59 [00:18<00:47, 1.12s/it]\n 31%|███ | 18/59 [00:19<00:45, 1.12s/it]\n 32%|███▏ | 19/59 [00:20<00:44, 1.12s/it]\n 34%|███▍ | 20/59 [00:21<00:43, 1.12s/it]\n 36%|███▌ | 21/59 [00:22<00:42, 1.12s/it]\n 37%|███▋ | 22/59 [00:24<00:41, 1.12s/it]\n 39%|███▉ | 23/59 [00:25<00:40, 1.13s/it]\n 41%|████ | 24/59 [00:26<00:39, 1.13s/it]\n 42%|████▏ | 25/59 [00:27<00:38, 1.13s/it]\n 44%|████▍ | 26/59 [00:28<00:37, 1.13s/it]\n 46%|████▌ | 27/59 [00:29<00:36, 1.13s/it]\n 47%|████▋ | 28/59 [00:30<00:34, 1.13s/it]\n 49%|████▉ | 29/59 [00:31<00:33, 1.13s/it]\n 51%|█████ | 30/59 [00:33<00:32, 1.13s/it]\n 53%|█████▎ | 31/59 [00:34<00:31, 1.13s/it]\n 54%|█████▍ | 32/59 [00:35<00:30, 1.13s/it]\n 56%|█████▌ | 33/59 [00:36<00:29, 1.13s/it]\n 58%|█████▊ | 34/59 [00:37<00:28, 1.12s/it]\n 59%|█████▉ | 35/59 [00:38<00:27, 1.13s/it]\n 61%|██████ | 36/59 [00:39<00:25, 1.13s/it]\n 63%|██████▎ | 37/59 [00:40<00:24, 1.12s/it]\n 64%|██████▍ | 38/59 [00:42<00:23, 1.12s/it]\n 66%|██████▌ | 39/59 [00:43<00:22, 1.12s/it]\n 68%|██████▊ | 40/59 [00:44<00:21, 1.13s/it]\n 69%|██████▉ | 41/59 [00:45<00:20, 1.13s/it]\n 71%|███████ | 42/59 [00:46<00:19, 1.16s/it]\n 73%|███████▎ | 43/59 [00:48<00:19, 1.23s/it]\n 75%|███████▍ | 44/59 [00:49<00:18, 1.20s/it]\n 76%|███████▋ | 45/59 [00:50<00:16, 1.18s/it]\n 78%|███████▊ | 46/59 [00:51<00:15, 1.16s/it]\n 80%|███████▉ | 47/59 [00:52<00:13, 1.15s/it]\n 81%|████████▏ | 48/59 [00:53<00:12, 1.14s/it]\n 83%|████████▎ | 49/59 [00:54<00:11, 1.14s/it]\n 85%|████████▍ | 50/59 [00:56<00:10, 1.14s/it]\n 86%|████████▋ | 51/59 [00:57<00:09, 1.14s/it]\n 88%|████████▊ | 52/59 [00:58<00:07, 1.13s/it]\n 90%|████████▉ | 53/59 [00:59<00:06, 1.13s/it]\n 92%|█████████▏| 54/59 [01:00<00:05, 1.12s/it]\n 93%|█████████▎| 55/59 [01:01<00:04, 1.11s/it]\n 95%|█████████▍| 56/59 [01:02<00:03, 1.09s/it]\n 97%|█████████▋| 57/59 [01:03<00:02, 1.08s/it]\n 98%|█████████▊| 58/59 [01:04<00:01, 1.07s/it]\n100%|██████████| 59/59 [01:05<00:00, 1.05it/s]\n100%|██████████| 59/59 [01:05<00:00, 1.11s/it]\nIMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (972, 540) to (976, 544) 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 @ 0x7075ec0] 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 (972, 540) to (976, 544) 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 @ 0x6249ec0] Warning: data is not aligned! This can lead to a speed loss\nAll results are saved in results/tmp80zu13oyrunning_car_watermark", "metrics": { "predict_time": 151.436898, "total_time": 217.644706 }, "output": [ "https://pbxt.replicate.delivery/4pdTO5qjJtpsKRUzpJHbXkv3HHKRNg49O2uydO30pwFqCRbE/masked_in.mp4", "https://pbxt.replicate.delivery/UDeBarXTIPXCGCGlmeUrktwhkwUG9vGDFjhTEvuAngXpKEtRA/inpaint_out.mp4" ], "started_at": "2023-10-11T12:07:46.745710Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/tvpllqlbkwhzmsdwalvsurohri", "cancel": "https://api.replicate.com/v1/predictions/tvpllqlbkwhzmsdwalvsurohri/cancel" }, "version": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad" }
Generated inInterpreting mask as a single static file... Processing: tmp80zu13oyrunning_car_watermark [292 frames]... 0%| | 0/59 [00:00<?, ?it/s] 2%|▏ | 1/59 [00:00<00:43, 1.32it/s] 3%|▎ | 2/59 [00:01<00:57, 1.01s/it] 5%|▌ | 3/59 [00:03<00:58, 1.05s/it] 7%|▋ | 4/59 [00:04<00:57, 1.04s/it] 8%|▊ | 5/59 [00:05<00:56, 1.05s/it] 10%|█ | 6/59 [00:06<00:55, 1.05s/it] 12%|█▏ | 7/59 [00:07<00:55, 1.07s/it] 14%|█▎ | 8/59 [00:08<00:54, 1.07s/it] 15%|█▌ | 9/59 [00:09<00:54, 1.09s/it] 17%|█▋ | 10/59 [00:10<00:53, 1.09s/it] 19%|█▊ | 11/59 [00:11<00:52, 1.10s/it] 20%|██ | 12/59 [00:12<00:51, 1.11s/it] 22%|██▏ | 13/59 [00:13<00:51, 1.11s/it] 24%|██▎ | 14/59 [00:15<00:50, 1.11s/it] 25%|██▌ | 15/59 [00:16<00:49, 1.12s/it] 27%|██▋ | 16/59 [00:17<00:48, 1.12s/it] 29%|██▉ | 17/59 [00:18<00:47, 1.12s/it] 31%|███ | 18/59 [00:19<00:45, 1.12s/it] 32%|███▏ | 19/59 [00:20<00:44, 1.12s/it] 34%|███▍ | 20/59 [00:21<00:43, 1.12s/it] 36%|███▌ | 21/59 [00:22<00:42, 1.12s/it] 37%|███▋ | 22/59 [00:24<00:41, 1.12s/it] 39%|███▉ | 23/59 [00:25<00:40, 1.13s/it] 41%|████ | 24/59 [00:26<00:39, 1.13s/it] 42%|████▏ | 25/59 [00:27<00:38, 1.13s/it] 44%|████▍ | 26/59 [00:28<00:37, 1.13s/it] 46%|████▌ | 27/59 [00:29<00:36, 1.13s/it] 47%|████▋ | 28/59 [00:30<00:34, 1.13s/it] 49%|████▉ | 29/59 [00:31<00:33, 1.13s/it] 51%|█████ | 30/59 [00:33<00:32, 1.13s/it] 53%|█████▎ | 31/59 [00:34<00:31, 1.13s/it] 54%|█████▍ | 32/59 [00:35<00:30, 1.13s/it] 56%|█████▌ | 33/59 [00:36<00:29, 1.13s/it] 58%|█████▊ | 34/59 [00:37<00:28, 1.12s/it] 59%|█████▉ | 35/59 [00:38<00:27, 1.13s/it] 61%|██████ | 36/59 [00:39<00:25, 1.13s/it] 63%|██████▎ | 37/59 [00:40<00:24, 1.12s/it] 64%|██████▍ | 38/59 [00:42<00:23, 1.12s/it] 66%|██████▌ | 39/59 [00:43<00:22, 1.12s/it] 68%|██████▊ | 40/59 [00:44<00:21, 1.13s/it] 69%|██████▉ | 41/59 [00:45<00:20, 1.13s/it] 71%|███████ | 42/59 [00:46<00:19, 1.16s/it] 73%|███████▎ | 43/59 [00:48<00:19, 1.23s/it] 75%|███████▍ | 44/59 [00:49<00:18, 1.20s/it] 76%|███████▋ | 45/59 [00:50<00:16, 1.18s/it] 78%|███████▊ | 46/59 [00:51<00:15, 1.16s/it] 80%|███████▉ | 47/59 [00:52<00:13, 1.15s/it] 81%|████████▏ | 48/59 [00:53<00:12, 1.14s/it] 83%|████████▎ | 49/59 [00:54<00:11, 1.14s/it] 85%|████████▍ | 50/59 [00:56<00:10, 1.14s/it] 86%|████████▋ | 51/59 [00:57<00:09, 1.14s/it] 88%|████████▊ | 52/59 [00:58<00:07, 1.13s/it] 90%|████████▉ | 53/59 [00:59<00:06, 1.13s/it] 92%|█████████▏| 54/59 [01:00<00:05, 1.12s/it] 93%|█████████▎| 55/59 [01:01<00:04, 1.11s/it] 95%|█████████▍| 56/59 [01:02<00:03, 1.09s/it] 97%|█████████▋| 57/59 [01:03<00:02, 1.08s/it] 98%|█████████▊| 58/59 [01:04<00:01, 1.07s/it] 100%|██████████| 59/59 [01:05<00:00, 1.05it/s] 100%|██████████| 59/59 [01:05<00:00, 1.11s/it] IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (972, 540) to (976, 544) 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 @ 0x7075ec0] 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 (972, 540) to (976, 544) 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 @ 0x6249ec0] Warning: data is not aligned! This can lead to a speed loss All results are saved in results/tmp80zu13oyrunning_car_watermark
Prediction
jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5adIDdcwua6tbmztk64ly52za6rt3bqStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mask
- mode
- video_outpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1.5
- scale_w
- 1.5
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 4
- neighbor_length
- 10
- subvideo_length
- 80
- return_input_video
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_outpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1.5, "scale_w": 1.5, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", mode: "video_outpainting", video: "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", width: -1, height: -1, scale_h: 1.5, scale_w: 1.5, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 4, neighbor_length: 10, subvideo_length: 80, return_input_video: true } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_outpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1.5, "scale_w": 1.5, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_outpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1.5, "scale_w": 1.5, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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-11T12:11:54.528817Z", "created_at": "2023-10-11T12:11:34.971851Z", "data_removed": false, "error": null, "id": "dcwua6tbmztk64ly52za6rt3bq", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/JgGNe7IjsavH2is00AVgbEwWroEtseid6f3HZIHI7MJH9Num/bmx-trees-mask4.mp4", "mode": "video_outpainting", "video": "https://replicate.delivery/pbxt/JgGNdl0r9V14YxgJ4JlsCz71rSU9y8NJD9RDDdJo2Ua3r8C7/bmx-trees2.mp4", "width": -1, "height": -1, "scale_h": 1.5, "scale_w": 1.5, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 4, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": true }, "logs": "Processing: tmps59qks8dbmx-trees2 [80 frames]...\n 0%| | 0/16 [00:00<?, ?it/s]\n 6%|▋ | 1/16 [00:00<00:04, 3.10it/s]\n 12%|█▎ | 2/16 [00:00<00:06, 2.33it/s]\n 19%|█▉ | 3/16 [00:01<00:06, 2.13it/s]\n 25%|██▌ | 4/16 [00:01<00:05, 2.08it/s]\n 31%|███▏ | 5/16 [00:02<00:05, 2.02it/s]\n 38%|███▊ | 6/16 [00:02<00:04, 2.01it/s]\n 44%|████▍ | 7/16 [00:03<00:04, 1.98it/s]\n 50%|█████ | 8/16 [00:03<00:04, 1.98it/s]\n 56%|█████▋ | 9/16 [00:04<00:03, 1.97it/s]\n 62%|██████▎ | 10/16 [00:04<00:03, 1.98it/s]\n 69%|██████▉ | 11/16 [00:05<00:02, 1.96it/s]\n 75%|███████▌ | 12/16 [00:05<00:02, 1.97it/s]\n 81%|████████▏ | 13/16 [00:06<00:01, 1.95it/s]\n 88%|████████▊ | 14/16 [00:06<00:01, 1.96it/s]\n 94%|█████████▍| 15/16 [00:07<00:00, 1.95it/s]\n100%|██████████| 16/16 [00:07<00:00, 1.99it/s]\n100%|██████████| 16/16 [00:07<00:00, 2.01it/s]\nAll results are saved in results/tmps59qks8dbmx-trees2", "metrics": { "predict_time": 19.558862, "total_time": 19.556966 }, "output": [ "https://pbxt.replicate.delivery/3U1GE6YIAI7sP5V6FeFHSSXM4tFt1p43Ufh5ecCHfl2kwQ0GB/masked_in.mp4", "https://pbxt.replicate.delivery/eaH3jNUEYdyOcKue4767lY4I1epMHg1tYqg93ULng50VYIajA/inpaint_out.mp4" ], "started_at": "2023-10-11T12:11:34.969955Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/dcwua6tbmztk64ly52za6rt3bq", "cancel": "https://api.replicate.com/v1/predictions/dcwua6tbmztk64ly52za6rt3bq/cancel" }, "version": "b3e1ec853a25dbbd5178128139eb773612924c7f032c9919c20c254e6813a5ad" }
Generated inProcessing: tmps59qks8dbmx-trees2 [80 frames]... 0%| | 0/16 [00:00<?, ?it/s] 6%|▋ | 1/16 [00:00<00:04, 3.10it/s] 12%|█▎ | 2/16 [00:00<00:06, 2.33it/s] 19%|█▉ | 3/16 [00:01<00:06, 2.13it/s] 25%|██▌ | 4/16 [00:01<00:05, 2.08it/s] 31%|███▏ | 5/16 [00:02<00:05, 2.02it/s] 38%|███▊ | 6/16 [00:02<00:04, 2.01it/s] 44%|████▍ | 7/16 [00:03<00:04, 1.98it/s] 50%|█████ | 8/16 [00:03<00:04, 1.98it/s] 56%|█████▋ | 9/16 [00:04<00:03, 1.97it/s] 62%|██████▎ | 10/16 [00:04<00:03, 1.98it/s] 69%|██████▉ | 11/16 [00:05<00:02, 1.96it/s] 75%|███████▌ | 12/16 [00:05<00:02, 1.97it/s] 81%|████████▏ | 13/16 [00:06<00:01, 1.95it/s] 88%|████████▊ | 14/16 [00:06<00:01, 1.96it/s] 94%|█████████▍| 15/16 [00:07<00:00, 1.95it/s] 100%|██████████| 16/16 [00:07<00:00, 1.99it/s] 100%|██████████| 16/16 [00:07<00:00, 2.01it/s] All results are saved in results/tmps59qks8dbmx-trees2
Prediction
jd7h/propainter:e5ea7ae04e97c96a0e14c70d8e4cb899abdf326a377c01f1c10966ccd6c6bae4IDngolsvdb3zuiht5r3fnl3fndqaStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- fp16
- mask
- mode
- video_inpainting
- video
- width
- -1
- height
- -1
- scale_h
- 1
- scale_w
- 1
- save_fps
- 24
- raft_iter
- 20
- ref_stride
- 10
- resize_ratio
- 1
- mask_dilation
- 10
- neighbor_length
- 10
- subvideo_length
- 80
- return_input_video
{ "fp16": true, "mask": "https://replicate.delivery/pbxt/Jj2yYuywxjevSMrWnV1JfShA2FT39NTo3MOVxfBfd4IrfBRb/output.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/Jj2yZOkcimDkVyRwo8OSCwXYfbcgOGXCw9e3sH2h5JkIoGbZ/raccoon_short.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 10, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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 jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "jd7h/propainter:e5ea7ae04e97c96a0e14c70d8e4cb899abdf326a377c01f1c10966ccd6c6bae4", { input: { fp16: true, mask: "https://replicate.delivery/pbxt/Jj2yYuywxjevSMrWnV1JfShA2FT39NTo3MOVxfBfd4IrfBRb/output.mp4", mode: "video_inpainting", video: "https://replicate.delivery/pbxt/Jj2yZOkcimDkVyRwo8OSCwXYfbcgOGXCw9e3sH2h5JkIoGbZ/raccoon_short.mp4", width: -1, height: -1, scale_h: 1, scale_w: 1, save_fps: 24, raft_iter: 20, ref_stride: 10, resize_ratio: 1, mask_dilation: 10, neighbor_length: 10, subvideo_length: 80, return_input_video: true } } ); // 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.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run jd7h/propainter using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "jd7h/propainter:e5ea7ae04e97c96a0e14c70d8e4cb899abdf326a377c01f1c10966ccd6c6bae4", input={ "fp16": True, "mask": "https://replicate.delivery/pbxt/Jj2yYuywxjevSMrWnV1JfShA2FT39NTo3MOVxfBfd4IrfBRb/output.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/Jj2yZOkcimDkVyRwo8OSCwXYfbcgOGXCw9e3sH2h5JkIoGbZ/raccoon_short.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 10, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": True } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run jd7h/propainter 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": "e5ea7ae04e97c96a0e14c70d8e4cb899abdf326a377c01f1c10966ccd6c6bae4", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/Jj2yYuywxjevSMrWnV1JfShA2FT39NTo3MOVxfBfd4IrfBRb/output.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/Jj2yZOkcimDkVyRwo8OSCwXYfbcgOGXCw9e3sH2h5JkIoGbZ/raccoon_short.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 10, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": 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-19T08:01:01.648409Z", "created_at": "2023-10-19T08:00:00.053962Z", "data_removed": false, "error": null, "id": "ngolsvdb3zuiht5r3fnl3fndqa", "input": { "fp16": true, "mask": "https://replicate.delivery/pbxt/Jj2yYuywxjevSMrWnV1JfShA2FT39NTo3MOVxfBfd4IrfBRb/output.mp4", "mode": "video_inpainting", "video": "https://replicate.delivery/pbxt/Jj2yZOkcimDkVyRwo8OSCwXYfbcgOGXCw9e3sH2h5JkIoGbZ/raccoon_short.mp4", "width": -1, "height": -1, "scale_h": 1, "scale_w": 1, "save_fps": 24, "raft_iter": 20, "ref_stride": 10, "resize_ratio": 1, "mask_dilation": 10, "neighbor_length": 10, "subvideo_length": 80, "return_input_video": true }, "logs": "Processing video mask...\nProcessing: tmp9g6gq7weraccoon_short [152 frames]...\n 0%| | 0/31 [00:00<?, ?it/s]\n 3%|▎ | 1/31 [00:00<00:13, 2.25it/s]\n 6%|▋ | 2/31 [00:01<00:18, 1.56it/s]\n 10%|▉ | 3/31 [00:02<00:19, 1.41it/s]\n 13%|█▎ | 4/31 [00:02<00:19, 1.35it/s]\n 16%|█▌ | 5/31 [00:03<00:19, 1.31it/s]\n 19%|█▉ | 6/31 [00:04<00:19, 1.28it/s]\n 23%|██▎ | 7/31 [00:05<00:19, 1.23it/s]\n 26%|██▌ | 8/31 [00:06<00:19, 1.20it/s]\n 29%|██▉ | 9/31 [00:07<00:18, 1.19it/s]\n 32%|███▏ | 10/31 [00:07<00:17, 1.18it/s]\n 35%|███▌ | 11/31 [00:08<00:17, 1.18it/s]\n 39%|███▊ | 12/31 [00:09<00:16, 1.18it/s]\n 42%|████▏ | 13/31 [00:10<00:15, 1.17it/s]\n 45%|████▌ | 14/31 [00:11<00:14, 1.17it/s]\n 48%|████▊ | 15/31 [00:12<00:13, 1.17it/s]\n 52%|█████▏ | 16/31 [00:13<00:12, 1.17it/s]\n 55%|█████▍ | 17/31 [00:13<00:12, 1.17it/s]\n 58%|█████▊ | 18/31 [00:14<00:11, 1.16it/s]\n 61%|██████▏ | 19/31 [00:15<00:10, 1.16it/s]\n 65%|██████▍ | 20/31 [00:16<00:09, 1.16it/s]\n 68%|██████▊ | 21/31 [00:17<00:08, 1.16it/s]\n 71%|███████ | 22/31 [00:18<00:07, 1.16it/s]\n 74%|███████▍ | 23/31 [00:19<00:06, 1.16it/s]\n 77%|███████▋ | 24/31 [00:19<00:06, 1.15it/s]\n 81%|████████ | 25/31 [00:20<00:05, 1.15it/s]\n 84%|████████▍ | 26/31 [00:21<00:04, 1.16it/s]\n 87%|████████▋ | 27/31 [00:22<00:03, 1.17it/s]\n 90%|█████████ | 28/31 [00:23<00:02, 1.19it/s]\n 94%|█████████▎| 29/31 [00:24<00:01, 1.19it/s]\n 97%|█████████▋| 30/31 [00:24<00:00, 1.20it/s]\n100%|██████████| 31/31 [00:25<00:00, 1.34it/s]\n100%|██████████| 31/31 [00:25<00:00, 1.22it/s]\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 @ 0x5f90f40] 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 @ 0x674af40] Warning: data is not aligned! This can lead to a speed loss\nAll results are saved in results/tmp9g6gq7weraccoon_short", "metrics": { "predict_time": 61.615044, "total_time": 61.594447 }, "output": [ "https://pbxt.replicate.delivery/NpIAxItBE6LPHdftxZiazAxT1vRRYw7A43T0HgzXYAAeQpvRA/masked_in.mp4", "https://pbxt.replicate.delivery/n64R3WJgYuoXDJ54Yobwbrhh6WQOb75GfsV5FADzbW3eQpvRA/inpaint_out.mp4" ], "started_at": "2023-10-19T08:00:00.033365Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/ngolsvdb3zuiht5r3fnl3fndqa", "cancel": "https://api.replicate.com/v1/predictions/ngolsvdb3zuiht5r3fnl3fndqa/cancel" }, "version": "e5ea7ae04e97c96a0e14c70d8e4cb899abdf326a377c01f1c10966ccd6c6bae4" }
Generated inProcessing video mask... Processing: tmp9g6gq7weraccoon_short [152 frames]... 0%| | 0/31 [00:00<?, ?it/s] 3%|▎ | 1/31 [00:00<00:13, 2.25it/s] 6%|▋ | 2/31 [00:01<00:18, 1.56it/s] 10%|▉ | 3/31 [00:02<00:19, 1.41it/s] 13%|█▎ | 4/31 [00:02<00:19, 1.35it/s] 16%|█▌ | 5/31 [00:03<00:19, 1.31it/s] 19%|█▉ | 6/31 [00:04<00:19, 1.28it/s] 23%|██▎ | 7/31 [00:05<00:19, 1.23it/s] 26%|██▌ | 8/31 [00:06<00:19, 1.20it/s] 29%|██▉ | 9/31 [00:07<00:18, 1.19it/s] 32%|███▏ | 10/31 [00:07<00:17, 1.18it/s] 35%|███▌ | 11/31 [00:08<00:17, 1.18it/s] 39%|███▊ | 12/31 [00:09<00:16, 1.18it/s] 42%|████▏ | 13/31 [00:10<00:15, 1.17it/s] 45%|████▌ | 14/31 [00:11<00:14, 1.17it/s] 48%|████▊ | 15/31 [00:12<00:13, 1.17it/s] 52%|█████▏ | 16/31 [00:13<00:12, 1.17it/s] 55%|█████▍ | 17/31 [00:13<00:12, 1.17it/s] 58%|█████▊ | 18/31 [00:14<00:11, 1.16it/s] 61%|██████▏ | 19/31 [00:15<00:10, 1.16it/s] 65%|██████▍ | 20/31 [00:16<00:09, 1.16it/s] 68%|██████▊ | 21/31 [00:17<00:08, 1.16it/s] 71%|███████ | 22/31 [00:18<00:07, 1.16it/s] 74%|███████▍ | 23/31 [00:19<00:06, 1.16it/s] 77%|███████▋ | 24/31 [00:19<00:06, 1.15it/s] 81%|████████ | 25/31 [00:20<00:05, 1.15it/s] 84%|████████▍ | 26/31 [00:21<00:04, 1.16it/s] 87%|████████▋ | 27/31 [00:22<00:03, 1.17it/s] 90%|█████████ | 28/31 [00:23<00:02, 1.19it/s] 94%|█████████▎| 29/31 [00:24<00:01, 1.19it/s] 97%|█████████▋| 30/31 [00:24<00:00, 1.20it/s] 100%|██████████| 31/31 [00:25<00:00, 1.34it/s] 100%|██████████| 31/31 [00:25<00:00, 1.22it/s] 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 @ 0x5f90f40] 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 @ 0x674af40] Warning: data is not aligned! This can lead to a speed loss All results are saved in results/tmp9g6gq7weraccoon_short
Want to make some of these yourself?
Run this model