Implementation of tencent-ailab/IP-Adapter with ip-adapter-plus-face_sd15
Input face image
Model
Default: "realistic"
Prompt
Default: "photo of a beautiful girl wearing casual shirt in a garden"
Negative Prompt
Default: "(deformed), text"
Number of images to output.
Default: 1
Number of denoising steps
Default: 50
Random seed. Leave blank to randomize the seed
Image width
Default: 512
Image height
Default: 704
Run this model in Node.js with one line of code:
npm install replicate
REPLICATE_API_TOKEN
export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run juanfranem/ip-adapter-full-face using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "juanfranem/ip-adapter-full-face:18fd619984b344195d4f9f45a849ecc514475ec7e07f8966b0dc679676cc4960", { input: { image: "https://replicate.delivery/pbxt/LgUjhXQTCzFMriy3nojzfOTw47qbfGl6YXId51Mx6Omoj7yH/input.jpg", model: "realistic", width: 512, height: 704, prompt: "a girl who looks like unmasked spiderman in a big city", num_outputs: 1, negative_prompt: "simple background, duplicate, retro style, low quality, lowest quality, 1980s, 1990s, 2000s, 2005 2006 2007 2008 2009 2010 2011 2012 2013, bad anatomy, bad proportions, extra digits, lowres, username, artist name, error, duplicate, watermark, signature, text, extra digit, fewer digits, worst quality, jpeg artifacts, blurry", num_inference_steps: 50 } } ); // To access the file URL: console.log(output[0].url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output[0]);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
import replicate
output = replicate.run( "juanfranem/ip-adapter-full-face:18fd619984b344195d4f9f45a849ecc514475ec7e07f8966b0dc679676cc4960", input={ "image": "https://replicate.delivery/pbxt/LgUjhXQTCzFMriy3nojzfOTw47qbfGl6YXId51Mx6Omoj7yH/input.jpg", "model": "realistic", "width": 512, "height": 704, "prompt": "a girl who looks like unmasked spiderman in a big city", "num_outputs": 1, "negative_prompt": "simple background, duplicate, retro style, low quality, lowest quality, 1980s, 1990s, 2000s, 2005 2006 2007 2008 2009 2010 2011 2012 2013, bad anatomy, bad proportions, extra digits, lowres, username, artist name, error, duplicate, watermark, signature, text, extra digit, fewer digits, worst quality, jpeg artifacts, blurry", "num_inference_steps": 50 } ) # To access the file URL: print(output[0].url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output[0].read())
To learn more, take a look at the guide on getting started with Python.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "juanfranem/ip-adapter-full-face:18fd619984b344195d4f9f45a849ecc514475ec7e07f8966b0dc679676cc4960", "input": { "image": "https://replicate.delivery/pbxt/LgUjhXQTCzFMriy3nojzfOTw47qbfGl6YXId51Mx6Omoj7yH/input.jpg", "model": "realistic", "width": 512, "height": 704, "prompt": "a girl who looks like unmasked spiderman in a big city", "num_outputs": 1, "negative_prompt": "simple background, duplicate, retro style, low quality, lowest quality, 1980s, 1990s, 2000s, 2005 2006 2007 2008 2009 2010 2011 2012 2013, bad anatomy, bad proportions, extra digits, lowres, username, artist name, error, duplicate, watermark, signature, text, extra digit, fewer digits, worst quality, jpeg artifacts, blurry", "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
{ "completed_at": "2024-09-25T11:36:42.383352Z", "created_at": "2024-09-25T11:33:43.770000Z", "data_removed": false, "error": null, "id": "fksmvkk4v9rgg0cj53ttj44dh0", "input": { "image": "https://replicate.delivery/pbxt/LgUjhXQTCzFMriy3nojzfOTw47qbfGl6YXId51Mx6Omoj7yH/input.jpg", "model": "realistic", "width": 512, "height": 704, "prompt": "a girl who looks like unmasked spiderman in a big city", "num_outputs": 1, "negative_prompt": "simple background, duplicate, retro style, low quality, lowest quality, 1980s, 1990s, 2000s, 2005 2006 2007 2008 2009 2010 2011 2012 2013, bad anatomy, bad proportions, extra digits, lowres, username, artist name, error, duplicate, watermark, signature, text, extra digit, fewer digits, worst quality, jpeg artifacts, blurry", "num_inference_steps": 50 }, "logs": "Using seed: 50684\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:00<00:07, 6.36it/s]\n 6%|▌ | 3/50 [00:00<00:03, 12.19it/s]\n 10%|█ | 5/50 [00:00<00:03, 14.58it/s]\n 14%|█▍ | 7/50 [00:00<00:02, 15.82it/s]\n 18%|█▊ | 9/50 [00:00<00:02, 16.55it/s]\n 22%|██▏ | 11/50 [00:00<00:02, 17.00it/s]\n 26%|██▌ | 13/50 [00:00<00:02, 17.29it/s]\n 30%|███ | 15/50 [00:00<00:02, 17.44it/s]\n 34%|███▍ | 17/50 [00:01<00:01, 17.57it/s]\n 38%|███▊ | 19/50 [00:01<00:01, 17.61it/s]\n 42%|████▏ | 21/50 [00:01<00:01, 17.62it/s]\n 46%|████▌ | 23/50 [00:01<00:01, 17.67it/s]\n 50%|█████ | 25/50 [00:01<00:01, 17.69it/s]\n 54%|█████▍ | 27/50 [00:01<00:01, 17.71it/s]\n 58%|█████▊ | 29/50 [00:01<00:01, 17.73it/s]\n 62%|██████▏ | 31/50 [00:01<00:01, 17.73it/s]\n 66%|██████▌ | 33/50 [00:01<00:00, 17.74it/s]\n 70%|███████ | 35/50 [00:02<00:00, 17.73it/s]\n 74%|███████▍ | 37/50 [00:02<00:00, 17.71it/s]\n 78%|███████▊ | 39/50 [00:02<00:00, 17.72it/s]\n 82%|████████▏ | 41/50 [00:02<00:00, 17.73it/s]\n 86%|████████▌ | 43/50 [00:02<00:00, 17.73it/s]\n 90%|█████████ | 45/50 [00:02<00:00, 17.75it/s]\n 94%|█████████▍| 47/50 [00:02<00:00, 17.74it/s]\n 98%|█████████▊| 49/50 [00:02<00:00, 17.75it/s]\n100%|██████████| 50/50 [00:02<00:00, 17.17it/s]", "metrics": { "predict_time": 8.863272431, "total_time": 178.613352 }, "output": [ "https://replicate.delivery/pbxt/3JBMfWo8zei49006xsKzCBfKsX4Z2S5YqeuHfTZsldEO5TDcC/out-0.png" ], "started_at": "2024-09-25T11:36:33.520080Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/fksmvkk4v9rgg0cj53ttj44dh0", "cancel": "https://api.replicate.com/v1/predictions/fksmvkk4v9rgg0cj53ttj44dh0/cancel" }, "version": "18fd619984b344195d4f9f45a849ecc514475ec7e07f8966b0dc679676cc4960" }
Using seed: 50684 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:00<00:07, 6.36it/s] 6%|▌ | 3/50 [00:00<00:03, 12.19it/s] 10%|█ | 5/50 [00:00<00:03, 14.58it/s] 14%|█▍ | 7/50 [00:00<00:02, 15.82it/s] 18%|█▊ | 9/50 [00:00<00:02, 16.55it/s] 22%|██▏ | 11/50 [00:00<00:02, 17.00it/s] 26%|██▌ | 13/50 [00:00<00:02, 17.29it/s] 30%|███ | 15/50 [00:00<00:02, 17.44it/s] 34%|███▍ | 17/50 [00:01<00:01, 17.57it/s] 38%|███▊ | 19/50 [00:01<00:01, 17.61it/s] 42%|████▏ | 21/50 [00:01<00:01, 17.62it/s] 46%|████▌ | 23/50 [00:01<00:01, 17.67it/s] 50%|█████ | 25/50 [00:01<00:01, 17.69it/s] 54%|█████▍ | 27/50 [00:01<00:01, 17.71it/s] 58%|█████▊ | 29/50 [00:01<00:01, 17.73it/s] 62%|██████▏ | 31/50 [00:01<00:01, 17.73it/s] 66%|██████▌ | 33/50 [00:01<00:00, 17.74it/s] 70%|███████ | 35/50 [00:02<00:00, 17.73it/s] 74%|███████▍ | 37/50 [00:02<00:00, 17.71it/s] 78%|███████▊ | 39/50 [00:02<00:00, 17.72it/s] 82%|████████▏ | 41/50 [00:02<00:00, 17.73it/s] 86%|████████▌ | 43/50 [00:02<00:00, 17.73it/s] 90%|█████████ | 45/50 [00:02<00:00, 17.75it/s] 94%|█████████▍| 47/50 [00:02<00:00, 17.74it/s] 98%|█████████▊| 49/50 [00:02<00:00, 17.75it/s] 100%|██████████| 50/50 [00:02<00:00, 17.17it/s]
View more examples
This model runs on Nvidia L40S GPU hardware. We don't yet have enough runs of this model to provide performance information.
This model doesn't have a readme.
This model is not yet booted but ready for API calls. Your first API call will boot the model and may take longer, but after that subsequent responses will be fast.
This model runs on L40S hardware which costs $0.000975 per second
Choose a file from your machine
Hint: you can also drag files onto the input