iordcalin
/
material-transfer
Transfer a material from an image to a subject
Prediction
iordcalin/material-transfer:2f640c88IDgrve9et18drgj0cf6jws1h7gerStatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- steps
- 12
- prompt
- stone sculpture, lava
- max_width
- 1920
- max_height
- 1920
- output_format
- webp
- guidance_scale
- 2
- output_quality
- 80
- negative_prompt
- hair
- material_strength
- medium
- return_intermediate_images
{ "steps": 12, "prompt": "stone sculpture, lava", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN31nhKDQaptRlVx3KPeBZNTJLgRVucfitwWhTScFEQ4IuA/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN31hxUxRUgIGgX2L0YMXblKlh5omIIW3L1rxQydEVEU5lf/8J8vDdmH.png", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false }
npm install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import and set up the clientimport Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", { input: { steps: 12, prompt: "stone sculpture, lava", max_width: 1920, max_height: 1920, output_format: "webp", subject_image: "https://replicate.delivery/pbxt/KqN31nhKDQaptRlVx3KPeBZNTJLgRVucfitwWhTScFEQ4IuA/0_3.webp", guidance_scale: 2, material_image: "https://replicate.delivery/pbxt/KqN31hxUxRUgIGgX2L0YMXblKlh5omIIW3L1rxQydEVEU5lf/8J8vDdmH.png", output_quality: 80, negative_prompt: "hair", material_strength: "medium", return_intermediate_images: false } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import the clientimport replicate
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", input={ "steps": 12, "prompt": "stone sculpture, lava", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN31nhKDQaptRlVx3KPeBZNTJLgRVucfitwWhTScFEQ4IuA/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN31hxUxRUgIGgX2L0YMXblKlh5omIIW3L1rxQydEVEU5lf/8J8vDdmH.png", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": False } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run iordcalin/material-transfer 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": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", "input": { "steps": 12, "prompt": "stone sculpture, lava", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN31nhKDQaptRlVx3KPeBZNTJLgRVucfitwWhTScFEQ4IuA/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN31hxUxRUgIGgX2L0YMXblKlh5omIIW3L1rxQydEVEU5lf/8J8vDdmH.png", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2024-05-01T15:15:16.647086Z", "created_at": "2024-05-01T15:15:07.203000Z", "data_removed": false, "error": null, "id": "grve9et18drgj0cf6jws1h7ger", "input": { "steps": 12, "prompt": "stone sculpture, lava", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN31nhKDQaptRlVx3KPeBZNTJLgRVucfitwWhTScFEQ4IuA/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN31hxUxRUgIGgX2L0YMXblKlh5omIIW3L1rxQydEVEU5lf/8J8vDdmH.png", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false }, "logs": "Random seed set to: 2831156950\nChecking inputs\n✅ /tmp/inputs/subject.png\n✅ /tmp/inputs/material.png\n====================================\nChecking weights\nIncluding weights for IPAdapter preset: STANDARD (medium strength)\n✅ depth_anything_vits14.pth\n✅ sk_model.pth\n✅ juggernautXL_juggernautX.safetensors\n✅ depth_anything_vitl14.pth\n✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors\n✅ ip-adapter_sdxl_vit-h.safetensors\n✅ ip-adapter_sd15.safetensors\n✅ t2i-adapter_diffusers_xl_lineart.safetensors\n✅ depth_anything_vitb14.pth\n✅ t2i-adapter_diffusers_xl_depth_midas.safetensors\n✅ sk_model2.pth\n====================================\nRunning workflow\ngot prompt\nExecuting node 10, title: KSampler (Efficient), class type: KSampler (Efficient)\n 0%| | 0/12 [00:00<?, ?it/s]\n 8%|▊ | 1/12 [00:00<00:08, 1.31it/s]\n 17%|█▋ | 2/12 [00:01<00:05, 1.74it/s]\n 25%|██▌ | 3/12 [00:01<00:04, 1.94it/s]\n 33%|███▎ | 4/12 [00:02<00:03, 2.05it/s]\n 42%|████▏ | 5/12 [00:02<00:03, 2.12it/s]\n 50%|█████ | 6/12 [00:02<00:02, 2.15it/s]\n 58%|█████▊ | 7/12 [00:03<00:02, 2.19it/s]\n 67%|██████▋ | 8/12 [00:03<00:01, 2.22it/s]\n 75%|███████▌ | 9/12 [00:04<00:01, 2.24it/s]\n 83%|████████▎ | 10/12 [00:04<00:00, 2.28it/s]\n 92%|█████████▏| 11/12 [00:05<00:00, 2.33it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.77it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.25it/s]\nExecuting node 9, title: Save Image, class type: SaveImage\nPrompt executed in 5.86 seconds\noutputs: {'56': {'images': [{'filename': 'ComfyUI_temp_pgjop_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_fxoap_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_eiuhe_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_uypkg_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_npmga_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_xbbkc_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}}\n====================================\nContents of /tmp/outputs:\nComfyUI_00001_.png", "metrics": { "predict_time": 9.390225, "total_time": 9.444086 }, "output": [ "https://replicate.delivery/pbxt/hFlz5CYcDfW5XSGXvm3RtZWFB9WE8UeGT50es3LzYhoH0BglA/ComfyUI_00001_.webp" ], "started_at": "2024-05-01T15:15:07.256861Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/grve9et18drgj0cf6jws1h7ger", "cancel": "https://api.replicate.com/v1/predictions/grve9et18drgj0cf6jws1h7ger/cancel" }, "version": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0" }
Generated inRandom seed set to: 2831156950 Checking inputs ✅ /tmp/inputs/subject.png ✅ /tmp/inputs/material.png ==================================== Checking weights Including weights for IPAdapter preset: STANDARD (medium strength) ✅ depth_anything_vits14.pth ✅ sk_model.pth ✅ juggernautXL_juggernautX.safetensors ✅ depth_anything_vitl14.pth ✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors ✅ ip-adapter_sdxl_vit-h.safetensors ✅ ip-adapter_sd15.safetensors ✅ t2i-adapter_diffusers_xl_lineart.safetensors ✅ depth_anything_vitb14.pth ✅ t2i-adapter_diffusers_xl_depth_midas.safetensors ✅ sk_model2.pth ==================================== Running workflow got prompt Executing node 10, title: KSampler (Efficient), class type: KSampler (Efficient) 0%| | 0/12 [00:00<?, ?it/s] 8%|▊ | 1/12 [00:00<00:08, 1.31it/s] 17%|█▋ | 2/12 [00:01<00:05, 1.74it/s] 25%|██▌ | 3/12 [00:01<00:04, 1.94it/s] 33%|███▎ | 4/12 [00:02<00:03, 2.05it/s] 42%|████▏ | 5/12 [00:02<00:03, 2.12it/s] 50%|█████ | 6/12 [00:02<00:02, 2.15it/s] 58%|█████▊ | 7/12 [00:03<00:02, 2.19it/s] 67%|██████▋ | 8/12 [00:03<00:01, 2.22it/s] 75%|███████▌ | 9/12 [00:04<00:01, 2.24it/s] 83%|████████▎ | 10/12 [00:04<00:00, 2.28it/s] 92%|█████████▏| 11/12 [00:05<00:00, 2.33it/s] 100%|██████████| 12/12 [00:05<00:00, 2.77it/s] 100%|██████████| 12/12 [00:05<00:00, 2.25it/s] Executing node 9, title: Save Image, class type: SaveImage Prompt executed in 5.86 seconds outputs: {'56': {'images': [{'filename': 'ComfyUI_temp_pgjop_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_fxoap_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_eiuhe_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_uypkg_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_npmga_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_xbbkc_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}} ==================================== Contents of /tmp/outputs: ComfyUI_00001_.png
Prediction
iordcalin/material-transfer:2f640c88IDmj065nff35rgm0cf6jws72qcj0StatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedInput
- steps
- 12
- prompt
- marble sculpture
- max_width
- 1920
- max_height
- 1920
- output_format
- webp
- guidance_scale
- 2
- output_quality
- 80
- negative_prompt
- hair
- material_strength
- medium
- return_intermediate_images
{ "steps": 12, "prompt": "marble sculpture", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN3ixkwwIkZ5iBDbEhev9Lom858ZIyQxw7zDV5UNNdhalph/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN3ivCf2LKAZztIOGrJvLh7VI3qCd0F0ENkr32oqdvV6bug/marble.webp", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false }
npm install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import and set up the clientimport Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", { input: { steps: 12, prompt: "marble sculpture", max_width: 1920, max_height: 1920, output_format: "webp", subject_image: "https://replicate.delivery/pbxt/KqN3ixkwwIkZ5iBDbEhev9Lom858ZIyQxw7zDV5UNNdhalph/0_3.webp", guidance_scale: 2, material_image: "https://replicate.delivery/pbxt/KqN3ivCf2LKAZztIOGrJvLh7VI3qCd0F0ENkr32oqdvV6bug/marble.webp", output_quality: 80, negative_prompt: "hair", material_strength: "medium", return_intermediate_images: false } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import the clientimport replicate
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", input={ "steps": 12, "prompt": "marble sculpture", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN3ixkwwIkZ5iBDbEhev9Lom858ZIyQxw7zDV5UNNdhalph/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN3ivCf2LKAZztIOGrJvLh7VI3qCd0F0ENkr32oqdvV6bug/marble.webp", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": False } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run iordcalin/material-transfer 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": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", "input": { "steps": 12, "prompt": "marble sculpture", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN3ixkwwIkZ5iBDbEhev9Lom858ZIyQxw7zDV5UNNdhalph/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN3ivCf2LKAZztIOGrJvLh7VI3qCd0F0ENkr32oqdvV6bug/marble.webp", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2024-05-01T15:16:02.103456Z", "created_at": "2024-05-01T15:15:51.705000Z", "data_removed": false, "error": null, "id": "mj065nff35rgm0cf6jws72qcj0", "input": { "steps": 12, "prompt": "marble sculpture", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqN3ixkwwIkZ5iBDbEhev9Lom858ZIyQxw7zDV5UNNdhalph/0_3.webp", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqN3ivCf2LKAZztIOGrJvLh7VI3qCd0F0ENkr32oqdvV6bug/marble.webp", "output_quality": 80, "negative_prompt": "hair", "material_strength": "medium", "return_intermediate_images": false }, "logs": "Random seed set to: 2228970987\nChecking inputs\n✅ /tmp/inputs/subject.png\n✅ /tmp/inputs/material.png\n====================================\nChecking weights\nIncluding weights for IPAdapter preset: STANDARD (medium strength)\n✅ depth_anything_vits14.pth\n✅ sk_model.pth\n✅ juggernautXL_juggernautX.safetensors\n✅ depth_anything_vitl14.pth\n✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors\n✅ ip-adapter_sdxl_vit-h.safetensors\n✅ ip-adapter_sd15.safetensors\n✅ t2i-adapter_diffusers_xl_lineart.safetensors\n✅ depth_anything_vitb14.pth\n✅ t2i-adapter_diffusers_xl_depth_midas.safetensors\n✅ sk_model2.pth\n====================================\nRunning workflow\ngot prompt\nExecuting node 46, title: Load Image, class type: LoadImage\nExecuting node 47, title: 🔧 Image Crop, class type: ImageCrop+\nExecuting node 58, title: Preview Image, class type: PreviewImage\n\u001b[33mINFO: the IPAdapter reference image is not a square, CLIPImageProcessor will resize and crop it at the center. If the main focus of the picture is not in the middle the result might not be what you are expecting.\u001b[0m\nExecuting node 45, title: IPAdapter Advanced, class type: IPAdapterAdvanced\nExecuting node 48, title: Differential Diffusion, class type: DifferentialDiffusion\nExecuting node 49, title: RescaleCFG, class type: RescaleCFG\nExecuting node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode\nExecuting node 41, title: InpaintModelConditioning, class type: InpaintModelConditioning\nExecuting node 50, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced\nExecuting node 52, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced\nExecuting node 10, title: KSampler (Efficient), class type: KSampler (Efficient)\nRequested to load SDXL\nLoading 1 new model\n 0%| | 0/12 [00:00<?, ?it/s]\n 8%|▊ | 1/12 [00:00<00:07, 1.39it/s]\n 17%|█▋ | 2/12 [00:01<00:05, 1.80it/s]\n 25%|██▌ | 3/12 [00:01<00:04, 1.98it/s]\n 33%|███▎ | 4/12 [00:02<00:03, 2.09it/s]\n 42%|████▏ | 5/12 [00:02<00:03, 2.16it/s]\n 50%|█████ | 6/12 [00:02<00:02, 2.20it/s]\n 58%|█████▊ | 7/12 [00:03<00:02, 2.23it/s]\n 67%|██████▋ | 8/12 [00:03<00:01, 2.25it/s]\n 75%|███████▌ | 9/12 [00:04<00:01, 2.26it/s]\n 83%|████████▎ | 10/12 [00:04<00:00, 2.29it/s]\n 92%|█████████▏| 11/12 [00:05<00:00, 2.32it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.77it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.28it/s]\nExecuting node 9, title: Save Image, class type: SaveImage\nPrompt executed in 7.71 seconds\noutputs: {'56': {'images': [{'filename': 'ComfyUI_temp_pgjop_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_fxoap_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_eiuhe_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_uypkg_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_npmga_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_ojrxt_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}}\n====================================\nContents of /tmp/outputs:\nComfyUI_00001_.png", "metrics": { "predict_time": 10.355015, "total_time": 10.398456 }, "output": [ "https://replicate.delivery/pbxt/OucjXoMNNGZuB9uuJGjA2g89DbdG5dgbO3iLhljgvCbsOAsE/ComfyUI_00001_.webp" ], "started_at": "2024-05-01T15:15:51.748441Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/mj065nff35rgm0cf6jws72qcj0", "cancel": "https://api.replicate.com/v1/predictions/mj065nff35rgm0cf6jws72qcj0/cancel" }, "version": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0" }
Generated inRandom seed set to: 2228970987 Checking inputs ✅ /tmp/inputs/subject.png ✅ /tmp/inputs/material.png ==================================== Checking weights Including weights for IPAdapter preset: STANDARD (medium strength) ✅ depth_anything_vits14.pth ✅ sk_model.pth ✅ juggernautXL_juggernautX.safetensors ✅ depth_anything_vitl14.pth ✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors ✅ ip-adapter_sdxl_vit-h.safetensors ✅ ip-adapter_sd15.safetensors ✅ t2i-adapter_diffusers_xl_lineart.safetensors ✅ depth_anything_vitb14.pth ✅ t2i-adapter_diffusers_xl_depth_midas.safetensors ✅ sk_model2.pth ==================================== Running workflow got prompt Executing node 46, title: Load Image, class type: LoadImage Executing node 47, title: 🔧 Image Crop, class type: ImageCrop+ Executing node 58, title: Preview Image, class type: PreviewImage INFO: the IPAdapter reference image is not a square, CLIPImageProcessor will resize and crop it at the center. If the main focus of the picture is not in the middle the result might not be what you are expecting. Executing node 45, title: IPAdapter Advanced, class type: IPAdapterAdvanced Executing node 48, title: Differential Diffusion, class type: DifferentialDiffusion Executing node 49, title: RescaleCFG, class type: RescaleCFG Executing node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode Executing node 41, title: InpaintModelConditioning, class type: InpaintModelConditioning Executing node 50, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced Executing node 52, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced Executing node 10, title: KSampler (Efficient), class type: KSampler (Efficient) Requested to load SDXL Loading 1 new model 0%| | 0/12 [00:00<?, ?it/s] 8%|▊ | 1/12 [00:00<00:07, 1.39it/s] 17%|█▋ | 2/12 [00:01<00:05, 1.80it/s] 25%|██▌ | 3/12 [00:01<00:04, 1.98it/s] 33%|███▎ | 4/12 [00:02<00:03, 2.09it/s] 42%|████▏ | 5/12 [00:02<00:03, 2.16it/s] 50%|█████ | 6/12 [00:02<00:02, 2.20it/s] 58%|█████▊ | 7/12 [00:03<00:02, 2.23it/s] 67%|██████▋ | 8/12 [00:03<00:01, 2.25it/s] 75%|███████▌ | 9/12 [00:04<00:01, 2.26it/s] 83%|████████▎ | 10/12 [00:04<00:00, 2.29it/s] 92%|█████████▏| 11/12 [00:05<00:00, 2.32it/s] 100%|██████████| 12/12 [00:05<00:00, 2.77it/s] 100%|██████████| 12/12 [00:05<00:00, 2.28it/s] Executing node 9, title: Save Image, class type: SaveImage Prompt executed in 7.71 seconds outputs: {'56': {'images': [{'filename': 'ComfyUI_temp_pgjop_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_fxoap_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_eiuhe_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_uypkg_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_npmga_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_ojrxt_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}} ==================================== Contents of /tmp/outputs: ComfyUI_00001_.png
Prediction
iordcalin/material-transfer:2f640c88IDph0g7a9jvdrgj0cf6qha7b74w4StatusSucceededSourceWebHardwareA40 (Large)Total durationCreatedby @fofrInput
- steps
- 12
- prompt
- delicate ruby model of a bird
- max_width
- 1920
- max_height
- 1920
- output_format
- webp
- guidance_scale
- 2
- output_quality
- 80
- material_strength
- medium
- return_intermediate_images
{ "steps": 12, "prompt": "delicate ruby model of a bird", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqS0LyQoJuCpq0D0eQEmcKVuFtT7WJfuxb1pxmaLtk7kpwSt/image.png", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqS0L9BvaN0MsGQ5v9X1AIuzCbeb5jXYWDVRqmQelQB2qPGP/image.png", "output_quality": 80, "material_strength": "medium", "return_intermediate_images": false }
npm install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import and set up the clientimport Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", { input: { steps: 12, prompt: "delicate ruby model of a bird", max_width: 1920, max_height: 1920, output_format: "webp", subject_image: "https://replicate.delivery/pbxt/KqS0LyQoJuCpq0D0eQEmcKVuFtT7WJfuxb1pxmaLtk7kpwSt/image.png", guidance_scale: 2, material_image: "https://replicate.delivery/pbxt/KqS0L9BvaN0MsGQ5v9X1AIuzCbeb5jXYWDVRqmQelQB2qPGP/image.png", output_quality: 80, material_strength: "medium", return_intermediate_images: false } } ); console.log(output);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Import the clientimport replicate
Run iordcalin/material-transfer using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "iordcalin/material-transfer:2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", input={ "steps": 12, "prompt": "delicate ruby model of a bird", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqS0LyQoJuCpq0D0eQEmcKVuFtT7WJfuxb1pxmaLtk7kpwSt/image.png", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqS0L9BvaN0MsGQ5v9X1AIuzCbeb5jXYWDVRqmQelQB2qPGP/image.png", "output_quality": 80, "material_strength": "medium", "return_intermediate_images": False } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Set theREPLICATE_API_TOKEN
environment variableexport REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run iordcalin/material-transfer 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": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0", "input": { "steps": 12, "prompt": "delicate ruby model of a bird", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqS0LyQoJuCpq0D0eQEmcKVuFtT7WJfuxb1pxmaLtk7kpwSt/image.png", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqS0L9BvaN0MsGQ5v9X1AIuzCbeb5jXYWDVRqmQelQB2qPGP/image.png", "output_quality": 80, "material_strength": "medium", "return_intermediate_images": false } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2024-05-01T20:39:39.473008Z", "created_at": "2024-05-01T20:39:27.707000Z", "data_removed": false, "error": null, "id": "ph0g7a9jvdrgj0cf6qha7b74w4", "input": { "steps": 12, "prompt": "delicate ruby model of a bird", "max_width": 1920, "max_height": 1920, "output_format": "webp", "subject_image": "https://replicate.delivery/pbxt/KqS0LyQoJuCpq0D0eQEmcKVuFtT7WJfuxb1pxmaLtk7kpwSt/image.png", "guidance_scale": 2, "material_image": "https://replicate.delivery/pbxt/KqS0L9BvaN0MsGQ5v9X1AIuzCbeb5jXYWDVRqmQelQB2qPGP/image.png", "output_quality": 80, "material_strength": "medium", "return_intermediate_images": false }, "logs": "Random seed set to: 1637856312\nChecking inputs\n✅ /tmp/inputs/subject.png\n✅ /tmp/inputs/material.png\n====================================\nChecking weights\nIncluding weights for IPAdapter preset: STANDARD (medium strength)\n✅ sk_model2.pth\n✅ ip-adapter_sd15.safetensors\n✅ ip-adapter_sdxl_vit-h.safetensors\n✅ t2i-adapter_diffusers_xl_lineart.safetensors\n✅ depth_anything_vitb14.pth\n✅ depth_anything_vitl14.pth\n✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors\n✅ depth_anything_vits14.pth\n✅ t2i-adapter_diffusers_xl_depth_midas.safetensors\n✅ juggernautXL_juggernautX.safetensors\n✅ sk_model.pth\n====================================\nRunning workflow\ngot prompt\nExecuting node 46, title: Load Image, class type: LoadImage\nExecuting node 47, title: 🔧 Image Crop, class type: ImageCrop+\nExecuting node 58, title: Preview Image, class type: PreviewImage\nExecuting node 45, title: IPAdapter Advanced, class type: IPAdapterAdvanced\nExecuting node 48, title: Differential Diffusion, class type: DifferentialDiffusion\nExecuting node 49, title: RescaleCFG, class type: RescaleCFG\nExecuting node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode\nExecuting node 41, title: InpaintModelConditioning, class type: InpaintModelConditioning\nExecuting node 50, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced\nExecuting node 52, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced\nExecuting node 10, title: KSampler (Efficient), class type: KSampler (Efficient)\nRequested to load SDXL\nLoading 1 new model\n 0%| | 0/12 [00:00<?, ?it/s]\n 8%|▊ | 1/12 [00:00<00:08, 1.33it/s]\n 17%|█▋ | 2/12 [00:01<00:05, 1.73it/s]\n 25%|██▌ | 3/12 [00:01<00:04, 1.91it/s]\n 33%|███▎ | 4/12 [00:02<00:03, 2.01it/s]\n 42%|████▏ | 5/12 [00:02<00:03, 2.08it/s]\n 50%|█████ | 6/12 [00:03<00:02, 2.12it/s]\n 58%|█████▊ | 7/12 [00:03<00:02, 2.15it/s]\n 67%|██████▋ | 8/12 [00:03<00:01, 2.17it/s]\n 75%|███████▌ | 9/12 [00:04<00:01, 2.18it/s]\n 83%|████████▎ | 10/12 [00:04<00:00, 2.21it/s]\n 92%|█████████▏| 11/12 [00:05<00:00, 2.27it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.72it/s]\n100%|██████████| 12/12 [00:05<00:00, 2.21it/s]\nExecuting node 9, title: Save Image, class type: SaveImage\nPrompt executed in 8.05 seconds\noutputs: {'56': {'images': [{'filename': 'ComfyUI_temp_sxdyu_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_mvubh_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_oessj_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_pecmx_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_qjpvz_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_ygbim_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}}\n====================================\nContents of /tmp/outputs:\nComfyUI_00001_.png", "metrics": { "predict_time": 11.726818, "total_time": 11.766008 }, "output": [ "https://replicate.delivery/pbxt/j9VxP7h07NYkMJlLgg9CeZm06FIei6IYuG9AGlBzAarKqFwSA/ComfyUI_00001_.webp" ], "started_at": "2024-05-01T20:39:27.746190Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/ph0g7a9jvdrgj0cf6qha7b74w4", "cancel": "https://api.replicate.com/v1/predictions/ph0g7a9jvdrgj0cf6qha7b74w4/cancel" }, "version": "2f640c887323bae445f8b5154d010b2d31c336dd5f3a1d85acd5ae04d215dea0" }
Generated inRandom seed set to: 1637856312 Checking inputs ✅ /tmp/inputs/subject.png ✅ /tmp/inputs/material.png ==================================== Checking weights Including weights for IPAdapter preset: STANDARD (medium strength) ✅ sk_model2.pth ✅ ip-adapter_sd15.safetensors ✅ ip-adapter_sdxl_vit-h.safetensors ✅ t2i-adapter_diffusers_xl_lineart.safetensors ✅ depth_anything_vitb14.pth ✅ depth_anything_vitl14.pth ✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors ✅ depth_anything_vits14.pth ✅ t2i-adapter_diffusers_xl_depth_midas.safetensors ✅ juggernautXL_juggernautX.safetensors ✅ sk_model.pth ==================================== Running workflow got prompt Executing node 46, title: Load Image, class type: LoadImage Executing node 47, title: 🔧 Image Crop, class type: ImageCrop+ Executing node 58, title: Preview Image, class type: PreviewImage Executing node 45, title: IPAdapter Advanced, class type: IPAdapterAdvanced Executing node 48, title: Differential Diffusion, class type: DifferentialDiffusion Executing node 49, title: RescaleCFG, class type: RescaleCFG Executing node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode Executing node 41, title: InpaintModelConditioning, class type: InpaintModelConditioning Executing node 50, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced Executing node 52, title: Apply ControlNet (Advanced), class type: ControlNetApplyAdvanced Executing node 10, title: KSampler (Efficient), class type: KSampler (Efficient) Requested to load SDXL Loading 1 new model 0%| | 0/12 [00:00<?, ?it/s] 8%|▊ | 1/12 [00:00<00:08, 1.33it/s] 17%|█▋ | 2/12 [00:01<00:05, 1.73it/s] 25%|██▌ | 3/12 [00:01<00:04, 1.91it/s] 33%|███▎ | 4/12 [00:02<00:03, 2.01it/s] 42%|████▏ | 5/12 [00:02<00:03, 2.08it/s] 50%|█████ | 6/12 [00:03<00:02, 2.12it/s] 58%|█████▊ | 7/12 [00:03<00:02, 2.15it/s] 67%|██████▋ | 8/12 [00:03<00:01, 2.17it/s] 75%|███████▌ | 9/12 [00:04<00:01, 2.18it/s] 83%|████████▎ | 10/12 [00:04<00:00, 2.21it/s] 92%|█████████▏| 11/12 [00:05<00:00, 2.27it/s] 100%|██████████| 12/12 [00:05<00:00, 2.72it/s] 100%|██████████| 12/12 [00:05<00:00, 2.21it/s] Executing node 9, title: Save Image, class type: SaveImage Prompt executed in 8.05 seconds outputs: {'56': {'images': [{'filename': 'ComfyUI_temp_sxdyu_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '57': {'images': [{'filename': 'ComfyUI_temp_mvubh_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '39': {'images': [{'filename': 'ComfyUI_temp_oessj_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '40': {'images': [{'filename': 'ComfyUI_temp_pecmx_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '58': {'images': [{'filename': 'ComfyUI_temp_qjpvz_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '10': {'images': [{'filename': 'ComfyUI_temp_ygbim_00001_.png', 'subfolder': '', 'type': 'temp'}]}, '9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}} ==================================== Contents of /tmp/outputs: ComfyUI_00001_.png
Want to make some of these yourself?
Run this model