kelvincai522/photomaker-v1-lightning 🔢📝❓🖼️ → 🖼️

▶️ 572 runs 📅 Feb 2025 ⚙️ Cog 0.9.8
image-consistent-character-generation image-to-image

About

Photomaker V1 optimized with Lightning 8steps

Example Output

Prompt:

"score_9 score_8_up score_7_up anime img 1girl masterpiece very_aesthetic hi_res absurd_res superabsurd_res"

Output

Example output

Performance Metrics

44.68s Prediction Time
87.24s Total Time
All Input Parameters
{
  "prompt": "score_9 score_8_up score_7_up anime img 1girl masterpiece very_aesthetic hi_res absurd_res superabsurd_res",
  "num_steps": 16,
  "style_name": "(No style)",
  "input_image": "https://replicate.delivery/pbxt/KFRc9kyW6lLALePRbphzLaZnMyqjYUH8Tles73OvOVfXUcj8/yangmi_1.jpg",
  "num_outputs": 1,
  "guidance_scale": 5,
  "negative_prompt": "score_1 score_2 score_3 worst_quality bad_quality jpeg_artifacts source_cartoon 3d censor+ monochrome blurry lowres watermark text low_res oversaturated crappy_art low_quality blurry bad_anatomy extra_digits fewer_digits simple_background very_displeasing watermark signature",
  "style_strength_ratio": 15
}
Input Parameters
seed Type: integerRange: 0 - 2147483647
Seed. Leave blank to use a random number
prompt Type: stringDefault: score_9 score_8_up score_7_up anime img 1girl masterpiece very_aesthetic hi_res absurd_res superabsurd_res
Prompt. Example: 'a photo of a man/woman img'. The phrase 'img' is the trigger word.
num_steps Type: integerDefault: 16Range: 1 - 100
Number of sample steps
style_name Default: (No style)
Style template. The style template will add a style-specific prompt and negative prompt to the user's prompt.
input_image Type: stringDefault: https://replicate.delivery/pbxt/KFRc9kyW6lLALePRbphzLaZnMyqjYUH8Tles73OvOVfXUcj8/yangmi_1.jpg
The input image, for example a photo of your face.
num_outputs Type: integerDefault: 1Range: 1 - 4
Number of output images
input_image2 Type: string
Additional input image (optional)
input_image3 Type: string
Additional input image (optional)
input_image4 Type: string
Additional input image (optional)
guidance_scale Type: numberDefault: 5Range: 1 - 10
Guidance scale. A guidance scale of 1 corresponds to doing no classifier free guidance.
negative_prompt Type: stringDefault: score_1 score_2 score_3 worst_quality bad_quality jpeg_artifacts source_cartoon 3d censor+ monochrome blurry lowres watermark text low_res oversaturated crappy_art low_quality blurry bad_anatomy extra_digits fewer_digits simple_background very_displeasing watermark signature
Negative Prompt. The negative prompt should NOT contain the trigger word.
style_strength_ratio Type: numberDefault: 15Range: 15 - 50
Style strength (%)
Output Schema

Output

Type: arrayItems Type: stringItems Format: uri

Example Execution Logs
Using seed 720498486...
Loading image /tmp/tmpcgshv8a6yangmi_1.jpg...
Setting seed...
Start inference...
[Debug] Prompt: score_9 score_8_up score_7_up anime img 1girl masterpiece very_aesthetic hi_res absurd_res superabsurd_res
[Debug] Neg Prompt:  score_1 score_2 score_3 worst_quality bad_quality jpeg_artifacts source_cartoon 3d censor+ monochrome blurry lowres watermark text low_res oversaturated crappy_art low_quality blurry bad_anatomy extra_digits fewer_digits simple_background very_displeasing watermark signature
Start merge step: 2
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/torch/cuda/graphs.py:88: UserWarning: The CUDA Graph is empty. This usually means that the graph was attempted to be captured on wrong device or stream. (Triggered internally at ../aten/src/ATen/cuda/CUDAGraph.cpp:224.)
super().capture_end()
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect.
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/utils/flat_tensors.py:275: TracerWarning: torch.Tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect.
return super().__new__(cls, x, *args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect.
return func(*args, **kwargs)
  0%|          | 0/16 [00:00<?, ?it/s]
  6%|▋         | 1/16 [00:37<09:17, 37.14s/it]
 12%|█▎        | 2/16 [00:37<03:35, 15.36s/it]
 19%|█▉        | 3/16 [00:37<01:49,  8.40s/it]
 25%|██▌       | 4/16 [00:37<01:01,  5.13s/it]
 31%|███▏      | 5/16 [00:37<00:36,  3.32s/it]
 38%|███▊      | 6/16 [00:37<00:22,  2.23s/it]
 44%|████▍     | 7/16 [00:37<00:13,  1.54s/it]
 50%|█████     | 8/16 [00:37<00:08,  1.08s/it]
 56%|█████▋    | 9/16 [00:38<00:05,  1.28it/s]
 62%|██████▎   | 10/16 [00:38<00:03,  1.74it/s]
 69%|██████▉   | 11/16 [00:38<00:02,  2.31it/s]
 75%|███████▌  | 12/16 [00:38<00:01,  2.98it/s]
 81%|████████▏ | 13/16 [00:38<00:00,  3.73it/s]
 88%|████████▊ | 14/16 [00:38<00:00,  4.52it/s]
 94%|█████████▍| 15/16 [00:38<00:00,  5.30it/s]
100%|██████████| 16/16 [00:38<00:00,  6.03it/s]
100%|██████████| 16/16 [00:38<00:00,  2.43s/it]
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect.
return func(*args, **kwargs)
/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/sfast/jit/overrides.py:21: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
return func(*args, **kwargs)
Saving images to file...
Version Details
Version ID
bea9c27a8620bda18eab53bce5b65afe3fabdb55e15316d90d0c38b0f41e1f9c
Version Created
May 18, 2025
Run on Replicate →