Prediction
e1100x/openpose:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727faID3n6z1ex6m9rgm0cjq6z9r5x74cStatusSucceededSourceWebHardwareA40Total durationCreatedInput
- video
{ "video": "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run e1100x/openpose using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "e1100x/openpose:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa", { input: { video: "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", 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 e1100x/openpose using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "e1100x/openpose:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa", input={ "video": "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run e1100x/openpose 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": "e1100x/openpose:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa", "input": { "video": "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/e1100x/openpose@sha256:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa \ -i 'video="https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4"'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/e1100x/openpose@sha256:77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "video": "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-10-23T14:20:04.370602Z", "created_at": "2024-10-23T14:18:52.450000Z", "data_removed": false, "error": null, "id": "3n6z1ex6m9rgm0cjq6z9r5x74c", "input": { "video": "https://replicate.delivery/pbxt/LqTSpOFlt6fvm1J35zg32giP24IxmfwfMQ9GhRUPSluN6tHT/sample_fb_2.mp4" }, "logs": "video rate is OK\nMoviepy - Building video video_resized.mp4.\nMoviepy - Writing video video_resized.mp4\nt: 0%| | 0/84 [00:00<?, ?it/s, now=None]\nt: 50%|█████ | 42/84 [00:00<00:00, 419.33it/s, now=None]\nt: 100%|██████████| 84/84 [00:00<00:00, 317.36it/s, now=None]\nMoviepy - Done !\nMoviepy - video ready video_resized.mp4\nvideo resized to 512 height\nvideo fps: 30.0\nbroke the video into frames\nvideo is shorter than the cut value\nset stop frames to: 84\nframe /tmp/kang0.jpg/84: done;\nframe /tmp/kang1.jpg/84: done;\nframe /tmp/kang2.jpg/84: done;\nframe /tmp/kang3.jpg/84: done;\nframe /tmp/kang4.jpg/84: done;\nframe /tmp/kang5.jpg/84: done;\nframe /tmp/kang6.jpg/84: done;\nframe /tmp/kang7.jpg/84: done;\nframe /tmp/kang8.jpg/84: done;\nframe /tmp/kang9.jpg/84: done;\nframe /tmp/kang10.jpg/84: done;\nframe /tmp/kang11.jpg/84: done;\nframe /tmp/kang12.jpg/84: done;\nframe /tmp/kang13.jpg/84: done;\nframe /tmp/kang14.jpg/84: done;\nframe /tmp/kang15.jpg/84: done;\nframe /tmp/kang16.jpg/84: done;\nframe /tmp/kang17.jpg/84: done;\nframe /tmp/kang18.jpg/84: done;\nframe /tmp/kang19.jpg/84: done;\nframe /tmp/kang20.jpg/84: done;\nframe /tmp/kang21.jpg/84: done;\nframe /tmp/kang22.jpg/84: done;\nframe /tmp/kang23.jpg/84: done;\nframe /tmp/kang24.jpg/84: done;\nframe /tmp/kang25.jpg/84: done;\nframe /tmp/kang26.jpg/84: done;\nframe /tmp/kang27.jpg/84: done;\nframe /tmp/kang28.jpg/84: done;\nframe /tmp/kang29.jpg/84: done;\nframe /tmp/kang30.jpg/84: done;\nframe /tmp/kang31.jpg/84: done;\nframe /tmp/kang32.jpg/84: done;\nframe /tmp/kang33.jpg/84: done;\nframe /tmp/kang34.jpg/84: done;\nframe /tmp/kang35.jpg/84: done;\nframe /tmp/kang36.jpg/84: done;\nframe /tmp/kang37.jpg/84: done;\nframe /tmp/kang38.jpg/84: done;\nframe /tmp/kang39.jpg/84: done;\nframe /tmp/kang40.jpg/84: done;\nframe /tmp/kang41.jpg/84: done;\nframe /tmp/kang42.jpg/84: done;\nframe /tmp/kang43.jpg/84: done;\nframe /tmp/kang44.jpg/84: done;\nframe /tmp/kang45.jpg/84: done;\nframe /tmp/kang46.jpg/84: done;\nframe /tmp/kang47.jpg/84: done;\nframe /tmp/kang48.jpg/84: done;\nframe /tmp/kang49.jpg/84: done;\nframe /tmp/kang50.jpg/84: done;\nframe /tmp/kang51.jpg/84: done;\nframe /tmp/kang52.jpg/84: done;\nframe /tmp/kang53.jpg/84: done;\nframe /tmp/kang54.jpg/84: done;\nframe /tmp/kang55.jpg/84: done;\nframe /tmp/kang56.jpg/84: done;\nframe /tmp/kang57.jpg/84: done;\nframe /tmp/kang58.jpg/84: done;\nframe /tmp/kang59.jpg/84: done;\nframe /tmp/kang60.jpg/84: done;\nframe /tmp/kang61.jpg/84: done;\nframe /tmp/kang62.jpg/84: done;\nframe /tmp/kang63.jpg/84: done;\nframe /tmp/kang64.jpg/84: done;\nframe /tmp/kang65.jpg/84: done;\nframe /tmp/kang66.jpg/84: done;\nframe /tmp/kang67.jpg/84: done;\nframe /tmp/kang68.jpg/84: done;\nframe /tmp/kang69.jpg/84: done;\nframe /tmp/kang70.jpg/84: done;\nframe /tmp/kang71.jpg/84: done;\nframe /tmp/kang72.jpg/84: done;\nframe /tmp/kang73.jpg/84: done;\nframe /tmp/kang74.jpg/84: done;\nframe /tmp/kang75.jpg/84: done;\nframe /tmp/kang76.jpg/84: done;\nframe /tmp/kang77.jpg/84: done;\nframe /tmp/kang78.jpg/84: done;\nframe /tmp/kang79.jpg/84: done;\nframe /tmp/kang80.jpg/84: done;\nframe /tmp/kang81.jpg/84: done;\nframe /tmp/kang82.jpg/84: done;\nframe /tmp/kang83.jpg/84: done;\nbuilding video result\nMoviepy - Building video /tmp/openpose_result.mp4.\nMoviepy - Writing video /tmp/openpose_result.mp4\nt: 0%| | 0/84 [00:00<?, ?it/s, now=None]\nt: 49%|████▉ | 41/84 [00:00<00:00, 403.70it/s, now=None]\nt: 98%|█████████▊| 82/84 [00:00<00:00, 254.30it/s, now=None]\n \nMoviepy - Done !\nMoviepy - video ready /tmp/openpose_result.mp4\noutput video: /tmp/openpose_result.mp4", "metrics": { "predict_time": 71.821944506, "total_time": 71.920602 }, "output": "https://replicate.delivery/pbxt/mTBM9yasFx77MJKZeNiuDbWWIeVOh5xlXPjqlX5rlftmAXTnA/openpose_result.mp4", "started_at": "2024-10-23T14:18:52.548657Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/3n6z1ex6m9rgm0cjq6z9r5x74c", "cancel": "https://api.replicate.com/v1/predictions/3n6z1ex6m9rgm0cjq6z9r5x74c/cancel" }, "version": "77f258121243cba9f76ae968fe0ab3f89bd653a09482f41b4b1d46d08ed727fa" }
Generated invideo rate is OK Moviepy - Building video video_resized.mp4. Moviepy - Writing video video_resized.mp4 t: 0%| | 0/84 [00:00<?, ?it/s, now=None] t: 50%|█████ | 42/84 [00:00<00:00, 419.33it/s, now=None] t: 100%|██████████| 84/84 [00:00<00:00, 317.36it/s, now=None] Moviepy - Done ! Moviepy - video ready video_resized.mp4 video resized to 512 height video fps: 30.0 broke the video into frames video is shorter than the cut value set stop frames to: 84 frame /tmp/kang0.jpg/84: done; frame /tmp/kang1.jpg/84: done; frame /tmp/kang2.jpg/84: done; frame /tmp/kang3.jpg/84: done; frame /tmp/kang4.jpg/84: done; frame /tmp/kang5.jpg/84: done; frame /tmp/kang6.jpg/84: done; frame /tmp/kang7.jpg/84: done; frame /tmp/kang8.jpg/84: done; frame /tmp/kang9.jpg/84: done; frame /tmp/kang10.jpg/84: done; frame /tmp/kang11.jpg/84: done; frame /tmp/kang12.jpg/84: done; frame /tmp/kang13.jpg/84: done; frame /tmp/kang14.jpg/84: done; frame /tmp/kang15.jpg/84: done; frame /tmp/kang16.jpg/84: done; frame /tmp/kang17.jpg/84: done; frame /tmp/kang18.jpg/84: done; frame /tmp/kang19.jpg/84: done; frame /tmp/kang20.jpg/84: done; frame /tmp/kang21.jpg/84: done; frame /tmp/kang22.jpg/84: done; frame /tmp/kang23.jpg/84: done; frame /tmp/kang24.jpg/84: done; frame /tmp/kang25.jpg/84: done; frame /tmp/kang26.jpg/84: done; frame /tmp/kang27.jpg/84: done; frame /tmp/kang28.jpg/84: done; frame /tmp/kang29.jpg/84: done; frame /tmp/kang30.jpg/84: done; frame /tmp/kang31.jpg/84: done; frame /tmp/kang32.jpg/84: done; frame /tmp/kang33.jpg/84: done; frame /tmp/kang34.jpg/84: done; frame /tmp/kang35.jpg/84: done; frame /tmp/kang36.jpg/84: done; frame /tmp/kang37.jpg/84: done; frame /tmp/kang38.jpg/84: done; frame /tmp/kang39.jpg/84: done; frame /tmp/kang40.jpg/84: done; frame /tmp/kang41.jpg/84: done; frame /tmp/kang42.jpg/84: done; frame /tmp/kang43.jpg/84: done; frame /tmp/kang44.jpg/84: done; frame /tmp/kang45.jpg/84: done; frame /tmp/kang46.jpg/84: done; frame /tmp/kang47.jpg/84: done; frame /tmp/kang48.jpg/84: done; frame /tmp/kang49.jpg/84: done; frame /tmp/kang50.jpg/84: done; frame /tmp/kang51.jpg/84: done; frame /tmp/kang52.jpg/84: done; frame /tmp/kang53.jpg/84: done; frame /tmp/kang54.jpg/84: done; frame /tmp/kang55.jpg/84: done; frame /tmp/kang56.jpg/84: done; frame /tmp/kang57.jpg/84: done; frame /tmp/kang58.jpg/84: done; frame /tmp/kang59.jpg/84: done; frame /tmp/kang60.jpg/84: done; frame /tmp/kang61.jpg/84: done; frame /tmp/kang62.jpg/84: done; frame /tmp/kang63.jpg/84: done; frame /tmp/kang64.jpg/84: done; frame /tmp/kang65.jpg/84: done; frame /tmp/kang66.jpg/84: done; frame /tmp/kang67.jpg/84: done; frame /tmp/kang68.jpg/84: done; frame /tmp/kang69.jpg/84: done; frame /tmp/kang70.jpg/84: done; frame /tmp/kang71.jpg/84: done; frame /tmp/kang72.jpg/84: done; frame /tmp/kang73.jpg/84: done; frame /tmp/kang74.jpg/84: done; frame /tmp/kang75.jpg/84: done; frame /tmp/kang76.jpg/84: done; frame /tmp/kang77.jpg/84: done; frame /tmp/kang78.jpg/84: done; frame /tmp/kang79.jpg/84: done; frame /tmp/kang80.jpg/84: done; frame /tmp/kang81.jpg/84: done; frame /tmp/kang82.jpg/84: done; frame /tmp/kang83.jpg/84: done; building video result Moviepy - Building video /tmp/openpose_result.mp4. Moviepy - Writing video /tmp/openpose_result.mp4 t: 0%| | 0/84 [00:00<?, ?it/s, now=None] t: 49%|████▉ | 41/84 [00:00<00:00, 403.70it/s, now=None] t: 98%|█████████▊| 82/84 [00:00<00:00, 254.30it/s, now=None] Moviepy - Done ! Moviepy - video ready /tmp/openpose_result.mp4 output video: /tmp/openpose_result.mp4
Want to make some of these yourself?
Run this model