Prediction
paullux/framepack-runner:2066ad45df0ec8d3041aa40fb18f4f14ae55154dfc85af90b41dc91c705108d8ID
edz7ebpxwsrj60cpqb78masakc
Status
Succeeded
Source
Web
Hardware
A100 (80GB)
Total duration
Created
Input
- fps
- 24
- seed
- 32
- steps
- 25
- prompt
- The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.
- duration_seconds
- 10
{
"fps": 24,
"seed": 32,
"image": "https://replicate.delivery/pbxt/Mz7xgzsZehgTVeljmOTg6lfmuFRIGAfxkLOOcg6z6MwdhBfF/FaceSwap_ChatGPT%20Image%2010%20mai%202025%2C%2017_21_33.png",
"steps": 25,
"prompt": "The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.",
"duration_seconds": 10
}
Install Replicate’s Node.js client library:
npm install replicate
Set the
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
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 paullux/framepack-runner using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run(
"paullux/framepack-runner:2066ad45df0ec8d3041aa40fb18f4f14ae55154dfc85af90b41dc91c705108d8",
{
input: {
fps: 24,
seed: 32,
image: "https://replicate.delivery/pbxt/Mz7xgzsZehgTVeljmOTg6lfmuFRIGAfxkLOOcg6z6MwdhBfF/FaceSwap_ChatGPT%20Image%2010%20mai%202025%2C%2017_21_33.png",
steps: 25,
prompt: "The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.",
duration_seconds: 10
}
}
);
// 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
Set the
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import the client:
import replicate
Run paullux/framepack-runner using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run(
"paullux/framepack-runner:2066ad45df0ec8d3041aa40fb18f4f14ae55154dfc85af90b41dc91c705108d8",
input={
"fps": 24,
"seed": 32,
"image": "https://replicate.delivery/pbxt/Mz7xgzsZehgTVeljmOTg6lfmuFRIGAfxkLOOcg6z6MwdhBfF/FaceSwap_ChatGPT%20Image%2010%20mai%202025%2C%2017_21_33.png",
"steps": 25,
"prompt": "The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.",
"duration_seconds": 10
}
)
print(output)
To learn more, take a look at the guide on getting started with Python.
Set the
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run paullux/framepack-runner 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": "paullux/framepack-runner:2066ad45df0ec8d3041aa40fb18f4f14ae55154dfc85af90b41dc91c705108d8",
"input": {
"fps": 24,
"seed": 32,
"image": "https://replicate.delivery/pbxt/Mz7xgzsZehgTVeljmOTg6lfmuFRIGAfxkLOOcg6z6MwdhBfF/FaceSwap_ChatGPT%20Image%2010%20mai%202025%2C%2017_21_33.png",
"steps": 25,
"prompt": "The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.",
"duration_seconds": 10
}
}' \
https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{
"completed_at": "2025-05-10T15:55:32.386758Z",
"created_at": "2025-05-10T15:27:21.574000Z",
"data_removed": false,
"error": null,
"id": "edz7ebpxwsrj60cpqb78masakc",
"input": {
"fps": 24,
"seed": 32,
"image": "https://replicate.delivery/pbxt/Mz7xgzsZehgTVeljmOTg6lfmuFRIGAfxkLOOcg6z6MwdhBfF/FaceSwap_ChatGPT%20Image%2010%20mai%202025%2C%2017_21_33.png",
"steps": 25,
"prompt": "The woman standing calmly in front of vibrant Basquiat-style paintings slowly comes to life. She blinks gently, slightly tilts her head, and offers a warm, subtle smile. Her scarf moves faintly as if touched by a soft breeze. The paintings behind her stay still, like a quiet gallery moment, while her presence feels alive and serene.",
"duration_seconds": 10
},
"logs": "📸 Chargement de l’image depuis /tmp/tmpkhks71ehFaceSwap_ChatGPT Image 10 mai 2025, 17_21_33.png\n🧠 Encodage CLIP Vision...\n🧠 Encodage VAE...\n🧠 Encodage du prompt...\n🎞️ Sampling...\n 0%| | 0/25 [00:00<?, ?it/s]\n 4%|▍ | 1/25 [00:43<17:17, 43.22s/it]\n 8%|▊ | 2/25 [01:13<13:40, 35.69s/it]\n 12%|█▏ | 3/25 [01:56<14:22, 39.19s/it]\n 16%|█▌ | 4/25 [02:40<14:17, 40.83s/it]\n 20%|██ | 5/25 [03:23<13:54, 41.73s/it]\n 24%|██▍ | 6/25 [04:07<13:23, 42.28s/it]\n 28%|██▊ | 7/25 [04:50<12:47, 42.62s/it]\n 32%|███▏ | 8/25 [05:33<12:08, 42.84s/it]\n 36%|███▌ | 9/25 [06:16<11:27, 42.99s/it]\n 40%|████ | 10/25 [07:00<10:46, 43.08s/it]\n 44%|████▍ | 11/25 [07:43<10:04, 43.15s/it]\n 48%|████▊ | 12/25 [08:26<09:21, 43.19s/it]\n 52%|█████▏ | 13/25 [09:10<08:38, 43.23s/it]\n 56%|█████▌ | 14/25 [09:53<07:55, 43.25s/it]\n 60%|██████ | 15/25 [10:36<07:12, 43.26s/it]\n 64%|██████▍ | 16/25 [11:20<06:29, 43.27s/it]\n 68%|██████▊ | 17/25 [12:03<05:46, 43.28s/it]\n 72%|███████▏ | 18/25 [12:46<05:02, 43.28s/it]\n 76%|███████▌ | 19/25 [13:29<04:19, 43.28s/it]\n 80%|████████ | 20/25 [14:13<03:36, 43.28s/it]\n 84%|████████▍ | 21/25 [14:56<02:53, 43.28s/it]\n 88%|████████▊ | 22/25 [15:39<02:09, 43.27s/it]\n 92%|█████████▏| 23/25 [16:22<01:26, 43.27s/it]\n 96%|█████████▌| 24/25 [17:06<00:43, 43.27s/it]\n100%|██████████| 25/25 [17:49<00:00, 43.26s/it]\n100%|██████████| 25/25 [17:49<00:00, 42.78s/it]\n🖼️ Décodage final...\n🎬 Vidéo enregistrée à /tmp/tmpy81dj2_q.mp4",
"metrics": {
"predict_time": 1130.785385205,
"total_time": 1690.812758
},
"output": "https://replicate.delivery/yhqm/byGHP0hiO1p8PlghJf9ZEhCoEu0TOf6mk7yToiw7TeopHlWpA/tmpy81dj2_q.mp4",
"started_at": "2025-05-10T15:36:41.601373Z",
"status": "succeeded",
"urls": {
"stream": "https://stream.replicate.com/v1/files/qoxq-7xlkip6by6tz6rdxf73qy4fnlplam2xehtifg7kcrvebaxlwzz3a",
"get": "https://api.replicate.com/v1/predictions/edz7ebpxwsrj60cpqb78masakc",
"cancel": "https://api.replicate.com/v1/predictions/edz7ebpxwsrj60cpqb78masakc/cancel"
},
"version": "2066ad45df0ec8d3041aa40fb18f4f14ae55154dfc85af90b41dc91c705108d8"
}
Generated in
📸 Chargement de l’image depuis /tmp/tmpkhks71ehFaceSwap_ChatGPT Image 10 mai 2025, 17_21_33.png
🧠 Encodage CLIP Vision...
🧠 Encodage VAE...
🧠 Encodage du prompt...
🎞️ Sampling...
0%| | 0/25 [00:00<?, ?it/s]
4%|▍ | 1/25 [00:43<17:17, 43.22s/it]
8%|▊ | 2/25 [01:13<13:40, 35.69s/it]
12%|█▏ | 3/25 [01:56<14:22, 39.19s/it]
16%|█▌ | 4/25 [02:40<14:17, 40.83s/it]
20%|██ | 5/25 [03:23<13:54, 41.73s/it]
24%|██▍ | 6/25 [04:07<13:23, 42.28s/it]
28%|██▊ | 7/25 [04:50<12:47, 42.62s/it]
32%|███▏ | 8/25 [05:33<12:08, 42.84s/it]
36%|███▌ | 9/25 [06:16<11:27, 42.99s/it]
40%|████ | 10/25 [07:00<10:46, 43.08s/it]
44%|████▍ | 11/25 [07:43<10:04, 43.15s/it]
48%|████▊ | 12/25 [08:26<09:21, 43.19s/it]
52%|█████▏ | 13/25 [09:10<08:38, 43.23s/it]
56%|█████▌ | 14/25 [09:53<07:55, 43.25s/it]
60%|██████ | 15/25 [10:36<07:12, 43.26s/it]
64%|██████▍ | 16/25 [11:20<06:29, 43.27s/it]
68%|██████▊ | 17/25 [12:03<05:46, 43.28s/it]
72%|███████▏ | 18/25 [12:46<05:02, 43.28s/it]
76%|███████▌ | 19/25 [13:29<04:19, 43.28s/it]
80%|████████ | 20/25 [14:13<03:36, 43.28s/it]
84%|████████▍ | 21/25 [14:56<02:53, 43.28s/it]
88%|████████▊ | 22/25 [15:39<02:09, 43.27s/it]
92%|█████████▏| 23/25 [16:22<01:26, 43.27s/it]
96%|█████████▌| 24/25 [17:06<00:43, 43.27s/it]
100%|██████████| 25/25 [17:49<00:00, 43.26s/it]
100%|██████████| 25/25 [17:49<00:00, 42.78s/it]
🖼️ Décodage final...
🎬 Vidéo enregistrée à /tmp/tmpy81dj2_q.mp4