Author SHA1 Message Date
Jimmy Wong d92239b690 Merge pull request #2 from 6174/feat/hailuo-node
support video api nodes, flux lora node and replicate nodes
2024-12-03 21:31:04 +08:00
Jimmy Wong 90c84b5366 support video api nodes, flux lora node and replicate nodes 2024-12-03 21:25:15 +08:00
Jimmy Wong a7e2bd14f1 update readme 2024-11-08 17:53:01 +08:00
Jimmy Wong f0e34ab970 fix typo 2024-11-05 10:26:23 +08:00
Jimmy Wong 4edc766315 Merge pull request #1 from 6174/feat/upscale-nodes
Feat/new checkpoint nodes
2024-11-05 10:17:40 +08:00
79 changed files with 28681 additions and 504 deletions
+52 -6
View File
@@ -4,7 +4,7 @@
<div>
![Version](https://img.shields.io/badge/node_version-0.1-lightblue)
![Version](https://img.shields.io/badge/node_version-0.2-lightblue)
<a href="https://discord.gg/cj623WvcVx">
<img src="https://dcbadge.vercel.app/api/server/cj623WvcVx?style=flat" />
</a>
@@ -12,9 +12,8 @@
[中文说明](./README_CN.md)
</div>
While developing Comflowy, we found that although there are many extensions in the community, many nodes are more focused on solving specific problems or implementing certain technologies. In terms of user experience, they are relatively less friendly.
When using ComfyUI, most of the models we use are open-source models. Some closed-source models with excellent results cannot be used in ComfyUI. To solve this problem, we developed the Comflowy extension. We hope to integrate these high-quality closed-source models into ComfyUI, so that users can chain together various closed-source models through ComfyUI.
So we decided to develop some general-purpose nodes based on our needs to help you better use ComfyUI.
## I. Node List
@@ -36,8 +35,54 @@ So we decided to develop some general-purpose nodes based on our needs to help y
![image](images/Omost_LLM.png)
</details>
3. **Comflowy Flux Pro Node:** Flux is a node that can generate images with Flux Pro. Flux Pro is a non open source model, so in most cases, you cannot use this model in ComfyUI. To solve this problem, we developed this node, which allows you to generate images directly in ComfyUI. But please note that this model is a commercial model, so each use will deduct your credits.
* Online version [App](https://app.comflowy.com/app/app-general-image-by-flux-153b).
* <details>
<summary>Workflow Screenshot</summary>
<br/>
## II. How to Use
![image](images/flux.png)
</details>
4. **Comflowy Flux Pro Ultra Node:** Flux Pro Ultra is the latest high-definition model released by Flux. You can also set the Raw parameter to True, so that the output images will be more realistic and detailed.
5. **Comflowy Flux Dev Lora Node:** Flux Dev Lora node is a node that allows you to load any Flux LoRA. You only need to fill in the download address of the Flux LoRA model into the node to load and use it.
6. **Comflowy Ideogram Node:** Ideogram is a node that can generate images with Ideogram. Similar to Flux, Ideogram is a non open source model, so in most cases, you cannot use this model in ComfyUI. To solve this problem, we developed this node, which allows you to generate images directly in ComfyUI. But please note that this model is a commercial model, so each use will deduct your credits.
* Online version [App](https://app.comflowy.com/app/app-general-image-by-ideogram-b453).
* <details>
<summary>Workflow Screenshot</summary>
<br/>
![image](images/ideogram.png)
</details>
7. **Comflowy Recraft Node:** Similar to Flux, Recraft is a non open source model, so in most cases, you cannot use this model in ComfyUI. To solve this problem, we developed this node, which allows you to generate images directly in ComfyUI. But please note that this model is a commercial model, so each use will deduct your credits. This model is similar to Ideogram, and is very suitable for generating images with text.
8. **Comflowy Clarity Upscale Node:** This is a node that can upscale images. This node is claimed to be a replacement for Magnific. The overseas influencer developer [levlsio](https://twitter.com/levelsio/status/1827404021684170902) praised this model.
* Online version [App](https://app.comflowy.com/app/app-clarity-upscale-4257).
* <details>
<summary>Workflow Screenshot</summary>
<br/>
![image](images/clarity.png)
</details>
9. **Comflowy Replicate Node:** Thanks to [Replicate](https://github.com/replicate/comfyui-replicate) for providing services and code, now you can use the models in Replicate.
10. **Comflowy Hailuo Video Node:** This node uses the Hailuo AI model, which can convert images to videos. Note that this node requires the Comflowy Preview Video node to be used.
11. **Comflowy Kling Image Node:** This node uses the Kling AI model, which can convert images to videos. Note that this node requires the Comflowy Preview Video node to be used.
## II. Price
| Node | Price |
| --- | --- |
| LLM | Free |
| Omost | Free |
| Flux Pro | Flux-1.1-pro costs approximately 400 credit per image. Flux-pro costs 550 credits per image. |
| Flux Pro Ultra | 600 credits per image. |
| Flux Dev Lora | 350 credits per image. |
| Ideogram | Ideogram-v2-turbo costs approximately 800 credit per image. Ideogram-v2 costs 500 credits per image. |
| Recraft | This model costs approximately 400~800 credits per image, depending on your inputs. |
| Replicate | This depends on the model you use and the time consumed. |
| Hailuo | This costs approximately 5000 credits per video. |
| Kling | This costs credits based on the length of the video. |
## III. How to Use
> [!NOTE]
> It should be noted that when using the Comflowy extension, there may be situations where it cannot be used normally due to network problems. If you encounter an error like `Failed to get response from LLM model with https://app.comflowy.com/api/open/v0/prompt`, you need to check your network status.
@@ -76,11 +121,12 @@ So we decided to develop some general-purpose nodes based on our needs to help y
![image](images/API_Key_Node.png)
</details>
## III. Update Log
## IV. Update Log
* V0.2: Added Flux node, Ideogram node.
* V0.1: Support for LLM node, Omost node, Http node.
## IV. Acknowledgements
## V. Acknowledgements
1. Thanks to [SiliconFlow](https://siliconflow.cn/) for providing free LLM services.
2. Thanks to the author of [Omost](https://github.com/lllyasviel/Omost) and the author of the [ComfyUI-Omost](https://github.com/huchenlei/ComfyUI_omost?tab=readme-ov-file) extension.
+52 -7
View File
@@ -4,16 +4,14 @@
<div>
![Version](https://img.shields.io/badge/node_version-0.1-lightblue)
![Version](https://img.shields.io/badge/node_version-0.2-lightblue)
<a href="https://discord.gg/cj623WvcVx">
<img src="https://dcbadge.vercel.app/api/server/cj623WvcVx?style=flat" />
</a>
</div>
在开发 Comflowy 产品的时候,我们发现虽然社区里有很多插件,但有不少节点更多的是为了解决特定的问题,或者实现某个特定的技术。在用户体验上,相对没那么友好。
所以我们决定根据我们的需求,开发一些通用的节点,以便各位更好地使用 ComfyUI。
在使用 ComfyUI 的时候,我们使用的模型基本上都是开源的模型。有些效果很不错的闭源模型,却无法在 ComfyUI 里使用。为了解决这个问题,我们开发了 Comflowy 插件。希望能将这些效果不错的闭源模型也接入到 ComfyUI 里,这样各位就能通过 ComfyUI 将各种闭源模型串联起来使用了。
## 一、节点列表
@@ -35,8 +33,54 @@
![image](images/Omost_LLM.png)
</detials>
3. **Comflowy Flux Pro 节点:** Flux Pro 是一个非开源的模型,所以大多数情况下,你无法在 ComfyUI 里使用这个模型。为了解决这个问题,我们开发了这个节点,它允许你直接在 ComfyUI 里生成图片。但请注意,这个模型是一个商业模型,所以每次使用都会扣除你的积分。
* 在线版 [应用](https://app.comflowy.com/app/app-general-image-by-flux-153b)(无需 Workflow 即可使用)。
* <details>
<summary>工作流截图</summary>
<br/>
## 二、如何使用
![image](images/flux.png)
</details>
4. **Comflowy Flux Pro Ultra 节点:** Flux Pro Ultra 模型是 Flux 最新推出的高清模型。并且你还可以将 Raw 参数设置为 True,这样 Flux 输出的图片会更加真实与精细。
5. **Comflowy Flux Dev Lora 节点:** Flux Dev Lora 节点是一个可以让你任意加载 Flux LoRA 的节点,你只需要将 Flux LoRA 的模型下载地址填写到节点里,就可以加载使用。
6. **Comflowy Ideogram 节点:** 与 Flux 类似 Ideogram 也是一个非开源的模型,所以我们还开发了这个节点,它允许你直接在 ComfyUI 里生成图片。但请注意,这个模型是一个商业模型,所以每次使用都会扣除你的积分。这个模型非常适合生成带字的海报。效果个人感觉比 Flux 更好。
* 在线版 [应用](https://app.comflowy.com/app/app-general-image-by-ideogram-b453)(无需 Workflow 即可使用)。
* <details>
<summary>工作流截图</summary>
<br/>
![image](images/ideogram.png)
</details>
7. **Comflowy Recraft 节点:** 与 Flux 类似,Recraft 也是一个非开源的模型,所以我们还开发了这个节点,它允许你直接在 ComfyUI 里生成图片。但请注意,这个模型是一个商业模型,所以每次使用都会扣除你的积分。这个模型与 Ideogram 类似,非常适合生成带字的海报或图片,另外,因为其预设了很多效果,使用起来会更加方便。
8. **Comflowy Clarity Upscale 节点:** 这是一个能将图片放大,提升图片质量的节点。这个节点号称是 Magnific 的替代模型。海外网红开发者 [levlsio](https://twitter.com/levelsio/status/1827404021684170902) 盛赞过此模型。
* 在线版 [应用](https://app.comflowy.com/app/app-clarity-upscale-4257)(无需 Workflow 即可使用)。
* <details>
<summary>工作流截图</summary>
<br/>
![image](images/clarity.png)
</details>
9. **Comflowy Replicate 节点:** 感谢 [Replicate](https://github.com/replicate/comfyui-replicate) 提供的服务和代码,现在你可以使用 Replicate 里的模型了。
10. **Comflowy Hailuo 视频节点:** 这个节点使用的是 Hailuo AI 的模型,它可以将图片转换为视频。需要注意,使用此节点需要搭配 Comflowy Preview Video 节点使用。
11. **Comflowy Kling 图片节点:** 这个节点使用的是 Kling AI 的模型,它可以将图片转换为视频。需要注意,使用此节点需要搭配 Comflowy Preview Video 节点使用。
## 二、价格
| 节点 | 价格 |
| --- | --- |
| LLM | 免费 |
| Omost | 免费 |
| Flux Pro | Flux-1.1-pro 每张图大约消耗 400 积分。Flux-pro 每张图大约消耗 550 积分。 |
| Flux Pro Ultra | 每张图大约消耗 600 积分。 |
| Flux Dev Lora | 每张图大约消耗 350 积分。 |
| Ideogram | Ideogram-v2-turbo 每张图大约消耗 800 积分。Ideogram-v2 每张图大约消耗 500 积分。 |
| Recraft | 每张图大约消耗 400~800 积分不等。 |
| Replicate | 这个取决于你使用了何种模型,以及所消耗的时间。 |
| Hailuo | 每个视频大约消耗 5000 积分。 |
| Kling | 消耗的积分个取决于视频的长度。 |
## 三、如何使用
> [!NOTE]
> 需要注意,在使用 Comflowy 插件的时候,有可能会出现因为网络问题导致无法正常使用的情况。如果遇到类似 `Failed to get response from LLM model with https://app.comflowy.com/api/open/v0/prompt` 的报错,请检查一下网络状态。
@@ -77,11 +121,12 @@
![image](images/API_Key_Node.png)
</details>
## 三、更新记录
## 四、更新记录
* V0.2:新增 Flux 节点、Ideogram 节点。
* V0.1:支持 LLM 节点、Omost 节点、Http 节点。
## 四、感谢
## 五、感谢
1. 感谢 [SiliconFlow](https://siliconflow.cn/) 提供的免费 LLM 服务。
2. 感谢 [Omost](https://github.com/lllyasviel/Omost) 作者以及 [ComfyUI-Omost](https://github.com/huchenlei/ComfyUI_omost?tab=readme-ov-file) 插件的作者。
+1 -1
View File
@@ -1,3 +1,3 @@
from .flowy.nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
WEB_DIRECTORY = "./web"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]
+23
View File
@@ -0,0 +1,23 @@
from .clarityupscaler import FlowyClarityUpscale
from .flux import FlowyFlux
from .fluxultra import FlowyFluxProUltra
from .hailuo import FlowyHailuo
from .ideogram import FlowyIdeogram
from .keling import FlowyKling
from .luma import FlowyLuma
from .recraft import FlowyRecraft
from .fluxdevlora import FlowyFluxDevLora
from .replicate import REPLICATE_NODE_CLASS_MAPPINGS
__all__ = [
"FlowyClarityUpscale",
"FlowyFlux",
"FlowyFluxProUltra",
"FlowyHailuo",
"FlowyIdeogram",
"FlowyKling",
"FlowyLuma",
"FlowyRecraft",
"FlowyFluxDevLora",
"REPLICATE_NODE_CLASS_MAPPINGS",
]
+272
View File
@@ -0,0 +1,272 @@
from abc import ABC, abstractmethod
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
import os
from ..types import get_api_host
from ..api_key_manager import load_api_key
import soundfile as sf
import folder_paths
logger = logging.getLogger(__name__)
class FlowyApiNode(ABC):
CATEGORY = "Comflowy"
FUNCTION = "generate"
RETURN_TYPES = []
@classmethod
@abstractmethod
def INPUT_TYPES(cls):
"""Define input types for the node"""
pass
# 返回模型类型标识符
@abstractmethod
def get_model_type(self) -> str:
"""Return the model type identifier"""
pass
# 准备 API 请求的 payload
@abstractmethod
def prepare_payload(self, **kwargs) -> dict:
"""Prepare the API request payload"""
pass
# 返回请求需要的 API URL, 默认是 /api/open/v0/flowy, 如果是特殊模型, 则子类返回特殊模型的 API URL
def get_api_host(self) -> str:
API_HOST = get_api_host()
API_URL = f"{API_HOST}/api/open/v0/flowy"
return API_URL
# 从 URL 下载图片并转换为 tensor
def parse_image_output(self, output_url: str) -> torch.Tensor:
"""Convert image URL to tensor"""
start_time = time.time()
for attempt in range(3):
try:
img_response = requests.get(output_url, stream=True)
img_response.raise_for_status()
break
except requests.RequestException as e:
if attempt == 2: # Last attempt
logger.error(f"Unable to access output URL after 3 attempts: {str(e)}")
raise Exception(f"Unable to access output URL: {str(e)}")
logger.warning(f"Attempt {attempt + 1} failed, retrying in 1s...")
time.sleep(1)
logger.info(f"[Timing] Image download took {time.time() - start_time:.2f}s")
download_start = time.time()
logger.info(f"[Timing] Image download took {time.time() - download_start:.2f}s")
process_start = time.time()
# Convert image data to PIL Image
img = Image.open(img_response.raw)
# Convert to numpy array
img_np = np.array(img)
# Ensure image has 3 RGB channels
if len(img_np.shape) == 2: # Grayscale image
img_np = np.stack([img_np] * 3, axis=-1)
elif img_np.shape[-1] == 4: # RGBA image
img_np = img_np[:, :, :3]
# Convert to float32 and normalize to 0-1 range
img_np = img_np.astype(np.float32) / 255.0
# Convert to torch tensor, ensure shape is [B,H,W,C]
img_tensor = torch.from_numpy(img_np).unsqueeze(0) # Add batch dimension
logger.info(f"[Timing] Image processing took {time.time() - process_start:.2f}s")
logger.info(f"[Timing] Total image parsing took {time.time() - start_time:.2f}s")
return img_tensor
# 从 URL 下载视频并返回本地路径
def parse_video_output(self, output_url: str) -> str:
"""Download video from URL and return local path"""
output_dir = folder_paths.get_output_directory()
curr_time = time.time()
vid_name = f"output_{curr_time}.mp4"
output_video_path = os.path.join(output_dir, vid_name)
response = requests.get(output_url)
response.raise_for_status()
with open(output_video_path, "wb") as f:
f.write(response.content)
return output_video_path
def parse_audio_output(self, output_url: str) -> str:
"""Download audio from URL and return local path"""
output_dir = folder_paths.get_output_directory()
curr_time = time.time()
audio_name = f"output_{curr_time}.wav"
output_audio_path = os.path.join(output_dir, audio_name)
response = requests.get(output_url)
response.raise_for_status()
with open(output_audio_path, "wb") as f:
f.write(response.content)
return output_audio_path
# 处理输入图像
def image_to_base64(self, image) -> str:
"""Process input image to base64 string"""
if isinstance(image, torch.Tensor):
if image.dim() == 4:
image = image.squeeze(0) # Remove batch dimension
if image.shape[-1] == 3:
image = (image.cpu().numpy() * 255).astype(np.uint8)
elif image.shape[0] == 3:
image = (image.permute(1, 2, 0).cpu().numpy() * 255).astype(np.uint8)
else:
raise ValueError(f"Unsupported image shape: {image.shape}")
elif isinstance(image, np.ndarray):
if image.ndim == 2:
image = np.stack([image] * 3, axis=-1)
elif image.shape[-1] == 1:
image = np.repeat(image, 3, axis=-1)
elif image.shape[-1] != 3:
raise ValueError(f"Unsupported number of channels: {image.shape[-1]}")
image = (image * 255).astype(np.uint8)
else:
raise ValueError(f"Unsupported image type: {type(image)}")
buffered = io.BytesIO()
Image.fromarray(image).save(buffered, format="JPEG", quality=85)
return (
f"data:image/jpeg;base64,{base64.b64encode(buffered.getvalue()).decode()}"
)
def audio_to_base64(self, audio):
if isinstance(audio, dict) and "waveform" in audio and "sample_rate" in audio:
waveform = audio["waveform"]
sample_rate = audio["sample_rate"]
else:
waveform, sample_rate = audio
# Ensure waveform is 2D
if waveform.dim() == 1:
waveform = waveform.unsqueeze(0)
elif waveform.dim() > 2:
waveform = waveform.squeeze()
if waveform.dim() > 2:
raise ValueError("Waveform must be 1D or 2D")
buffer = io.BytesIO()
sf.write(buffer, waveform.numpy().T, sample_rate, format="wav")
buffer.seek(0)
audio_str = base64.b64encode(buffer.getvalue()).decode()
return f"data:audio/wav;base64,{audio_str}"
# 发送 API 请求
def make_api_request(self, payload: dict):
"""Make API request and return response"""
api_key = load_api_key()
if not api_key:
raise ValueError(
"API Key is not set. Please use the 'Comflowy Set API Key' node first."
)
API_URL = self.get_api_host()
response = requests.post(
API_URL,
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json=payload,
)
response.raise_for_status()
return response.json()
# 主生成方法
def generate(self, **kwargs):
"""Main generation method"""
try:
start_time = time.time()
# Prepare payload with common fields
payload = self.prepare_payload(**kwargs)
payload["model_type"] = self.get_model_type()
logger.info(f"[Timing] Payload preparation took {time.time() - start_time:.2f}s")
api_start = time.time()
# Make API request
result = self.make_api_request(payload)
logger.info(f"[Timing] API request took {time.time() - api_start:.2f}s")
if not result.get("success"):
raise Exception(
f"API request failed. Response: {json.dumps(result, indent=2)}"
)
output_urls = result.get("data", {}).get("output")
if not output_urls or not isinstance(output_urls, list):
raise Exception(
f"Invalid output URLs in response: {json.dumps(result, indent=2)}"
)
parse_start = time.time()
# Handle different return types based on RETURN_TYPES
if self.RETURN_TYPES[0] == "IMAGE":
if len(output_urls) == 1:
# 单个图像,直接返回
result = (self.parse_image_output(output_urls[0]),)
else:
# 多个图像,合并成一个批次
tensors = [self.parse_image_output(url) for url in output_urls]
result = (torch.cat(tensors, dim=0),)
elif self.RETURN_TYPES[0] == "VIDEO":
if len(output_urls) == 1:
result = (self.parse_video_output(output_urls[0]),)
else:
result = tuple(self.parse_video_output(url) for url in output_urls)
elif self.RETURN_TYPES[0] == "AUDIO":
if len(output_urls) == 1:
result = (self.parse_audio_output(output_urls[0]),)
else:
result = tuple(self.parse_audio_output(url) for url in output_urls)
elif self.RETURN_TYPES[0] == "STERING":
if len(output_urls) == 1:
result = (output_urls[0],)
else:
result = tuple(output_urls)
else:
raise ValueError(f"Unsupported return type: {self.RETURN_TYPES[0]}")
logger.info(f"[Timing] Output parsing took {time.time() - parse_start:.2f}s")
logger.info(f"[Timing] Total generation took {time.time() - start_time:.2f}s")
return result
except Exception as e:
logger.error(f"Error during generation: {str(e)}")
logger.exception("Detailed error information:")
if self.RETURN_TYPES[0] == "IMAGE":
return (torch.zeros((1, 100, 400, 3), dtype=torch.float32),)
elif self.RETURN_TYPES[0] == "VIDEO":
return (os.path.join("output", "error.mp4"),)
elif self.RETURN_TYPES[0] == "AUDIO":
return (os.path.join("output", "error.wav"),)
elif self.RETURN_TYPES[0] == "STERING":
return (str(e),)
else:
raise ValueError(f"Unsupported return type: {self.RETURN_TYPES[0]}")
+98
View File
@@ -0,0 +1,98 @@
from .base import FlowyApiNode
from ..types import STRING, INT, get_api_host
class FlowyClarityUpscale(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"image": ("IMAGE",),
"scale_factor": (
"FLOAT",
{"default": 2.0, "min": 1.0, "max": 4.0, "step": 0.1},
),
"dynamic": (
"FLOAT",
{"default": 6.0, "min": 1.0, "max": 50.0, "step": 0.1},
),
"creativity": (
"FLOAT",
{"default": 0.35, "min": 0.0, "max": 1.0, "step": 0.01},
),
"resemblance": (
"FLOAT",
{"default": 0.6, "min": 0.0, "max": 3.0, "step": 0.01},
),
"tiling_width": ( [ 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256, ], {"default": 112}, ),
"tiling_height": ( [ 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256, ], {"default": 144}, ),
"num_inference_steps": ("INT", {"default": 18, "min": 1, "max": 100}),
"seed": ("INT", {"default": 1337, "min": 0, "max": 2147483647}),
"handfix": (
["disabled", "hands_only", "image_and_hands"],
{"default": "disabled"},
),
"pattern": ("BOOLEAN", {"default": False}),
"sharpen": (
"FLOAT",
{"default": 0.0, "min": 0.0, "max": 10.0, "step": 0.1},
),
"downscaling": ("BOOLEAN", {"default": False}),
"downscaling_resolution": (
"INT",
{"default": 768, "min": 256, "max": 2048},
),
"sd_model": (
[
"epicrealism_naturalSinRC1VAE.safetensors [84d76a0328]",
"juggernaut_reborn.safetensors [338b85bc4f]",
"flat2DAnimerge_v45Sharp.safetensors",
],
{"default": "juggernaut_reborn.safetensors [338b85bc4f]"},
),
"scheduler": ( [ "DPM++ 2M Karras", "DPM++ SDE Karras", "DPM++ 2M SDE Exponential", "DPM++ 2M SDE Karras", "Euler a", "Euler", "LMS", "Heun", "DPM2", "DPM2 a", "DPM++ 2S a", "DPM++ 2M", "DPM++ SDE", "DPM++ 2M SDE", "DPM++ 2M SDE Heun", "DPM++ 2M SDE Heun Karras", "DPM++ 2M SDE Heun Exponential", "DPM++ 3M SDE", "DPM++ 3M SDE Karras", "DPM++ 3M SDE Exponential", "DPM fast", "DPM adaptive", "LMS Karras", "DPM2 Karras", "DPM2 a Karras", "DPM++ 2S a Karras", "Restart", "DDIM", "PLMS", "UniPC", ], {"default": "DPM++ 3M SDE Karras"}, ),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "generate" # Changed from upscale to match parent class
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to upscale images using AI models.
- How to use:
- Provide an image to upscale.
- Dynamic: HDR, try from 3 - 9.
- Pattern: Upscale a pattern with seamless tiling.
- Creativity: Try from 0.3 - 0.9.
- Downscaling: Downscale the image before upscaling. Can improve quality and speed for images with high resolution but lower quality.
- Resemblance: Try from 0.3 - 1.6.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the upscaled image.
"""
def get_model_type(self) -> str:
return "clarityupscaler"
def get_api_host(self) -> str:
API_HOST = get_api_host()
return f"{API_HOST}/api/open/v0/clarityupscaler"
def prepare_payload(self, **kwargs) -> dict:
image_base64 = self.image_to_base64(kwargs["image"])
return {
"image": image_base64,
"scale_factor": kwargs["scale_factor"],
"dynamic": kwargs["dynamic"],
"creativity": kwargs["creativity"],
"resemblance": kwargs["resemblance"],
"tiling_width": kwargs["tiling_width"],
"tiling_height": kwargs["tiling_height"],
"num_inference_steps": kwargs["num_inference_steps"],
"seed": kwargs["seed"],
"handfix": kwargs["handfix"],
"pattern": kwargs["pattern"],
"sharpen": kwargs["sharpen"],
"downscaling": kwargs["downscaling"],
"downscaling_resolution": kwargs["downscaling_resolution"],
"sd_model": kwargs["sd_model"],
"scheduler": kwargs["scheduler"],
}
+85
View File
@@ -0,0 +1,85 @@
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
from ..types import STRING, INT, SAFETY_TOLERANCE, BOOLEAN, NUM_IMAGES
from ..utils import logger, get_nested_value
from ..api_key_manager import load_api_key
logger = logging.getLogger(__name__)
from .base import FlowyApiNode
class FlowyFlux(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"version": (["flux-1.1-pro", "flux-pro", "flux-dev"],),
"image_size": (
[
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9",
"custom",
],
),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
"safety_tolerance": (SAFETY_TOLERANCE,),
"num_images": (NUM_IMAGES,),
},
"optional": {
"height": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
"width": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
},
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "generate"
DESCRIPTION = """Nodes from https://comflowy.com:
- Description: A service to generate images using Flux AI.
- How to use:
- Provide a prompt to generate an image.
- Choose version, image_size, height, width, and seed.
- Height and width are only used when image_size=custom.
- Make sure to set your API Key using the 'Comflowy Set API Key' node first.
- Output: Returns the generated image."""
def get_model_type(self) -> str:
return "flux"
def prepare_payload(self, **kwargs) -> dict:
return {
"prompt": kwargs["prompt"],
"version": kwargs["version"],
"image_size": kwargs["image_size"],
"height": kwargs["height"],
"width": kwargs["width"],
"seed": kwargs["seed"],
"safety_tolerance": kwargs["safety_tolerance"],
"num_images": kwargs["num_images"],
}
+93
View File
@@ -0,0 +1,93 @@
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
from ..types import STRING, INT, SAFETY_TOLERANCE, BOOLEAN, FLOAT, NUM_IMAGES, OUTPUT_FORMAT
from ..utils import logger, get_nested_value
from ..api_key_manager import load_api_key
logger = logging.getLogger(__name__)
from .base import FlowyApiNode
class FlowyFluxDevLora(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"lora_path": ("STRING", {"multiline": True}),
"lora_scale": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 4.0, "step": 0.1}),
"image_size": (
[
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9",
"custom",
],
),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
"num_inference_steps": ("INT", {"default": 28, "min": 1, "max": 50}),
"guidance_scale": ("FLOAT", {"default": 3.5, "min": 1.0, "max": 20.0, "step": 0.1}),
"num_images": (NUM_IMAGES,),
"safety_tolerance": (SAFETY_TOLERANCE,),
"output_format": (OUTPUT_FORMAT,),
},
"optional": {
"height": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
"width": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
},
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "generate"
DESCRIPTION = """Nodes from https://comflowy.com:
- Description: A service to generate images using Flux AI.
- How to use:
- Provide a prompt to generate an image.
- Choose version, image_size, height, width, seed, and other parameters.
- Height and width are only used when image_size=custom.
- Make sure to set your API Key using the 'Comflowy Set API Key' node first.
- Output: Returns the generated image."""
def get_model_type(self) -> str:
return "fluxdevlora"
def prepare_payload(self, **kwargs) -> dict:
return {
"prompt": kwargs["prompt"],
"lora_path": kwargs["lora_path"],
"lora_scale": kwargs["lora_scale"],
"image_size": kwargs["image_size"],
"seed": kwargs["seed"],
"num_inference_steps": kwargs["num_inference_steps"],
"guidance_scale": kwargs["guidance_scale"],
"num_images": kwargs["num_images"],
"safety_tolerance": kwargs["safety_tolerance"],
"output_format": kwargs["output_format"],
"height": kwargs["height"],
"width": kwargs["width"],
}
+43
View File
@@ -0,0 +1,43 @@
from .base import FlowyApiNode
from ..types import STRING, INT, SAFETY_TOLERANCE, BOOLEAN_FALSE
class FlowyFluxProUltra(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"image_size": (
["21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "9:21"],
),
"raw": BOOLEAN_FALSE,
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
"safety_tolerance": (SAFETY_TOLERANCE,),
"num_images": ("INT", {"default": 1, "min": 1, "max": 4}),
}
}
RETURN_TYPES = ("IMAGE",)
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate images using Flux AI.
- How to use:
- Provide a prompt to generate an image.
- Raw: Generate less processed, more natural-looking images
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated image.
"""
def get_model_type(self) -> str:
return "fluxproultra"
def prepare_payload(self, **kwargs) -> dict:
return {
"prompt": kwargs["prompt"],
"image_size": kwargs["image_size"],
"raw": kwargs["raw"],
"seed": kwargs["seed"],
"safety_tolerance": kwargs["safety_tolerance"],
"num_images": kwargs["num_images"],
}
+43
View File
@@ -0,0 +1,43 @@
from .base import FlowyApiNode
from ..types import STRING, INT, BOOLEAN, get_modal_cloud_web_url
class FlowyHailuo(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"image": ("IMAGE",),
"prompt": ("STRING", {"multiline": True}),
"prompt_optimizer": BOOLEAN,
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
}
}
RETURN_TYPES = ("VIDEO",)
RETURN_NAMES = ("video",)
OUTPUT_IS_PREVIEW = True
FUNCTION = "generate"
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate videos from images by Hailuo AI.
- How to use:
- Provide an image and a prompt.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated video.
"""
def get_model_type(self) -> str:
return "hailuo"
def get_api_host(self) -> str:
API_HOST = get_modal_cloud_web_url()
return f"{API_HOST}/api/open/v0/flowy"
def prepare_payload(self, **kwargs) -> dict:
image_base64 = self.image_to_base64(kwargs["image"])
return {
"image": image_base64,
"prompt": kwargs["prompt"],
"prompt_optimizer": kwargs["prompt_optimizer"],
"seed": kwargs["seed"],
}
+57
View File
@@ -0,0 +1,57 @@
from .base import FlowyApiNode
from ..types import STRING, INT, get_api_host
class FlowyIdeogram(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"negative_prompt": ("STRING", {"multiline": True}),
"version": (["ideogram-v2-turbo", "ideogram-v2"],),
"resolution": ( [ "None", "512x1536", "576x1408", "576x1472", "576x1536", "640x1024", "640x1344", "640x1408", "640x1472", "640x1536", "704x1152", "704x1216", "704x1280", "704x1344", "704x1408", "704x1472", "720x1280", "736x1312", "768x1024", "768x1088", "768x1152", "768x1216", "768x1232", "768x1280", "768x1344", "832x960", "832x1024", "832x1088", "832x1152", "832x1216", "832x1248", "864x1152", "896x960", "896x1024", "896x1088", "896x1120", "896x1152", "960x832", "960x896", "960x1024", "960x1088", "1024x640", "1024x768", "1024x832", "1024x896", "1024x960", "1024x1024", "1088x768", "1088x832", "1088x896", "1088x960", "1120x896", "1152x704", "1152x768", "1152x832", "1152x864", "1152x896", "1216x704", "1216x768", "1216x832", "1232x768", "1248x832", "1280x704", "1280x720", "1280x768", "1280x800", "1312x736", "1344x640", "1344x704", "1344x768", "1408x576", "1408x640", "1408x704", "1472x576", "1472x640", "1472x704", "1536x512", "1536x576", "1536x640", ], ),
"style_type": (
["None", "Auto", "Realistic", "Design", "Anime", "Render 3D"],
),
"aspect_ratio": ( [ "1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3", "16:10", "10:16", "3:1", "1:3", ], ),
"magic_prompt_option": (["On", "Off"],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
}
}
RETURN_TYPES = ("IMAGE",)
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate images using Ideogram AI.
- How to use:
- Provide a prompt to generate an image.
- Choose resolution, style type, aspect ratio, and magic prompt option.
- Resolution overrides aspect ratio.
- Magic Prompt will interpret your prompt and optimize it to maximize variety and quality of the images generated. You can also use it to write prompts in different languages.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated image.
"""
def get_model_type(self) -> str:
return "ideogram"
def get_api_host(self) -> str:
API_HOST = get_api_host()
return f"{API_HOST}/api/open/v0/ideogram"
def prepare_payload(self, **kwargs) -> dict:
return {
"prompt": kwargs["prompt"],
"negative_prompt": kwargs["negative_prompt"],
"version": kwargs["version"],
"resolution": (
kwargs["resolution"] if kwargs["resolution"] != "None" else None
),
"style_type": (
kwargs["style_type"] if kwargs["style_type"] != "None" else None
),
"aspect_ratio": kwargs["aspect_ratio"],
"magic_prompt_option": kwargs["magic_prompt_option"],
"seed": kwargs["seed"],
}
+44
View File
@@ -0,0 +1,44 @@
from .base import FlowyApiNode
from ..types import STRING, INT
class FlowyKling(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"image": ("IMAGE",),
"prompt": ("STRING", {"multiline": True}),
"version": (["standard", "pro"],),
"aspect_ratio": (["16:9", "9:16", "1:1"],),
"duration": ([5, 10],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
}
}
RETURN_TYPES = ("VIDEO",)
RETURN_NAMES = ("video",)
OUTPUT_IS_PREVIEW = True
FUNCTION = "generate" # Changed from image_to_video to match parent class
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate videos from images by Kling AI.
- How to use:
- Provide an image and a prompt.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Pro costs 1250 per second of video. Standard will cost 300 per second of video.
- Output: Returns the generated video.
"""
def get_model_type(self) -> str:
return "kling"
def prepare_payload(self, **kwargs) -> dict:
image_base64 = self.image_to_base64(kwargs["image"])
return {
"image": image_base64,
"prompt": kwargs["prompt"],
"version": kwargs["version"],
"aspect_ratio": kwargs["aspect_ratio"],
"duration": kwargs["duration"],
"seed": kwargs["seed"],
}
+47
View File
@@ -0,0 +1,47 @@
from .base import FlowyApiNode
from ..types import STRING, INT, BOOLEAN_FALSE
class FlowyLuma(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"image": ("IMAGE",),
"prompt": ("STRING", {"multiline": True}),
"aspect_ratio": (["16:9", "9:16", "1:1"],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
},
"optional": {
"end_image_optional": ("IMAGE",),
"loop": BOOLEAN_FALSE,
},
}
RETURN_TYPES = ("VIDEO",)
RETURN_NAMES = ("video",)
OUTPUT_IS_PREVIEW = True
FUNCTION = "generate" # Changed from image_to_video to match parent class
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate videos from images by Luma AI.
- How to use:
- Provide an image and a prompt.
- Loop: Whether the video should loop (end of video is blended with the beginning).
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated video.
"""
def get_model_type(self) -> str:
return "luma"
def prepare_payload(self, **kwargs) -> dict:
image_base64 = self.image_to_base64(kwargs["image"])
return {
"image": image_base64,
"prompt": kwargs["prompt"],
"aspect_ratio": kwargs["aspect_ratio"],
"end_image": kwargs.get("end_image_optional"), # Optional parameter
"loop": kwargs.get("loop", False), # Optional parameter with default
"seed": kwargs["seed"],
}
+93
View File
@@ -0,0 +1,93 @@
from .base import FlowyApiNode
from ..types import STRING, INT
class FlowyRecraft(FlowyApiNode):
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"image_size": (
[
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9",
"custom",
],
),
"style": (
[
"realistic_image",
"digital_illustration",
"vector_illustration",
"realistic_image/b_and_w",
"realistic_image/hard_flash",
"realistic_image/hdr",
"realistic_image/natural_light",
"realistic_image/studio_portrait",
"realistic_image/enterprise",
"realistic_image/motion_blur",
"digital_illustration/pixel_art",
"digital_illustration/hand_drawn",
"digital_illustration/grain",
"digital_illustration/infantile_sketch",
"digital_illustration/2d_art_poster",
"digital_illustration/handmade_3d",
"digital_illustration/hand_drawn_outline",
"digital_illustration/engraving_color",
"digital_illustration/2d_art_poster_2",
"vector_illustration/engraving",
"vector_illustration/line_art",
"vector_illustration/line_circuit",
"vector_illustration/linocut",
],
),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
},
"optional": {
"height": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
"width": (
"INT",
{
"default": 512,
"min": 256,
"max": 2048,
"hidden": "image_size != 'custom'",
},
),
},
}
RETURN_TYPES = ("IMAGE",)
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate images using Recraft AI.
- How to use:
- Provide a prompt to generate an image.
- Style: The style of the generated images. Vector images cost 2X as much.
- Output: Returns the generated image.
"""
def get_model_type(self) -> str:
return "recraft"
def prepare_payload(self, **kwargs) -> dict:
return {
"prompt": kwargs["prompt"],
"image_size": kwargs["image_size"],
"height": kwargs.get("height"),
"width": kwargs.get("width"),
"style": kwargs["style"],
"seed": kwargs["seed"],
}
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Replicate
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+66
View File
@@ -0,0 +1,66 @@
# comfyui-replicate
Custom nodes for running [Replicate models](https://replicate.com/explore) in ComfyUI.
Take a look at the [example workflows](https://github.com/replicate/comfyui-replicate/tree/main/example_workflows) and the [supported Replicate models](https://github.com/replicate/comfyui-replicate/blob/main/supported_models.json) to get started.
![example-screenshot](https://github.com/replicate/comfyui-replicate/assets/319055/0eedb026-de3e-402a-b8fc-0a14c2fd209e)
## Set your Replicate API token before running
Make sure you set your REPLICATE_API_TOKEN in your environment. Get your API tokens here, we recommend creating a new one:
https://replicate.com/account/api-tokens
To pass in your API token when running ComfyUI you could do:
On MacOS or Linux:
```sh
export REPLICATE_API_TOKEN="r8_************"; python main.py
```
On Windows:
```sh
set REPLICATE_API_TOKEN="r8_************"; python main.py
```
## Direct installation
```sh
cd ComfyUI/custom-nodes
git clone https://github.com/replicate/comfyui-replicate
cd comfyui-replicate
pip install -r requirements.txt
```
## Supported Replicate models
View the `supported_models.json` to see which models are packaged by default.
## Update Replicate models
Simply run `./import_schemas.py` to update all model nodes. The latest version of a model is used by default.
## Add more models
Only models that return simple text or image outputs are currently supported. If a model returns audio, video, JSON objects or a combination of outputs, the node will not work as expected.
If you want to add more models, you can:
- add the model to `supported_models.json` (for example, `fofr/consistent-character`)
- run `./import_schemas.py`, this will update all schemas and import your new model
- restart ComfyUI
- use the model in workflow, it’ll have the title ‘Replicate [model author/model name]’
## Roadmap
Things to investigate and add to this custom node package:
- support for more types of Replicate model (audio and video first)
- showing logs, prediction status and progress (via tqdm)
## Contributing
If you add models that others would find useful, feel free to raise PRs.
+3
View File
@@ -0,0 +1,3 @@
from .replicate_bridge import REPLICATE_NODE_CLASS_MAPPINGS
__all__ = ["REPLICATE_NODE_CLASS_MAPPINGS"]
@@ -0,0 +1,162 @@
{
"last_node_id": 7,
"last_link_id": 2,
"nodes": [
{
"id": 5,
"type": "Replicate suno-ai/bark",
"pos": [
540,
264
],
"size": {
"0": 400,
"1": 266
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
1
],
"shape": 3,
"slot_index": 0
},
{
"name": "STRING",
"type": "STRING",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "Replicate suno-ai/bark"
},
"widgets_values": [
"Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe.",
"announcer",
"",
0.7,
0.7,
false,
false
]
},
{
"id": 7,
"type": "PreviewAudio",
"pos": [
1457,
272
],
"size": {
"0": 315,
"1": 76
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 2
}
],
"properties": {
"Node name for S&R": "PreviewAudio"
},
"widgets_values": [
null
]
},
{
"id": 6,
"type": "Replicate meta/musicgen",
"pos": [
1001,
269
],
"size": {
"0": 400,
"1": 436
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "input_audio",
"type": "AUDIO",
"link": 1
}
],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
2
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate meta/musicgen"
},
"widgets_values": [
"stereo-melody-large",
"rap, rock",
20,
true,
0,
6,
false,
"loudness",
250,
0,
1,
3,
"wav",
1607,
"randomize",
false
]
}
],
"links": [
[
1,
5,
0,
6,
0,
"AUDIO"
],
[
2,
6,
0,
7,
0,
"AUDIO"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
-123.2666015625,
-48.2666015625
]
}
},
"version": 0.4
}
@@ -0,0 +1,337 @@
{
"last_node_id": 21,
"last_link_id": 27,
"nodes": [
{
"id": 17,
"type": "DF_Text_Box",
"pos": [
-55,
-228
],
"size": {
"0": 400,
"1": 200
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
22,
23,
24
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "DF_Text_Box"
},
"widgets_values": [
"a neon light saying \"flux now in comfyui-replicate\""
]
},
{
"id": 13,
"type": "SaveImage",
"pos": [
1023,
-699
],
"size": {
"0": 315,
"1": 270
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 25
}
],
"properties": {},
"widgets_values": [
"flux-schnell"
]
},
{
"id": 21,
"type": "Replicate black-forest-labs/flux-schnell",
"pos": [
580,
-697
],
"size": [
400,
268
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "prompt",
"type": "STRING",
"link": 22,
"widget": {
"name": "prompt"
}
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
25
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate black-forest-labs/flux-schnell"
},
"widgets_values": [
"",
"3:2",
1,
1331,
"randomize",
"webp",
80,
false,
false
]
},
{
"id": 14,
"type": "SaveImage",
"pos": [
1027,
-375
],
"size": {
"0": 315,
"1": 270
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 26
}
],
"properties": {},
"widgets_values": [
"flux-dev"
]
},
{
"id": 20,
"type": "Replicate black-forest-labs/flux-dev",
"pos": [
579,
-377
],
"size": [
400,
316
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": null
},
{
"name": "prompt",
"type": "STRING",
"link": 23,
"widget": {
"name": "prompt"
}
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
26
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate black-forest-labs/flux-dev"
},
"widgets_values": [
"",
"3:2",
0.8,
1,
3.5,
1454,
"randomize",
"webp",
80,
false,
false
]
},
{
"id": 15,
"type": "SaveImage",
"pos": [
1030,
-7
],
"size": {
"0": 315,
"1": 270
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 27
}
],
"properties": {},
"widgets_values": [
"flux-pro"
]
},
{
"id": 19,
"type": "Replicate black-forest-labs/flux-pro",
"pos": [
579,
-3
],
"size": [
400,
268
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "prompt",
"type": "STRING",
"link": 24,
"widget": {
"name": "prompt"
}
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
27
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate black-forest-labs/flux-pro"
},
"widgets_values": [
"",
"3:2",
25,
3,
2,
2,
1262,
"randomize",
false
]
}
],
"links": [
[
22,
17,
0,
21,
0,
"STRING"
],
[
23,
17,
0,
20,
1,
"STRING"
],
[
24,
17,
0,
19,
0,
"STRING"
],
[
25,
21,
0,
13,
0,
"IMAGE"
],
[
26,
20,
0,
14,
0,
"IMAGE"
],
[
27,
19,
0,
15,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
189.2626953125,
773.8525390625
]
}
},
"version": 0.4
}
@@ -0,0 +1,566 @@
{
"last_node_id": 10,
"last_link_id": 13,
"nodes": [
{
"id": 5,
"type": "CLIPTextEncode",
"pos": [
1199,
389
],
"size": [
400,
200
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 4
},
{
"name": "text",
"type": "STRING",
"link": 3,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
5
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 4,
"type": "CLIPTextEncode",
"pos": [
1195,
649
],
"size": {
"0": 400,
"1": 200
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 2
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
6
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 6,
"type": "KSampler",
"pos": [
1664,
404
],
"size": {
"0": 315,
"1": 262
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 11
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 5
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 6
},
{
"name": "latent_image",
"type": "LATENT",
"link": 7
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
8
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
690393467025334,
"randomize",
25,
7,
"dpmpp_2m_sde_gpu",
"karras",
1
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
2061,
406
],
"size": {
"0": 210,
"1": 46
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 8
},
{
"name": "vae",
"type": "VAE",
"link": 9
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
10
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 3,
"type": "CheckpointLoaderSimple",
"pos": [
735,
527
],
"size": {
"0": 315,
"1": 98
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
11
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
2,
4
],
"shape": 3,
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [
9
],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"proteusV0.5.safetensors"
]
},
{
"id": 7,
"type": "EmptyLatentImage",
"pos": [
1270,
219
],
"size": [
315,
106
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "width",
"type": "INT",
"link": 12,
"widget": {
"name": "width"
}
},
{
"name": "height",
"type": "INT",
"link": 13,
"widget": {
"name": "height"
}
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
7
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "EmptyLatentImage"
},
"widgets_values": [
1024,
1024,
1
]
},
{
"id": 10,
"type": "Width and height from aspect ratio 🪴",
"pos": [
838,
183
],
"size": {
"0": 315,
"1": 126
},
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "width",
"type": "INT",
"links": [
12
],
"shape": 3,
"slot_index": 0
},
{
"name": "height",
"type": "INT",
"links": [
13
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "Width and height from aspect ratio 🪴"
},
"widgets_values": [
"16:9",
1024,
8
]
},
{
"id": 9,
"type": "SaveImage",
"pos": [
157,
474
],
"size": [
500.09607697684555,
307.000781640146
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 10
}
],
"properties": {},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 2,
"type": "ShowText|pysssss",
"pos": [
153,
234
],
"size": [
450.830078125,
192.2900390625
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "text",
"type": "STRING",
"link": 1,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": null,
"shape": 6
}
],
"properties": {
"Node name for S&R": "ShowText|pysssss"
},
"widgets_values": [
"",
"A film still of a sci-fi anime movie, two space explorers in a tense, mystical confrontation on a bizarre, abandoned space station, weird, dreamlike, muted metallic colors, soft, ethereal lighting, unusual, organic architecture, anime style, intricate details, dramatic posing."
]
},
{
"id": 1,
"type": "Replicate meta/meta-llama-3.1-405b-instruct",
"pos": [
-274,
235
],
"size": [
398.7880859375,
447.314453125
],
"flags": {},
"order": 2,
"mode": 0,
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
1,
3
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate meta/meta-llama-3.1-405b-instruct"
},
"widgets_values": [
"an awesome scifi anime scene, with some dynamic interaction between two people, don't use neon stuff though, be weird",
"You are a helpful text to image prompt assistant. You enhance prompts using short sentences and comma separated keywords, subject first then style. Return just the prompt. Make sure to keep all details from given prompt (like if it's a photo, etc)\n\nGood prompt example:\nA film still of an anime movie, two space explorers in a tense standoff on a desolate alien planet, surreal, muted color palette, eerie atmospheric lighting, unusual architecture, anime style, detailed textures, dramatic posing.",
0,
512,
0.6,
0.9,
50,
0,
0,
"",
false
]
}
],
"links": [
[
1,
1,
0,
2,
0,
"STRING"
],
[
2,
3,
1,
4,
0,
"CLIP"
],
[
3,
1,
0,
5,
1,
"STRING"
],
[
4,
3,
1,
5,
0,
"CLIP"
],
[
5,
5,
0,
6,
1,
"CONDITIONING"
],
[
6,
4,
0,
6,
2,
"CONDITIONING"
],
[
7,
7,
0,
6,
3,
"LATENT"
],
[
8,
6,
0,
8,
0,
"LATENT"
],
[
9,
3,
2,
8,
1,
"VAE"
],
[
10,
8,
0,
9,
0,
"IMAGE"
],
[
11,
3,
0,
6,
0,
"MODEL"
],
[
12,
10,
0,
7,
0,
"INT"
],
[
13,
10,
1,
7,
1,
"INT"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.6209213230591553,
"offset": [
357.0363126973379,
28.753132988760044
]
}
},
"version": 0.4
}
@@ -0,0 +1,205 @@
{
"last_node_id": 4,
"last_link_id": 3,
"nodes": [
{
"id": 3,
"type": "LoadImage",
"pos": [
237,
507
],
"size": [
315,
314
],
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"KakaoTalk_Photo_2024-04-04-21-44-45-1.png",
"image"
]
},
{
"id": 2,
"type": "LoadImage",
"pos": [
240,
137
],
"size": [
315,
314
],
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"sweater.webp",
"image"
]
},
{
"id": 1,
"type": "Replicate cuuupid/idm-vton",
"pos": [
915,
300
],
"size": {
"0": 315,
"1": 290
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "garm_img",
"type": "IMAGE",
"link": 2
},
{
"name": "human_img",
"type": "IMAGE",
"link": 1
},
{
"name": "mask_img",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
3
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate cuuupid/idm-vton"
},
"widgets_values": [
"",
"upper_body",
false,
false,
false,
30,
71,
"randomize",
false
]
},
{
"id": 4,
"type": "SaveImage",
"pos": [
1312,
296
],
"size": [
368.7568359375,
308.6533203125
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 3
}
],
"properties": {},
"widgets_values": [
"ComfyUI"
]
}
],
"links": [
[
1,
3,
0,
1,
1,
"IMAGE"
],
[
2,
2,
0,
1,
0,
"IMAGE"
],
[
3,
1,
0,
4,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
33.1787109375,
-26.455078125
]
}
},
"version": 0.4
}
@@ -0,0 +1,485 @@
{
"last_node_id": 12,
"last_link_id": 11,
"nodes": [
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
413,
389
],
"size": {
"0": 425.27801513671875,
"1": 180.6060791015625
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 5
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
6
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"text, watermark"
]
},
{
"id": 5,
"type": "EmptyLatentImage",
"pos": [
473,
609
],
"size": {
"0": 315,
"1": 106
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
2
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "EmptyLatentImage"
},
"widgets_values": [
512,
512,
1
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1209,
188
],
"size": {
"0": 210,
"1": 46
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 7
},
{
"name": "vae",
"type": "VAE",
"link": 8
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
415,
187
],
"size": [
422.84503173828125,
164.31304931640625
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 3
},
{
"name": "text",
"type": "STRING",
"link": 10,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
4
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"beautiful scenery nature glass bottle landscape, , purple galaxy bottle,"
]
},
{
"id": 4,
"type": "CheckpointLoaderSimple",
"pos": [
43,
437
],
"size": {
"0": 315,
"1": 98
},
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1
],
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
3,
5
],
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [
8
],
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"dreamshaperXL_lightningDPMSDE.safetensors"
]
},
{
"id": 3,
"type": "KSampler",
"pos": [
863,
186
],
"size": {
"0": 315,
"1": 262
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 4
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 6
},
{
"name": "latent_image",
"type": "LATENT",
"link": 2
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
7
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
106695855998949,
"randomize",
4,
2,
"dpmpp_sde",
"karras",
1
]
},
{
"id": 9,
"type": "SaveImage",
"pos": [
1451,
189
],
"size": [
210,
270
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 9
}
],
"properties": {},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 12,
"type": "ShowText|pysssss",
"pos": [
50,
85
],
"size": [
320.3125,
217.568359375
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "text",
"type": "STRING",
"link": 11,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": null,
"shape": 6
}
],
"properties": {
"Node name for S&R": "ShowText|pysssss"
},
"widgets_values": [
"",
"cozy living room with large windows, plush couch, crackling fireplace, vintage rug, warm lighting, and a beautiful cityscape view outside"
]
},
{
"id": 10,
"type": "Replicate meta/meta-llama-3-70b-instruct",
"pos": [
-446,
83
],
"size": [
449.5546875,
696.453125
],
"flags": {},
"order": 2,
"mode": 0,
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
10,
11
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate meta/meta-llama-3-70b-instruct"
},
"widgets_values": [
"A living room",
"You are a helpful text to image prompt assistant. You write short comma separated prompts for image generators. Return only the prompt, do not use quotes. Embellish the request.",
512,
0,
1,
0.95,
0,
"<|end_of_text|>,<|eot_id|>",
1,
0,
1840,
"randomize",
"<|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\n{system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>",
false,
false
]
}
],
"links": [
[
1,
4,
0,
3,
0,
"MODEL"
],
[
2,
5,
0,
3,
3,
"LATENT"
],
[
3,
4,
1,
6,
0,
"CLIP"
],
[
4,
6,
0,
3,
1,
"CONDITIONING"
],
[
5,
4,
1,
7,
0,
"CLIP"
],
[
6,
7,
0,
3,
2,
"CONDITIONING"
],
[
7,
3,
0,
8,
0,
"LATENT"
],
[
8,
4,
2,
8,
1,
"VAE"
],
[
9,
8,
0,
9,
0,
"IMAGE"
],
[
10,
10,
0,
6,
1,
"STRING"
],
[
11,
10,
0,
12,
0,
"STRING"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": {
"0": 574.140625,
"1": 77.529296875
}
}
},
"version": 0.4
}
@@ -0,0 +1,159 @@
{
"last_node_id": 5,
"last_link_id": 4,
"nodes": [
{
"id": 4,
"type": "Replicate yorickvp/llava-v1.6-34b",
"pos": [
900,
386
],
"size": {
"0": 400,
"1": 200
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 3
}
],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
4
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Replicate yorickvp/llava-v1.6-34b"
},
"widgets_values": [
"Describe this image",
1,
0.2,
1024,
"",
false
]
},
{
"id": 5,
"type": "ShowText|pysssss",
"pos": [
1348,
390
],
"size": [
366.6171875,
247.916015625
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "text",
"type": "STRING",
"link": 4,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": null,
"shape": 6
}
],
"properties": {
"Node name for S&R": "ShowText|pysssss"
},
"widgets_values": [
"",
"The image appears to be a stylized drawing of two individuals, likely a man and a woman, depicted in a cartoon or caricature style. The man has short, light-colored hair and a beard, and is wearing a dark suit with a white shirt and a black tie. The woman has long, blonde hair and is wearing what seems to be a black dress. Both characters are smiling and looking directly at the viewer. The background is a solid light blue color. There is a watermark or logo in the upper right corner of the image, but the text is not legible in this description. The overall style of the image is playful and artistic, with a focus on the facial features and expressions of the characters."
]
},
{
"id": 1,
"type": "LoadImage",
"pos": [
551,
393
],
"size": [
315,
314
],
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
3
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"R8__00002_-4.webp",
"image"
]
}
],
"links": [
[
3,
1,
0,
4,
0,
"IMAGE"
],
[
4,
4,
0,
5,
0,
"STRING"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
0,
0
]
}
},
"version": 0.4
}
+58
View File
@@ -0,0 +1,58 @@
#!/usr/bin/env python3
import replicate
import json
import os
import argparse
def format_json_file(file_path):
try:
with open(file_path, "r") as f:
data = json.load(f)
data["run_count"] = 0
with open(file_path, "w") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
except json.JSONDecodeError:
print(f"Error: {file_path} contains invalid JSON")
except IOError:
print(f"Error: Could not read or write to {file_path}")
def format_json_files_in_directory(directory):
for filename in os.listdir(directory):
if filename.endswith(".json"):
file_path = os.path.join(directory, filename)
format_json_file(file_path)
def update_schemas(update=False):
with open("supported_models.json", "r", encoding="utf-8") as f:
supported_models = json.load(f)
schemas_directory = "schemas"
existing_schemas = set(os.listdir(schemas_directory))
for model in supported_models["models"]:
schema_filename = f"{model.replace('/', '_')}.json"
schema_path = os.path.join(schemas_directory, schema_filename)
if update or schema_filename not in existing_schemas:
try:
m = replicate.models.get(model)
with open(schema_path, "w", encoding="utf-8") as f:
f.write(m.json())
print(f"{'Updated' if update else 'Added'} schema for {model}")
except replicate.exceptions.ReplicateError as e:
print(f"Error fetching schema for {model}: {str(e)}")
continue
format_json_files_in_directory(schemas_directory)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Update model schemas")
parser.add_argument("--update", action="store_true", help="Update all schemas, not just new ones")
args = parser.parse_args()
update_schemas(update=args.update)
+14
View File
@@ -0,0 +1,14 @@
[project]
name = "comfyui-replicate"
description = "Run Replicate models in ComfyUI"
version = "1.1.0"
license = { file = "LICENSE" }
[project.urls]
Repository = "https://github.com/replicate/comfyui-replicate"
# Used by Comfy Registry https://comfyregistry.org
[tool.comfy]
PublisherId = "fofr"
DisplayName = "ComfyUI-Replicate"
Icon = ""
@@ -0,0 +1,117 @@
import json
import os
import time
import torch
from ..base import FlowyApiNode
from .schema_to_node import (
schema_to_comfyui_input_types,
get_return_type,
name_and_version,
inputs_that_need_arrays,
)
from ...api_key_manager import load_api_key
def create_comfyui_node(schema):
replicate_model, node_name = name_and_version(schema)
return_type = get_return_type(schema)
class ReplicateNode(FlowyApiNode):
@classmethod
def IS_CHANGED(cls, **kwargs):
return time.time() if kwargs["force_rerun"] else ""
@classmethod
def INPUT_TYPES(cls):
return schema_to_comfyui_input_types(schema)
RETURN_TYPES = (
tuple(return_type.values())
if isinstance(return_type, dict)
else (return_type,)
)
CATEGORY = "Comflowy Replicate"
def get_model_type(self) -> str:
return "replicate"
def get_api_key(self) -> str:
"""获取 Comflowy API token"""
api_key = load_api_key()
if not api_key:
raise ValueError("Comflowy API key not found. Please set your API key first.")
return api_key
def prepare_payload(self, **kwargs):
# Remove force_rerun from kwargs
kwargs = {k: v for k, v in kwargs.items() if k != "force_rerun"}
# Handle array inputs
array_inputs = inputs_that_need_arrays(schema)
for input_name in array_inputs:
if input_name in kwargs:
if isinstance(kwargs[input_name], str):
kwargs[input_name] = (
[]
if kwargs[input_name] == ""
else kwargs[input_name].split("\n")
)
else:
kwargs[input_name] = [kwargs[input_name]]
# Process image and audio inputs
for key, value in kwargs.items():
if value is not None:
input_type = (
self.INPUT_TYPES()["required"].get(key, (None,))[0]
or self.INPUT_TYPES().get("optional", {}).get(key, (None,))[0]
)
if input_type == "IMAGE":
kwargs[key] = self.image_to_base64(value)
elif input_type == "AUDIO":
kwargs[key] = self.audio_to_base64(value)
# Remove empty optional inputs
optional_inputs = self.INPUT_TYPES().get("optional", {})
for key in list(kwargs.keys()):
if key in optional_inputs:
if isinstance(kwargs[key], torch.Tensor):
continue
elif not kwargs[key]:
del kwargs[key]
# 添加 API token 到 payload
return {
"replicate_model": replicate_model,
"input": kwargs,
"api_key": self.get_api_key() # 添加 API token
}
return node_name, ReplicateNode
def create_comfyui_nodes_from_schemas(schemas_dir):
nodes = {}
current_path = os.path.dirname(os.path.abspath(__file__))
schemas_dir_path = os.path.join(current_path, schemas_dir)
for schema_file in os.listdir(schemas_dir_path):
if schema_file.endswith(".json"):
with open(
os.path.join(schemas_dir_path, schema_file), "r", encoding="utf-8"
) as f:
schema = json.load(f)
node_name, node_class = create_comfyui_node(schema)
nodes[node_name] = node_class
return nodes
_cached_node_class_mappings = None
def get_node_class_mappings():
global _cached_node_class_mappings
if _cached_node_class_mappings is None:
_cached_node_class_mappings = create_comfyui_nodes_from_schemas("schemas")
return _cached_node_class_mappings
REPLICATE_NODE_CLASS_MAPPINGS = get_node_class_mappings()
@@ -0,0 +1 @@
replicate>=1.0.3
+242
View File
@@ -0,0 +1,242 @@
DEFAULT_STEP = 0.01
DEFAULT_ROUND = 0.001
IMAGE_EXTENSIONS = (".png", ".jpg", ".jpeg", ".gif", ".webp")
VIDEO_EXTENSIONS = (".mp4", ".mkv", ".webm", ".mov", ".mpg", ".mpeg")
AUDIO_EXTENSIONS = (".mp3", ".wav", ".flac", ".mpga", ".m4a")
TYPE_MAPPING = {
"string": "STRING",
"integer": "INT",
"number": "FLOAT",
"boolean": "BOOLEAN",
}
def convert_to_comfyui_input_type(
input_name, openapi_type, openapi_format=None, default_example_input=None
):
if openapi_type == "string" and openapi_format == "uri":
if (
default_example_input
and isinstance(default_example_input, dict)
and input_name in default_example_input
):
if is_type(default_example_input[input_name], IMAGE_EXTENSIONS):
return "IMAGE"
elif is_type(default_example_input[input_name], VIDEO_EXTENSIONS):
return "VIDEO"
elif is_type(default_example_input[input_name], AUDIO_EXTENSIONS):
return "AUDIO"
elif any(x in input_name.lower() for x in ["image", "mask"]):
return "IMAGE"
elif "audio" in input_name.lower():
return "AUDIO"
else:
return "STRING"
return TYPE_MAPPING.get(openapi_type, "STRING")
def name_and_version(schema):
author = schema["owner"]
name = schema["name"]
version = schema["latest_version"]["id"]
replicate_model = f"{author}/{name}:{version}"
node_name = f"Replicate {author}/{name}"
return replicate_model, node_name
def resolve_schema(prop_data, openapi_schema):
if "$ref" in prop_data:
ref_path = prop_data["$ref"].split("/")
current = openapi_schema
for path in ref_path[1:]: # Skip the first '#' element
if path not in current:
return prop_data # Return original if path is invalid
current = current[path]
return current
return prop_data
def schema_to_comfyui_input_types(schema):
openapi_schema = schema["latest_version"]["openapi_schema"]
input_schema = openapi_schema["components"]["schemas"]["Input"]
input_types = {"required": {}, "optional": {}}
default_example_input = get_default_example_input(schema)
required_props = input_schema.get("required", [])
for prop_name, prop_data in input_schema["properties"].items():
prop_data = resolve_schema(prop_data, openapi_schema)
default_value = prop_data.get("default", None)
if "allOf" in prop_data:
prop_data = resolve_schema(prop_data["allOf"][0], openapi_schema)
if "enum" in prop_data:
input_type = prop_data["enum"]
elif "type" in prop_data:
input_type = convert_to_comfyui_input_type(
prop_name,
prop_data["type"],
prop_data.get("format"),
default_example_input,
)
else:
input_type = "STRING"
input_config = {"default": default_value} if default_value is not None else {}
if "minimum" in prop_data:
input_config["min"] = prop_data["minimum"]
if "maximum" in prop_data:
input_config["max"] = prop_data["maximum"]
if input_type == "FLOAT":
input_config["step"] = DEFAULT_STEP
input_config["round"] = DEFAULT_ROUND
if "prompt" in prop_name and prop_data.get("type") == "string":
input_config["multiline"] = True
# Meta prompt_template needs `{prompt}` to be sent through
# dynamicPrompts would strip it out
if "template" not in prop_name:
input_config["dynamicPrompts"] = True
if prop_name in required_props:
input_types["required"][prop_name] = (input_type, input_config)
else:
input_types["optional"][prop_name] = (input_type, input_config)
input_types["optional"]["force_rerun"] = ("BOOLEAN", {"default": False})
return order_inputs(input_types, input_schema)
def order_inputs(input_types, input_schema):
ordered_input_types = {"required": {}, "optional": {}}
sorted_properties = sorted(
input_schema["properties"].items(),
key=lambda x: x[1].get("x-order", float("inf")),
)
for prop_name, _ in sorted_properties:
if prop_name in input_types["required"]:
ordered_input_types["required"][prop_name] = input_types["required"][
prop_name
]
elif prop_name in input_types["optional"]:
ordered_input_types["optional"][prop_name] = input_types["optional"][
prop_name
]
ordered_input_types["optional"]["force_rerun"] = input_types["optional"][
"force_rerun"
]
return ordered_input_types
def inputs_that_need_arrays(schema):
openapi_schema = schema["latest_version"]["openapi_schema"]
input_schema = openapi_schema["components"]["schemas"]["Input"]
array_inputs = []
for prop_name, prop_data in input_schema["properties"].items():
if prop_data.get("type") == "array":
array_inputs.append(prop_name)
return array_inputs
def is_type(default_example_output, extensions):
if isinstance(
default_example_output, str
) and default_example_output.lower().endswith(extensions):
return True
elif (
isinstance(default_example_output, list)
and default_example_output
and isinstance(default_example_output[0], str)
and default_example_output[0].lower().endswith(extensions)
):
return True
return False
def get_default_example(schema):
default_example = schema.get("default_example")
return default_example if default_example else None
def get_default_example_input(schema):
default_example = get_default_example(schema)
return default_example.get("input") if default_example else None
def get_default_example_output(schema):
default_example = get_default_example(schema)
return default_example.get("output") if default_example else None
def get_return_type(schema):
openapi_schema = schema["latest_version"]["openapi_schema"]
output_schema = (
openapi_schema.get("components", {}).get("schemas", {}).get("Output")
)
default_example_output = get_default_example_output(schema)
if output_schema and "$ref" in output_schema:
output_schema = resolve_schema(output_schema, openapi_schema)
if isinstance(output_schema, dict) and output_schema.get("properties"):
return_types = {}
for prop_name, prop_data in output_schema["properties"].items():
if isinstance(default_example_output, dict):
prop_value = default_example_output.get(prop_name)
if is_type(prop_value, IMAGE_EXTENSIONS):
return_types[prop_name] = "IMAGE"
elif is_type(prop_value, AUDIO_EXTENSIONS):
return_types[prop_name] = "AUDIO"
elif is_type(prop_value, VIDEO_EXTENSIONS):
return_types[prop_name] = "VIDEO_URI"
else:
return_types[prop_name] = "STRING"
elif prop_data.get("format") == "uri":
if "audio" in prop_name.lower():
return_types[prop_name] = "AUDIO"
elif "image" in prop_name.lower():
return_types[prop_name] = "IMAGE"
else:
return_types[prop_name] = "STRING"
elif prop_data.get("type") == "string":
return_types[prop_name] = "STRING"
else:
return_types[prop_name] = "STRING"
return return_types
if is_type(default_example_output, IMAGE_EXTENSIONS):
return "IMAGE"
elif is_type(default_example_output, VIDEO_EXTENSIONS):
return "VIDEO_URI"
elif is_type(default_example_output, AUDIO_EXTENSIONS):
return "AUDIO"
if output_schema:
if (
output_schema.get("type") == "string"
and output_schema.get("format") == "uri"
):
# Handle single image output
return "IMAGE"
elif (
output_schema.get("type") == "array"
and output_schema.get("items", {}).get("type") == "string"
and output_schema.get("items", {}).get("format") == "uri"
):
# Handle multiple image output
return "IMAGE"
return "STRING"
@@ -0,0 +1,481 @@
{
"url": "https://replicate.com/andreasjansson/blip-2",
"owner": "andreasjansson",
"name": "blip-2",
"description": "Answers questions about images",
"visibility": "public",
"github_url": "https://github.com/daanelson/cog-blip-2",
"paper_url": "https://arxiv.org/abs/2301.12597",
"license_url": null,
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/031b9aee-ed15-4429-a7e4-813b72e9edc5/gg_bridge.jpeg",
"default_example": {
"id": "uhd4lhedtvdlbnm2cyhzx65zpe",
"model": "andreasjansson/blip-2",
"version": "4b32258c42e9efd4288bb9910bc532a69727f9acd26aa08e175713a0a857a608",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/IJEPmgAlL2zNBNDoRRKFegTEcxnlRhoQxlNjPHSZEy0pSIKn/gg_bridge.jpeg",
"caption": false,
"question": "what body of water does this bridge cross?",
"temperature": 1
},
"output": "san francisco bay",
"logs": "input for question answering: Question: what body of water does this bridge cross? Answer:",
"error": null,
"metrics": {
"predict_time": 0.949567,
"total_time": 1.010552
},
"created_at": "2023-02-13T22:26:48.385476Z",
"started_at": "2023-02-13T22:26:48.446461Z",
"completed_at": "2023-02-13T22:26:49.396028Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/uhd4lhedtvdlbnm2cyhzx65zpe",
"cancel": "https://api.replicate.com/v1/predictions/uhd4lhedtvdlbnm2cyhzx65zpe/cancel"
}
},
"latest_version": {
"id": "f677695e5e89f8b236e52ecd1d3f01beb44c34606419bcc19345e046d8f786f9",
"created_at": "2023-11-20T20:18:16.669421+00:00",
"cog_version": "0.8.3",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image to query or caption"
},
"caption": {
"type": "boolean",
"title": "Caption",
"default": false,
"x-order": 1,
"description": "Select if you want to generate image captions instead of asking questions"
},
"context": {
"type": "string",
"title": "Context",
"x-order": 3,
"description": "Optional - previous questions and answers to be used as context for answering current question"
},
"question": {
"type": "string",
"title": "Question",
"default": "What is this a picture of?",
"x-order": 2,
"description": "Question to ask about this image. Leave blank for captioning"
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 1,
"maximum": 1,
"minimum": 0.5,
"x-order": 5,
"description": "Temperature for use with nucleus sampling"
},
"use_nucleus_sampling": {
"type": "boolean",
"title": "Use Nucleus Sampling",
"default": false,
"x-order": 4,
"description": "Toggles the model using nucleus sampling to generate responses"
}
}
},
"Output": {
"type": "string",
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"logs",
"completed",
"output"
],
"uniqueItems": true
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,600 @@
{
"url": "https://replicate.com/batouresearch/high-resolution-controlnet-tile",
"owner": "batouresearch",
"name": "high-resolution-controlnet-tile",
"description": "UPDATE: new upscaling algorithm for a much improved image quality. Fermat.app open-source implementation of an efficient ControlNet 1.1 tile for high-quality upscales. Increase the creativity to encourage hallucination.",
"visibility": "public",
"github_url": null,
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/db4434b4-7b0f-49f7-b78a-774fe9e630a7/batou.jpeg",
"default_example": {
"id": "4xg26j3bc9rgm0cgxs28xehaag",
"model": "batouresearch/high-resolution-controlnet-tile",
"version": "13c637d35ebfe5e44a5297c370134b0f6921d0ee73f103ccfee7349dcaf59c76",
"status": "succeeded",
"input": {
"hdr": 0,
"image": "https://replicate.delivery/pbxt/LKnw8rSgafZf4IlAVyPhzpX1TpTVcyfRa1saoaoiSfUYZLiL/fermat_app_a_living_room_modern_and_minimalistic_39b5a58a-e05b-4281-ac24-e87435256333-1.webp",
"steps": 8,
"format": "jpg",
"prompt": "a nordic livingroom, 4k interior photography, uhd",
"scheduler": "DDIM",
"tile_size": 768,
"creativity": 0.4,
"guess_mode": false,
"resolution": 2560,
"resemblance": 0.85,
"guidance_scale": 0,
"negative_prompt": "Teeth, tooth, open mouth, longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, mutant",
"lora_details_strength": -0.25,
"lora_sharpness_strength": 0.75
},
"output": "https://replicate.delivery/pbxt/YFlNVWt9oEpTMVEKg69wXDRGtjHSHKV02ESZeChKj69ffiYmA/output.jpg",
"logs": "Using seed: 20941\nThe config attributes {'solver_order': 2, 'algorithm_type': 'deis', 'solver_type': 'logrho', 'lower_order_final': True, 'use_karras_sigmas': False} were passed to LCMScheduler, but are not expected and will be ignored. Please verify your scheduler_config.json configuration file.\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 2.53it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 3.74it/s]\n100%|██████████| 3/3 [00:00<00:00, 4.42it/s]\n100%|██████████| 3/3 [00:00<00:00, 4.00it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.95it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 2.87it/s]\n100%|██████████| 3/3 [00:00<00:00, 3.39it/s]\n100%|██████████| 3/3 [00:00<00:00, 3.07it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.19it/s]\n 67%|██████▋ | 2/3 [00:01<00:00, 1.72it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.01it/s]\n100%|██████████| 3/3 [00:01<00:00, 1.83it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 3.68it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 5.52it/s]\n100%|██████████| 3/3 [00:00<00:00, 6.58it/s]\n100%|██████████| 3/3 [00:00<00:00, 5.92it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.96it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 2.89it/s]\n100%|██████████| 3/3 [00:00<00:00, 3.41it/s]\n100%|██████████| 3/3 [00:00<00:00, 3.09it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.52it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 2.22it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.60it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.36it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 3.60it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 5.34it/s]\n100%|██████████| 3/3 [00:00<00:00, 6.30it/s]\n100%|██████████| 3/3 [00:00<00:00, 5.70it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 9.58it/s]\n100%|██████████| 3/3 [00:00<00:00, 14.86it/s]\n100%|██████████| 3/3 [00:00<00:00, 14.07it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.76it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 2.59it/s]\n100%|██████████| 3/3 [00:01<00:00, 3.05it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.76it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 5.07it/s]\n100%|██████████| 3/3 [00:00<00:00, 8.61it/s]\n100%|██████████| 3/3 [00:00<00:00, 8.05it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.76it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 2.61it/s]\n100%|██████████| 3/3 [00:01<00:00, 3.08it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.78it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.34it/s]\n 67%|██████▋ | 2/3 [00:01<00:00, 1.95it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.28it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.08it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:01, 1.34it/s]\n 67%|██████▋ | 2/3 [00:01<00:00, 1.95it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.27it/s]\n100%|██████████| 3/3 [00:01<00:00, 2.07it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 4.06it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 6.06it/s]\n100%|██████████| 3/3 [00:00<00:00, 7.20it/s]\n100%|██████████| 3/3 [00:00<00:00, 6.49it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 4.88it/s]\n100%|██████████| 3/3 [00:00<00:00, 8.16it/s]\n100%|██████████| 3/3 [00:00<00:00, 7.65it/s]\n 0%| | 0/3 [00:00<?, ?it/s]\n 33%|███▎ | 1/3 [00:00<00:00, 3.97it/s]\n 67%|██████▋ | 2/3 [00:00<00:00, 5.86it/s]\n100%|██████████| 3/3 [00:00<00:00, 6.92it/s]\n100%|██████████| 3/3 [00:00<00:00, 6.26it/s]\n 0%| | 0/2 [00:00<?, ?it/s]\n 50%|█████ | 1/2 [00:03<00:03, 3.98s/it]\n100%|██████████| 2/2 [00:06<00:00, 2.94s/it]\n100%|██████████| 2/2 [00:06<00:00, 3.10s/it]",
"error": null,
"metrics": {
"predict_time": 59.897140822,
"total_time": 133.557407
},
"created_at": "2024-07-26T08:59:39.746000Z",
"started_at": "2024-07-26T09:00:53.406266Z",
"completed_at": "2024-07-26T09:01:53.303407Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/4xg26j3bc9rgm0cgxs28xehaag",
"cancel": "https://api.replicate.com/v1/predictions/4xg26j3bc9rgm0cgxs28xehaag/cancel"
}
},
"latest_version": {
"id": "8e6a54d7b2848c48dc741a109d3fb0ea2a7f554eb4becd39a25cc532536ea975",
"created_at": "2024-08-07T17:30:34.693912+00:00",
"cog_version": "0.9.13",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"hdr": {
"type": "number",
"title": "Hdr",
"default": 0,
"maximum": 1,
"minimum": 0,
"x-order": 5,
"description": "HDR improvement over the original image"
},
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 9,
"description": "Seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 1,
"description": "Control image for scribble controlnet"
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 8,
"x-order": 7,
"description": "Steps"
},
"format": {
"allOf": [
{
"$ref": "#/components/schemas/format"
}
],
"default": "jpg",
"x-order": 14,
"description": "Format of the output."
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 0,
"description": "Prompt for the model"
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "DDIM",
"x-order": 6,
"description": "Choose a scheduler."
},
"creativity": {
"type": "number",
"title": "Creativity",
"default": 0.35,
"maximum": 1,
"minimum": 0.1,
"x-order": 4,
"description": "Denoising strength. 1 means total destruction of the original image"
},
"guess_mode": {
"type": "boolean",
"title": "Guess Mode",
"default": false,
"x-order": 11,
"description": "In this mode, the ControlNet encoder will try best to recognize the content of the input image even if you remove all prompts."
},
"resolution": {
"allOf": [
{
"$ref": "#/components/schemas/resolution"
}
],
"default": 2560,
"x-order": 2,
"description": "Image resolution"
},
"resemblance": {
"type": "number",
"title": "Resemblance",
"default": 0.85,
"maximum": 1,
"minimum": 0,
"x-order": 3,
"description": "Conditioning scale for controlnet"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 0,
"maximum": 30,
"minimum": 0,
"x-order": 8,
"description": "Scale for classifier-free guidance, should be 0."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "teeth, tooth, open mouth, longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, mutant",
"x-order": 10,
"description": "Negative prompt"
},
"lora_details_strength": {
"type": "number",
"title": "Lora Details Strength",
"default": 1,
"maximum": 3,
"minimum": -5,
"x-order": 13,
"description": "Strength of the image's details"
},
"lora_sharpness_strength": {
"type": "number",
"title": "Lora Sharpness Strength",
"default": 1.25,
"maximum": 10,
"minimum": -5,
"x-order": 12,
"description": "Strength of the image's sharpness. We don't recommend values above 2."
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"format": {
"enum": [
"jpg",
"png"
],
"type": "string",
"title": "format",
"description": "An enumeration."
},
"scheduler": {
"enum": [
"DDIM",
"DPMSolverMultistep",
"K_EULER_ANCESTRAL",
"K_EULER"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"resolution": {
"enum": [
2048,
2560,
4096
],
"type": "integer",
"title": "resolution",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,571 @@
{
"url": "https://replicate.com/batouresearch/magic-image-refiner",
"owner": "batouresearch",
"name": "magic-image-refiner",
"description": "A better alternative to SDXL refiners, providing a lot of quality and detail. Can also be used for inpainting or upscaling.",
"visibility": "public",
"github_url": "https://github.com/BatouResearch/magic-image-refiner",
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/H3ZmqoAgsBonKFilPafiEsvYsc2FnjD8EW3vMt6KpkYfd0ISA/out-0.png",
"default_example": {
"id": "zyaw3gdbhd46blbbctgzsiiice",
"model": "batouresearch/magic-image-refiner",
"version": "3064c8a3a831c0048031669a4a3bf3a7fe454a4d995897fc33e66ec5506ea74a",
"status": "succeeded",
"input": {
"hdr": 0,
"image": "https://replicate.delivery/pbxt/KA9yP9n3ZX5A5mkoPz3gsPzKTH1NA7LqVkQRTg7Sov46lOfo/0_1.webp",
"steps": 20,
"prompt": "UHD 4k vogue, a woman resting in a magic pool, face above the surface of the water, red freckles",
"scheduler": "DDIM",
"creativity": 0.25,
"guess_mode": false,
"resolution": "original",
"resemblance": 0.75,
"guidance_scale": 7,
"negative_prompt": "teeth, tooth, open mouth, longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, mutant"
},
"output": [
"https://replicate.delivery/pbxt/H3ZmqoAgsBonKFilPafiEsvYsc2FnjD8EW3vMt6KpkYfd0ISA/out-0.png"
],
"logs": "Using seed: 17908\n 0%| | 0/5 [00:00<?, ?it/s]\n 20%|██ | 1/5 [00:00<00:01, 3.82it/s]\n 40%|████ | 2/5 [00:00<00:00, 3.81it/s]\n 60%|██████ | 3/5 [00:00<00:00, 3.81it/s]\n 80%|████████ | 4/5 [00:01<00:00, 3.81it/s]\n100%|██████████| 5/5 [00:01<00:00, 3.81it/s]\n100%|██████████| 5/5 [00:01<00:00, 3.81it/s]",
"error": null,
"metrics": {
"predict_time": 3.42507,
"total_time": 3.454188
},
"created_at": "2024-01-03T17:12:27.719471Z",
"started_at": "2024-01-03T17:12:27.748589Z",
"completed_at": "2024-01-03T17:12:31.173659Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/zyaw3gdbhd46blbbctgzsiiice",
"cancel": "https://api.replicate.com/v1/predictions/zyaw3gdbhd46blbbctgzsiiice/cancel"
}
},
"latest_version": {
"id": "507ddf6f977a7e30e46c0daefd30de7d563c72322f9e4cf7cbac52ef0f667b13",
"created_at": "2024-01-31T14:16:36.395622+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"hdr": {
"type": "number",
"title": "Hdr",
"default": 0,
"maximum": 1,
"minimum": 0,
"x-order": 6,
"description": "HDR improvement over the original image"
},
"mask": {
"type": "string",
"title": "Mask",
"format": "uri",
"x-order": 2,
"description": "When provided, refines some section of the image. Must be the same size as the image"
},
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 10,
"description": "Seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 1,
"description": "Image to refine"
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 20,
"x-order": 8,
"description": "Steps"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 0,
"description": "Prompt for the model"
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "DDIM",
"x-order": 7,
"description": "Choose a scheduler."
},
"creativity": {
"type": "number",
"title": "Creativity",
"default": 0.25,
"maximum": 1,
"minimum": 0,
"x-order": 5,
"description": "Denoising strength. 1 means total destruction of the original image"
},
"guess_mode": {
"type": "boolean",
"title": "Guess Mode",
"default": false,
"x-order": 12,
"description": "In this mode, the ControlNet encoder will try best to recognize the content of the input image even if you remove all prompts. The `guidance_scale` between 3.0 and 5.0 is recommended."
},
"resolution": {
"allOf": [
{
"$ref": "#/components/schemas/resolution"
}
],
"default": "original",
"x-order": 3,
"description": "Image resolution"
},
"resemblance": {
"type": "number",
"title": "Resemblance",
"default": 0.75,
"maximum": 1,
"minimum": 0,
"x-order": 4,
"description": "Conditioning scale for controlnet"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 7,
"maximum": 30,
"minimum": 0.1,
"x-order": 9,
"description": "Scale for classifier-free guidance"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "teeth, tooth, open mouth, longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, mutant",
"x-order": 11,
"description": "Negative prompt"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"scheduler": {
"enum": [
"DDIM",
"DPMSolverMultistep",
"K_EULER_ANCESTRAL",
"K_EULER"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"resolution": {
"enum": [
"original",
"1024",
"2048"
],
"type": "string",
"title": "resolution",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,611 @@
{
"url": "https://replicate.com/batouresearch/magic-style-transfer",
"owner": "batouresearch",
"name": "magic-style-transfer",
"description": "Restyle an image with the style of another one. I strongly suggest to upscale the results with Clarity AI",
"visibility": "public",
"github_url": "https://github.com/BatouResearch/Cog-Face-to-Anything/tree/magic-style-transfer",
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/CgdTGuA9wdoWGhVUMgpPIv9mh4rpLnYYViUmeLKV8wF2QGRJA/out-0.png",
"default_example": {
"id": "imodeq3bqxpre5bebcdqoi75l4",
"model": "batouresearch/magic-style-transfer",
"version": "3b5fa5d360c361090f11164292e45cc5d14cea8d089591d47c580cac9ec1c7ca",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KbUKCMMihGkSc5MXYYYkjEI6hlf1GNmGgwugu6JfSQATqiCN/3d.jpeg",
"prompt": "modern interior living room",
"ip_image": "https://replicate.delivery/pbxt/KbUKD3uoQjyTzdWbeAqYrypl0RWVJc0gI5UHHa3yYWNaqIoc/DALL%C2%B7E%202024-03-20%2017.57.33%20-%20Create%20a%20professional%20photograph%20of%20a%20modern%20interior%20design.%20This%20image%20should%20capture%20a%20living%20room%20space%20that%20combines%20contemporary%20elegance%20with%20c.webp",
"ip_scale": 1,
"strength": 1,
"scheduler": "K_EULER",
"lora_scale": 0.9,
"num_outputs": 1,
"guidance_scale": 4,
"resizing_scale": 1,
"apply_watermark": true,
"negative_prompt": "",
"background_color": "#A2A2A2",
"num_inference_steps": 30,
"condition_canny_scale": 0.5,
"condition_depth_scale": 0.5
},
"output": [
"https://replicate.delivery/pbxt/CgdTGuA9wdoWGhVUMgpPIv9mh4rpLnYYViUmeLKV8wF2QGRJA/out-0.png"
],
"logs": "Using seed: 28214\nPrompt: modern interior living room\nOriginal width:1024, height:1024\nAspect Ratio: 1.00\nnew_width:1024, new_height:1024\nYou have 2 ControlNets and you have passed 1 prompts. The conditionings will be fixed across the prompts.\n 0%| | 0/30 [00:00<?, ?it/s]\n 3%|▎ | 1/30 [00:00<00:13, 2.17it/s]\n 7%|▋ | 2/30 [00:00<00:10, 2.69it/s]\n 10%|█ | 3/30 [00:01<00:10, 2.59it/s]\n 13%|█▎ | 4/30 [00:01<00:10, 2.55it/s]\n 17%|█▋ | 5/30 [00:01<00:09, 2.52it/s]\n 20%|██ | 6/30 [00:02<00:09, 2.51it/s]\n 23%|██▎ | 7/30 [00:02<00:09, 2.50it/s]\n 27%|██▋ | 8/30 [00:03<00:08, 2.49it/s]\n 30%|███ | 9/30 [00:03<00:08, 2.49it/s]\n 33%|███▎ | 10/30 [00:03<00:08, 2.49it/s]\n 37%|███▋ | 11/30 [00:04<00:07, 2.49it/s]\n 40%|████ | 12/30 [00:04<00:07, 2.49it/s]\n 43%|████▎ | 13/30 [00:05<00:06, 2.49it/s]\n 47%|████▋ | 14/30 [00:05<00:06, 2.49it/s]\n 50%|█████ | 15/30 [00:05<00:06, 2.49it/s]\n 53%|█████▎ | 16/30 [00:06<00:05, 2.49it/s]\n 57%|█████▋ | 17/30 [00:06<00:05, 2.48it/s]\n 60%|██████ | 18/30 [00:07<00:04, 2.48it/s]\n 63%|██████▎ | 19/30 [00:07<00:04, 2.48it/s]\n 67%|██████▋ | 20/30 [00:08<00:04, 2.49it/s]\n 70%|███████ | 21/30 [00:08<00:03, 2.48it/s]\n 73%|███████▎ | 22/30 [00:08<00:03, 2.49it/s]\n 77%|███████▋ | 23/30 [00:09<00:02, 2.49it/s]\n 80%|████████ | 24/30 [00:09<00:02, 2.49it/s]\n 83%|████████▎ | 25/30 [00:10<00:02, 2.49it/s]\n 87%|████████▋ | 26/30 [00:10<00:01, 2.49it/s]\n 90%|█████████ | 27/30 [00:10<00:01, 2.49it/s]\n 93%|█████████▎| 28/30 [00:11<00:00, 2.49it/s]\n 97%|█████████▋| 29/30 [00:11<00:00, 2.49it/s]\n100%|██████████| 30/30 [00:12<00:00, 2.49it/s]\n100%|██████████| 30/30 [00:12<00:00, 2.49it/s]",
"error": null,
"metrics": {
"predict_time": 14.568553,
"total_time": 168.721412
},
"created_at": "2024-03-20T16:58:43.897037Z",
"started_at": "2024-03-20T17:01:18.049896Z",
"completed_at": "2024-03-20T17:01:32.618449Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/imodeq3bqxpre5bebcdqoi75l4",
"cancel": "https://api.replicate.com/v1/predictions/imodeq3bqxpre5bebcdqoi75l4/cancel"
}
},
"latest_version": {
"id": "3b5fa5d360c361090f11164292e45cc5d14cea8d089591d47c580cac9ec1c7ca",
"created_at": "2024-03-20T16:29:29.505365+00:00",
"cog_version": "0.9.5",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 15,
"description": "Random seed. Leave blank to randomize the seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 1,
"description": "Input image"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "An astronaut riding a rainbow unicorn",
"x-order": 0,
"description": "Input prompt"
},
"ip_image": {
"type": "string",
"title": "Ip Image",
"format": "uri",
"x-order": 2,
"description": "Input image for img2img or inpaint mode"
},
"ip_scale": {
"type": "number",
"title": "Ip Scale",
"default": 0.3,
"maximum": 1,
"minimum": 0,
"x-order": 6,
"description": "IP Adapter strength."
},
"strength": {
"type": "number",
"title": "Strength",
"default": 0.9,
"maximum": 1,
"minimum": 0,
"x-order": 7,
"description": "When img2img is active, the denoising strength. 1 means total destruction of the input image."
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "K_EULER",
"x-order": 13,
"description": "scheduler"
},
"lora_scale": {
"type": "number",
"title": "Lora Scale",
"default": 0.9,
"maximum": 1,
"minimum": 0,
"x-order": 5,
"description": "LoRA additive scale. Only applicable on trained models."
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 12,
"description": "Number of images to output"
},
"lora_weights": {
"type": "string",
"title": "Lora Weights",
"x-order": 17,
"description": "Replicate LoRA weights to use. Leave blank to use the default weights."
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 4,
"maximum": 50,
"minimum": 1,
"x-order": 14,
"description": "Scale for classifier-free guidance"
},
"resizing_scale": {
"type": "number",
"title": "Resizing Scale",
"default": 1,
"maximum": 10,
"minimum": 1,
"x-order": 10,
"description": "If you want the image to have a solid margin. Scale of the solid margin. 1.0 means no resizing."
},
"apply_watermark": {
"type": "boolean",
"title": "Apply Watermark",
"default": true,
"x-order": 16,
"description": "Applies a watermark to enable determining if an image is generated in downstream applications. If you have other provisions for generating or deploying images safely, you can use this to disable watermarking."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "",
"x-order": 8,
"description": "Input Negative Prompt"
},
"background_color": {
"type": "string",
"title": "Background Color",
"default": "#A2A2A2",
"x-order": 9,
"description": "When passing an image with alpha channel, it will be replaced with this color"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 30,
"maximum": 500,
"minimum": 1,
"x-order": 11,
"description": "Number of denoising steps"
},
"condition_canny_scale": {
"type": "number",
"title": "Condition Canny Scale",
"default": 0.15,
"maximum": 2,
"minimum": 0,
"x-order": 4,
"description": "The bigger this number is, the more ControlNet interferes"
},
"condition_depth_scale": {
"type": "number",
"title": "Condition Depth Scale",
"default": 0.35,
"maximum": 2,
"minimum": 0,
"x-order": 3,
"description": "The bigger this number is, the more ControlNet interferes"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"scheduler": {
"enum": [
"DDIM",
"DPMSolverMultistep",
"HeunDiscrete",
"KarrasDPM",
"K_EULER_ANCESTRAL",
"K_EULER",
"PNDM"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,541 @@
{
"url": "https://replicate.com/bytedance/sdxl-lightning-4step",
"owner": "bytedance",
"name": "sdxl-lightning-4step",
"description": "SDXL-Lightning by ByteDance: a fast text-to-image model that makes high-quality images in 4 steps",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-sdxl-lightning-4step",
"paper_url": "https://huggingface.co/ByteDance/SDXL-Lightning/resolve/main/sdxl_lightning_report.pdf",
"license_url": "https://huggingface.co/ByteDance/SDXL-Lightning/blob/main/LICENSE.md",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/779f3f58-c3db-4403-a01b-3ffed97a1449/out-0-1.jpg",
"default_example": {
"id": "p8y2bvajc1rj20chzgmbw5qvxw",
"model": "bytedance/sdxl-lightning-4step",
"version": "5599ed30703defd1d160a25a63321b4dec97101d98b4674bcc56e41f62f35637",
"status": "succeeded",
"input": {
"width": 1024,
"height": 1024,
"prompt": "self-portrait of a woman, lightning in the background",
"scheduler": "K_EULER",
"num_outputs": 1,
"guidance_scale": 0,
"negative_prompt": "worst quality, low quality",
"num_inference_steps": 4
},
"output": [
"https://replicate.delivery/yhqm/VyD24fDyzM2nQSg0nQc58W2EIj16hGcWKrXJozjAMR1BeidTA/out-0.png"
],
"logs": "Using seed: 139922051\nPrompt: self-portrait of a woman, lightning in the background\n 0%| | 0/4 [00:00<?, ?it/s]\n 50%|█████ | 2/4 [00:00<00:00, 19.11it/s]\n100%|██████████| 4/4 [00:00<00:00, 18.37it/s]\n100%|██████████| 4/4 [00:00<00:00, 18.47it/s]",
"error": null,
"metrics": {
"predict_time": 0.944134354,
"total_time": 0.952958
},
"created_at": "2024-09-16T18:46:26.656000Z",
"started_at": "2024-09-16T18:46:26.664823Z",
"completed_at": "2024-09-16T18:46:27.608958Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/p8y2bvajc1rj20chzgmbw5qvxw",
"cancel": "https://api.replicate.com/v1/predictions/p8y2bvajc1rj20chzgmbw5qvxw/cancel"
}
},
"latest_version": {
"id": "5599ed30703defd1d160a25a63321b4dec97101d98b4674bcc56e41f62f35637",
"created_at": "2024-09-16T18:44:45.812819+00:00",
"cog_version": "0.9.23",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 8,
"description": "Random seed. Leave blank to randomize the seed"
},
"width": {
"type": "integer",
"title": "Width",
"default": 1024,
"maximum": 1280,
"minimum": 256,
"x-order": 2,
"description": "Width of output image. Recommended 1024 or 1280"
},
"height": {
"type": "integer",
"title": "Height",
"default": 1024,
"maximum": 1280,
"minimum": 256,
"x-order": 3,
"description": "Height of output image. Recommended 1024 or 1280"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "self-portrait of a woman, lightning in the background",
"x-order": 0,
"description": "Input prompt"
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "K_EULER",
"x-order": 5,
"description": "scheduler"
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 4,
"description": "Number of images to output."
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 0,
"maximum": 50,
"minimum": 0,
"x-order": 7,
"description": "Scale for classifier-free guidance"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "worst quality, low quality",
"x-order": 1,
"description": "Negative Input prompt"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 4,
"maximum": 10,
"minimum": 1,
"x-order": 6,
"description": "Number of denoising steps. 4 for best results"
},
"disable_safety_checker": {
"type": "boolean",
"title": "Disable Safety Checker",
"default": false,
"x-order": 9,
"description": "Disable safety checker for generated images"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"scheduler": {
"enum": [
"DDIM",
"DPMSolverMultistep",
"HeunDiscrete",
"KarrasDPM",
"K_EULER_ANCESTRAL",
"K_EULER",
"PNDM",
"DPM++2MSDE"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,513 @@
{
"url": "https://replicate.com/cjwbw/hyper-sdxl-1step-t2i",
"owner": "cjwbw",
"name": "hyper-sdxl-1step-t2i",
"description": "Hyper-SD: Trajectory Segmented Consistency Model for Efficient Image Synthesis",
"visibility": "public",
"github_url": null,
"paper_url": "https://arxiv.org/abs/2404.13686",
"license_url": "https://huggingface.co/models?license=license%3Aopenrail%2B%2B",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/CFkDth5uslagGBQCeHCS72yUdsu1Ra38J4mzUPah6Zd70OXJA/out-0.webp",
"default_example": {
"id": "an42m1env5rgp0cf3hy8xhp15w",
"model": "cjwbw/hyper-sdxl-1step-t2i",
"version": "1c549e93d8d2e2beb6937146b0e82f6dab1b5ca5d8832015bbca25d5ad98750a",
"status": "succeeded",
"input": {
"width": 1024,
"height": 1024,
"prompt": "a photo of a cat",
"num_outputs": 1,
"output_format": "webp",
"output_quality": 80
},
"output": [
"https://replicate.delivery/pbxt/CFkDth5uslagGBQCeHCS72yUdsu1Ra38J4mzUPah6Zd70OXJA/out-0.webp"
],
"logs": "Using seed: 25896\nThe first timestep on the custom timestep schedule is 800, not `self.config.num_train_timesteps - 1`: 999. You may get unexpected results when using this timestep schedule.\n 0%| | 0/1 [00:00<?, ?it/s]\n100%|██████████| 1/1 [00:00<00:00, 4.17it/s]\n100%|██████████| 1/1 [00:00<00:00, 4.17it/s]\nSaving to /tmp/out-0.webp...",
"error": null,
"metrics": {
"predict_time": 1.81068,
"total_time": 81.100739
},
"created_at": "2024-04-26T22:18:14.361000Z",
"started_at": "2024-04-26T22:19:33.651059Z",
"completed_at": "2024-04-26T22:19:35.461739Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/an42m1env5rgp0cf3hy8xhp15w",
"cancel": "https://api.replicate.com/v1/predictions/an42m1env5rgp0cf3hy8xhp15w/cancel"
}
},
"latest_version": {
"id": "1c549e93d8d2e2beb6937146b0e82f6dab1b5ca5d8832015bbca25d5ad98750a",
"created_at": "2024-04-26T22:18:02.099800+00:00",
"cog_version": "0.9.4",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 5,
"description": "Random seed. Leave blank to randomize the seed"
},
"width": {
"type": "integer",
"title": "Width",
"default": 1024,
"x-order": 2,
"description": "Width of output image"
},
"height": {
"type": "integer",
"title": "Height",
"default": 1024,
"x-order": 3,
"description": "Height of output image"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "a photo of a cat",
"x-order": 0,
"description": "Input prompt"
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 4,
"description": "Number of images to output."
},
"output_format": {
"allOf": [
{
"$ref": "#/components/schemas/output_format"
}
],
"default": "webp",
"x-order": 6,
"description": "Format of the output images"
},
"output_quality": {
"type": "integer",
"title": "Output Quality",
"default": 80,
"maximum": 100,
"minimum": 0,
"x-order": 7,
"description": "Quality of the output images, from 0 to 100. 100 is best quality, 0 is lowest quality."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"x-order": 1,
"description": "Specify things to not see in the output"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"output_format": {
"enum": [
"webp",
"jpg",
"png"
],
"type": "string",
"title": "output_format",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,613 @@
{
"url": "https://replicate.com/cjwbw/supir",
"owner": "cjwbw",
"name": "supir",
"description": "Practicing Model Scaling for Photo-Realistic Image Restoration In the Wild. This version uses LLaVA-13b for captioning.",
"visibility": "public",
"github_url": "https://github.com/chenxwh/SUPIR",
"paper_url": "https://github.com/chenxwh/SUPIR/tree/master",
"license_url": "https://github.com/Fanghua-Yu/SUPIR/blob/master/LICENSE",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/tsZTAUpHvDorAJcaZDd1BpYsBcijNfwhXfDUCAIvrqTsdnZSA/out.png",
"default_example": {
"id": "o4b2mqtbpcxyuo52addzll2g6i",
"model": "cjwbw/supir",
"version": "1302b550b4f7681da87ed0e405016d443fe1fafd64dabce6673401855a5039b5",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KSFJ6sJWyEiPWysywNsAr2enzigJA3NZpG4YMrxrSFEIEShi/05.png",
"s_cfg": 7.5,
"s_churn": 5,
"s_noise": 1.003,
"upscale": 1,
"a_prompt": "Cinematic, High Contrast, highly detailed, taken using a Canon EOS R camera, hyper detailed photo - realistic maximum detail, 32k, Color Grading, ultra HD, extreme meticulous detailing, skin pore detailing, hyper sharpness, perfect without deformations.",
"min_size": 1024,
"n_prompt": "painting, oil painting, illustration, drawing, art, sketch, oil painting, cartoon, CG Style, 3D render, unreal engine, blurring, dirty, messy, worst quality, low quality, frames, watermark, signature, jpeg artifacts, deformed, lowres, over-smooth",
"s_stage1": -1,
"s_stage2": 1,
"edm_steps": 50,
"use_llava": true,
"linear_CFG": false,
"model_name": "SUPIR-v0Q",
"color_fix_type": "Wavelet",
"spt_linear_CFG": 1,
"linear_s_stage2": false,
"spt_linear_s_stage2": 0
},
"output": "https://replicate.delivery/pbxt/tsZTAUpHvDorAJcaZDd1BpYsBcijNfwhXfDUCAIvrqTsdnZSA/out.png",
"logs": "Using seed: 12774\nCaptions from LLaVA: ['The image features a beautiful bird perched on a thin, dry branch in a field. The bird is colorful and stands out against the brown background of the field. The branch is located in the middle of the scene, with the bird sitting on it, drawing attention to itself. The field is filled with a variety of flowers, adding a vibrant touch to the scene. The overall style of the image is artistic, with a focus on the bird and its natural surroundings.']\nSeed set to 12774",
"error": null,
"metrics": {
"predict_time": 18.567178,
"total_time": 859.898094
},
"created_at": "2024-02-23T16:04:32.875679Z",
"started_at": "2024-02-23T16:18:34.206595Z",
"completed_at": "2024-02-23T16:18:52.773773Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/o4b2mqtbpcxyuo52addzll2g6i",
"cancel": "https://api.replicate.com/v1/predictions/o4b2mqtbpcxyuo52addzll2g6i/cancel"
}
},
"latest_version": {
"id": "1302b550b4f7681da87ed0e405016d443fe1fafd64dabce6673401855a5039b5",
"created_at": "2024-02-23T16:02:47.711057+00:00",
"cog_version": "0.9.4",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 18,
"description": "Random seed. Leave blank to randomize the seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 1,
"description": "Low quality input image."
},
"s_cfg": {
"type": "number",
"title": "S Cfg",
"default": 7.5,
"maximum": 20,
"minimum": 1,
"x-order": 12,
"description": " Classifier-free guidance scale for prompts."
},
"s_churn": {
"type": "number",
"title": "S Churn",
"default": 5,
"x-order": 10,
"description": "Original churn hy-param of EDM."
},
"s_noise": {
"type": "number",
"title": "S Noise",
"default": 1.003,
"x-order": 11,
"description": "Original noise hy-param of EDM."
},
"upscale": {
"type": "integer",
"title": "Upscale",
"default": 1,
"x-order": 2,
"description": "Upsampling ratio of given inputs."
},
"a_prompt": {
"type": "string",
"title": "A Prompt",
"default": "Cinematic, High Contrast, highly detailed, taken using a Canon EOS R camera, hyper detailed photo - realistic maximum detail, 32k, Color Grading, ultra HD, extreme meticulous detailing, skin pore detailing, hyper sharpness, perfect without deformations.",
"x-order": 6,
"description": "Additive positive prompt for the inputs."
},
"min_size": {
"type": "number",
"title": "Min Size",
"default": 1024,
"x-order": 3,
"description": "Minimum resolution of output images."
},
"n_prompt": {
"type": "string",
"title": "N Prompt",
"default": "painting, oil painting, illustration, drawing, art, sketch, oil painting, cartoon, CG Style, 3D render, unreal engine, blurring, dirty, messy, worst quality, low quality, frames, watermark, signature, jpeg artifacts, deformed, lowres, over-smooth",
"x-order": 7,
"description": "Negative prompt for the inputs."
},
"s_stage1": {
"type": "integer",
"title": "S Stage1",
"default": -1,
"x-order": 9,
"description": "Control Strength of Stage1 (negative means invalid)."
},
"s_stage2": {
"type": "number",
"title": "S Stage2",
"default": 1,
"x-order": 13,
"description": "Control Strength of Stage2."
},
"edm_steps": {
"type": "integer",
"title": "Edm Steps",
"default": 50,
"maximum": 500,
"minimum": 1,
"x-order": 4,
"description": "Number of steps for EDM Sampling Schedule."
},
"use_llava": {
"type": "boolean",
"title": "Use Llava",
"default": true,
"x-order": 5,
"description": "Use LLaVA model to get captions."
},
"linear_CFG": {
"type": "boolean",
"title": "Linear Cfg",
"default": false,
"x-order": 14,
"description": "Linearly (with sigma) increase CFG from 'spt_linear_CFG' to s_cfg."
},
"model_name": {
"allOf": [
{
"$ref": "#/components/schemas/model_name"
}
],
"default": "SUPIR-v0Q",
"x-order": 0,
"description": "Choose a model. SUPIR-v0Q is the default training settings with paper. SUPIR-v0F is high generalization and high image quality in most cases. Training with light degradation settings. Stage1 encoder of SUPIR-v0F remains more details when facing light degradations."
},
"color_fix_type": {
"allOf": [
{
"$ref": "#/components/schemas/color_fix_type"
}
],
"default": "Wavelet",
"x-order": 8,
"description": "Color Fixing Type.."
},
"spt_linear_CFG": {
"type": "number",
"title": "Spt Linear Cfg",
"default": 1,
"x-order": 16,
"description": "Start point of linearly increasing CFG."
},
"linear_s_stage2": {
"type": "boolean",
"title": "Linear S Stage2",
"default": false,
"x-order": 15,
"description": "Linearly (with sigma) increase s_stage2 from 'spt_linear_s_stage2' to s_stage2."
},
"spt_linear_s_stage2": {
"type": "number",
"title": "Spt Linear S Stage2",
"default": 0,
"x-order": 17,
"description": "Start point of linearly increasing s_stage2."
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"model_name": {
"enum": [
"SUPIR-v0Q",
"SUPIR-v0F"
],
"type": "string",
"title": "model_name",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"color_fix_type": {
"enum": [
"None",
"AdaIn",
"Wavelet"
],
"type": "string",
"title": "color_fix_type",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,490 @@
{
"url": "https://replicate.com/cuuupid/glm-4v-9b",
"owner": "cuuupid",
"name": "glm-4v-9b",
"description": "GLM-4V is a multimodal model released by Tsinghua University that is competitive with GPT-4o and establishes a new SOTA on several benchmarks, including OCR.",
"visibility": "public",
"github_url": "https://github.com/THUDM/GLM-4",
"paper_url": null,
"license_url": "https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/a11a4c0d-8f51-447f-b8e1-7b0af921bbe8/replicate-prediction-apk97rpxg.png",
"default_example": {
"id": "pep5rrz4nnrgm0cg12p9q32948",
"model": "cuuupid/glm-4v-9b",
"version": "a75c919339f65bf00afa96511af653fdbd0ec3cb0f5e6f4350809445eee0e14f",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/L4yniMG0Ngbuzm6Q6Go37SdEq6qbR284ktnGNiNjs818EDOJ/image.png",
"prompt": "Please identify the text in the picture."
},
"output": "The text in the picture reads:\n\nUnesco announces its newest geoparks around the world\n\n9 April 2024\n\nBy Lynn Brown, Features correspondent\n\nShare\n\nChris Karageitis\n\nUnesco Geoparks represent a balance of unique geological features, cultural touchpoints and a focus on sustainability\n\n(Credit: Chris Karageitis)\n\nFrom dinosaur fossils in Brazil to the soaring monasteries of Meteora, these 18 new geological sites highlight a particular region's natural, cultural and intangible heritage.\n\nTravellers interested in deep dives into geology, culture and sustainability have several new destinations to place on their bucket lists. Unesco just announced the designation of 18 new Global Geoparks, bringing the total to 213 sites representing 48 countries around the world.\n\nFrom crystal-clear karst lakes to an archipelago formed during the last ice age, these parks are more than just sites with unique geological features; they also serve to highlight a particular region's natural, cultural and intangible heritage. \"Unesco Global Geoparks represent landscapes where internationally significant geological heritage intertwines with human history and supports rich biodiversity,\" explains Antonio Abreu, director of the Division of Ecological and Earth Sciences at Unesco. \"Each new geopark tells a unique story, using geology as its lens.\"\n\nHere are five of the newest geoparks on Unesco's list: <|endoftext|>",
"logs": null,
"error": null,
"metrics": {
"predict_time": 9.462071,
"total_time": 9.509579
},
"created_at": "2024-06-11T19:01:06.861000Z",
"started_at": "2024-06-11T19:01:06.908508Z",
"completed_at": "2024-06-11T19:01:16.370579Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/pep5rrz4nnrgm0cg12p9q32948",
"cancel": "https://api.replicate.com/v1/predictions/pep5rrz4nnrgm0cg12p9q32948/cancel"
}
},
"latest_version": {
"id": "69196a237cdc310988a4b12ad64f4b36d10189428c19a18526af708546e1856f",
"created_at": "2024-07-02T06:00:03.657728+00:00",
"cog_version": "v0.10.0-alpha13+dev",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/ready": {
"get": {
"summary": "Ready",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Ready Ready Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "ready_ready_get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image",
"prompt"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Image input"
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": 1,
"maximum": 1000,
"minimum": 1,
"x-order": 3,
"description": "Top-K sampling"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 1,
"description": "Prompt"
},
"max_length": {
"type": "integer",
"title": "Max Length",
"default": 512,
"maximum": 8192,
"minimum": 1,
"x-order": 2,
"description": "Maximum number of tokens to generate."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,540 @@
{
"url": "https://replicate.com/cuuupid/idm-vton",
"owner": "cuuupid",
"name": "idm-vton",
"description": "Best-in-class clothing virtual try on in the wild (non-commercial use only)",
"visibility": "public",
"github_url": "https://github.com/yisol/IDM-VTON",
"paper_url": "https://arxiv.org/abs/2403.05139",
"license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/e6753f2f-78a9-43af-8a2e-ef379d9d5f51/replicate-prediction-qh5eq80v2hrg.png",
"default_example": {
"id": "chz7vk2mt5rgg0cenfqaj2war8",
"model": "cuuupid/idm-vton",
"version": "e3893af4fb4bd5741752b35b395348c5f7a9ab5c4776264f5d38e41418081ed7",
"status": "succeeded",
"input": {
"seed": 42,
"steps": 30,
"garm_img": "https://replicate.delivery/pbxt/KgwTlZyFx5aUU3gc5gMiKuD5nNPTgliMlLUWx160G4z99YjO/sweater.webp",
"human_img": "https://replicate.delivery/pbxt/KgwTlhCMvDagRrcVzZJbuozNJ8esPqiNAIJS3eMgHrYuHmW4/KakaoTalk_Photo_2024-04-04-21-44-45.png",
"garment_des": "cute pink top"
},
"output": "https://replicate.delivery/pbxt/Tfs5JETdzlURKyKeUOltKwch7udHf8e2xmNsftwid7ca2E6UC/output.jpg",
"logs": "0%| | 0/1 [00:00<?, ?it/s]\n100%|██████████| 1/1 [00:03<00:00, 3.51s/it]\n100%|██████████| 1/1 [00:03<00:00, 3.51s/it]\n 0%| | 0/1 [00:00<?, ?it/s]\n100%|██████████| 1/1 [00:03<00:00, 3.50s/it]\n100%|██████████| 1/1 [00:03<00:00, 3.50s/it]\n 0%| | 0/30 [00:00<?, ?it/s]\n 3%|▎ | 1/30 [00:00<00:06, 4.49it/s]\n 7%|▋ | 2/30 [00:00<00:06, 4.46it/s]\n 10%|█ | 3/30 [00:00<00:05, 4.50it/s]\n 13%|█▎ | 4/30 [00:00<00:05, 4.49it/s]\n 17%|█▋ | 5/30 [00:01<00:05, 4.51it/s]\n 20%|██ | 6/30 [00:01<00:05, 4.53it/s]\n 23%|██▎ | 7/30 [00:01<00:05, 4.53it/s]\n 27%|██▋ | 8/30 [00:01<00:04, 4.53it/s]\n 30%|███ | 9/30 [00:01<00:04, 4.52it/s]\n 33%|███▎ | 10/30 [00:02<00:04, 4.52it/s]\n 37%|███▋ | 11/30 [00:02<00:04, 4.51it/s]\n 40%|████ | 12/30 [00:02<00:04, 4.48it/s]\n 43%|████▎ | 13/30 [00:02<00:03, 4.48it/s]\n 47%|████▋ | 14/30 [00:03<00:03, 4.51it/s]\n 50%|█████ | 15/30 [00:03<00:03, 4.51it/s]\n 53%|█████▎ | 16/30 [00:03<00:03, 4.51it/s]\n 57%|█████▋ | 17/30 [00:03<00:02, 4.50it/s]\n 60%|██████ | 18/30 [00:03<00:02, 4.50it/s]\n 63%|██████▎ | 19/30 [00:04<00:02, 4.49it/s]\n 67%|██████▋ | 20/30 [00:04<00:02, 4.47it/s]\n 70%|███████ | 21/30 [00:04<00:02, 4.47it/s]\n 73%|███████▎ | 22/30 [00:04<00:01, 4.46it/s]\n 77%|███████▋ | 23/30 [00:05<00:01, 4.47it/s]\n 80%|████████ | 24/30 [00:05<00:01, 4.47it/s]\n 83%|████████▎ | 25/30 [00:05<00:01, 4.49it/s]\n 87%|████████▋ | 26/30 [00:05<00:00, 4.49it/s]\n 90%|█████████ | 27/30 [00:06<00:00, 4.49it/s]\n 93%|█████████▎| 28/30 [00:06<00:00, 4.50it/s]\n 97%|█████████▋| 29/30 [00:06<00:00, 4.50it/s]\n100%|██████████| 30/30 [00:06<00:00, 4.50it/s]\n100%|██████████| 30/30 [00:06<00:00, 4.50it/s]",
"error": null,
"metrics": {
"predict_time": 16.590835,
"total_time": 16.600048
},
"created_at": "2024-04-05T01:45:07.025000Z",
"started_at": "2024-04-05T01:45:07.034213Z",
"completed_at": "2024-04-05T01:45:23.625048Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/chz7vk2mt5rgg0cenfqaj2war8",
"cancel": "https://api.replicate.com/v1/predictions/chz7vk2mt5rgg0cenfqaj2war8/cancel"
}
},
"latest_version": {
"id": "c871bb9b046607b680449ecbae55fd8c6d945e0a1948644bf2361b3d021d3ff4",
"created_at": "2024-08-24T22:47:35.535214+00:00",
"cog_version": "v0.10.0-alpha13+dev",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/ready": {
"get": {
"summary": "Ready",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Ready Ready Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "ready_ready_get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"garm_img",
"human_img"
],
"properties": {
"crop": {
"type": "boolean",
"title": "Crop",
"default": false,
"x-order": 5,
"description": "Use cropping? (check this if your image is not 3:4)"
},
"seed": {
"type": "integer",
"title": "Seed",
"default": 42,
"x-order": 9
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 30,
"maximum": 40,
"minimum": 1,
"x-order": 8
},
"category": {
"allOf": [
{
"$ref": "#/components/schemas/category"
}
],
"default": "upper_body",
"x-order": 4,
"description": "Category of garment"
},
"force_dc": {
"type": "boolean",
"title": "Force Dc",
"default": false,
"x-order": 6,
"description": "Use the DressCode version of IDM-VTON (this is default false, except if category=dresses)"
},
"garm_img": {
"type": "string",
"title": "Garm Img",
"format": "uri",
"x-order": 0,
"description": "Garment, should match the category, can be a product image or even a photo of someone"
},
"mask_img": {
"type": "string",
"title": "Mask Img",
"format": "uri",
"x-order": 3,
"description": "Mask image, optional (but faster)"
},
"human_img": {
"type": "string",
"title": "Human Img",
"format": "uri",
"x-order": 2,
"description": "Model, if this is not 3:4 check crop"
},
"mask_only": {
"type": "boolean",
"title": "Mask Only",
"default": false,
"x-order": 7,
"description": "Return only the mask"
},
"garment_des": {
"type": "string",
"title": "Garment Des",
"x-order": 1,
"description": "Description of garment e.g. Short Sleeve Round Neck T-shirt"
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"category": {
"enum": [
"upper_body",
"lower_body",
"dresses"
],
"type": "string",
"title": "category",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,475 @@
{
"url": "https://replicate.com/declare-lab/tango",
"owner": "declare-lab",
"name": "tango",
"description": "Tango 2: Use text prompts to make sound effects",
"visibility": "public",
"github_url": "https://github.com/declare-lab/tango",
"paper_url": "https://arxiv.org/pdf/2304.13731.pdf",
"license_url": "https://github.com/declare-lab/tango/blob/master/LICENSE.md",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/3e074eeb-6f95-4c4c-b7d8-38f5b9c3a2fd/tango2.png",
"default_example": {
"id": "4gahgg8fa1rgm0cf6sg80rcgn4",
"model": "declare-lab/tango",
"version": "740e4f5e59bd3b871c9e5b4efbff7ded516d40aa6abf4e95fd5e8dd149b7bc3f",
"status": "succeeded",
"input": {
"model": "tango2",
"steps": 100,
"prompt": "Quiet speech and then and airplane flying away",
"guidance": 3
},
"output": "https://replicate.delivery/pbxt/RqTLAYe5ZM0DEaHQlDwvA9PGLud8TeEwrGkG3fAWY5e62eAWC/output.wav",
"logs": null,
"error": null,
"metrics": {
"predict_time": 12.386586,
"total_time": 184.047861
},
"created_at": "2024-05-01T22:56:56.144000Z",
"started_at": "2024-05-01T22:59:47.805275Z",
"completed_at": "2024-05-01T23:00:00.191861Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/4gahgg8fa1rgm0cf6sg80rcgn4",
"cancel": "https://api.replicate.com/v1/predictions/4gahgg8fa1rgm0cf6sg80rcgn4/cancel"
}
},
"latest_version": {
"id": "740e4f5e59bd3b871c9e5b4efbff7ded516d40aa6abf4e95fd5e8dd149b7bc3f",
"created_at": "2024-05-01T22:29:30.165543+00:00",
"cog_version": "v0.9.6+dev",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"model": {
"allOf": [
{
"$ref": "#/components/schemas/model"
}
],
"default": "tango2",
"x-order": 1,
"description": "choose a model"
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 100,
"x-order": 2,
"description": "inference steps"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "Quiet speech and then and airplane flying away",
"x-order": 0,
"description": "Input prompt"
},
"guidance": {
"type": "number",
"title": "Guidance",
"default": 3,
"x-order": 3,
"description": "guidance scale"
}
}
},
"model": {
"enum": [
"tango2",
"tango2-full"
],
"type": "string",
"title": "model",
"description": "An enumeration."
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,441 @@
{
"url": "https://replicate.com/falcons-ai/nsfw_image_detection",
"owner": "falcons-ai",
"name": "nsfw_image_detection",
"description": "Fine-Tuned Vision Transformer (ViT) for NSFW Image Classification",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-nsfw_image_detection",
"paper_url": "https://arxiv.org/abs/2010.11929",
"license_url": "https://huggingface.co/models?license=license:apache-2.0",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/JurYNQcIfISvpS6WtaOcwZXw1ifEudlLyQqiLj5N1Zq977Q3/falcon.jpg",
"default_example": {
"id": "uptsg6zb2n7ze57iamsshtclqu",
"model": "falcons-ai/nsfw_image_detection",
"version": "97116600cabd3037e5f22ca08ffcc33b92cfacebf7ccd3609e9c1d29e43d3a8d",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/JurYNQcIfISvpS6WtaOcwZXw1ifEudlLyQqiLj5N1Zq977Q3/falcon.jpg"
},
"output": "normal",
"logs": null,
"error": null,
"metrics": {
"predict_time": 0.565678,
"total_time": 129.28962
},
"created_at": "2023-11-21T14:54:38.090490Z",
"started_at": "2023-11-21T14:56:46.814432Z",
"completed_at": "2023-11-21T14:56:47.380110Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/uptsg6zb2n7ze57iamsshtclqu",
"cancel": "https://api.replicate.com/v1/predictions/uptsg6zb2n7ze57iamsshtclqu/cancel"
}
},
"latest_version": {
"id": "97116600cabd3037e5f22ca08ffcc33b92cfacebf7ccd3609e9c1d29e43d3a8d",
"created_at": "2023-11-21T14:54:02.021194+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
}
}
},
"Output": {
"type": "string",
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,543 @@
{
"url": "https://replicate.com/fofr/face-to-many",
"owner": "fofr",
"name": "face-to-many",
"description": "Turn a face into 3D, emoji, pixel art, video game, claymation or toy",
"visibility": "public",
"github_url": "https://github.com/fofr/cog-face-to-many",
"paper_url": null,
"license_url": "https://github.com/fofr/cog-face-to-many/blob/main/weights_licenses.md",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/583bfb50-534d-4835-a856-80bd2abb332e/mona-list-emoji.webp",
"default_example": {
"id": "pft2dadbcdnh25z5ktctsj3sze",
"model": "fofr/face-to-many",
"version": "edc6439ac55af138defbca7c472b38bcdd62c61797e8e0c2fae88696cd8afb25",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KW7Getr2zD5ECxySdBZtLmPa322lNkXrpkMdKcmxeaDmq2b1/MTk4MTczMTkzNzI1Mjg5NjYy.webp",
"style": "Clay",
"prompt": "a person in a post apocalyptic war game",
"negative_prompt": "",
"prompt_strength": 4.5,
"denoising_strength": 0.65,
"instant_id_strength": 0.8
},
"output": [
"https://replicate.delivery/pbxt/R1ayGe5efoQbaoRzgDEJdLsIZ20lWRiprvoW1F4uKAZIha6kA/ComfyUI_00001_.png"
],
"logs": "Random seed set to: 3672888193\nChecking inputs\n✅ /tmp/inputs/input.webp\n====================================\nRunning workflow\ngot prompt\nExecuting node 3, title: LoRA Stacker, class type: LoRA Stacker\nExecuting node 2, title: Efficient Loader, class type: Efficient Loader\nRequested to load SDXLClipModel\nLoading 1 new model\n----------------------------------------\n\u001b[36mEfficient Loader Models Cache:\u001b[0m\nCkpt:\n[1] albedobaseXL_v13\nLora:\n[1] base_ckpt: albedobaseXL_v13\nlora(mod,clip): ClayAnimationRedm(1,1)\nExecuting node 41, title: Apply InstantID, class type: ApplyInstantID\nExecuting node 51, title: VAE Encode, class type: VAEEncode\nExecuting node 4, title: KSampler (Efficient), class type: KSampler (Efficient)\nRequested to load SDXL\nRequested to load ControlNet\nRequested to load ControlNet\nLoading 3 new models\n 0%| | 0/20 [00:00<?, ?it/s]\n 5%|▌ | 1/20 [00:00<00:05, 3.26it/s]\n 10%|█ | 2/20 [00:00<00:05, 3.26it/s]\n 15%|█▌ | 3/20 [00:00<00:05, 3.28it/s]\n 20%|██ | 4/20 [00:01<00:04, 3.28it/s]\n 25%|██▌ | 5/20 [00:01<00:04, 3.28it/s]\n 30%|███ | 6/20 [00:01<00:04, 3.29it/s]\n 35%|███▌ | 7/20 [00:02<00:03, 3.27it/s]\n 40%|████ | 8/20 [00:02<00:03, 3.27it/s]\n 45%|████▌ | 9/20 [00:02<00:03, 3.29it/s]\n 50%|█████ | 10/20 [00:03<00:03, 3.29it/s]\n 55%|█████▌ | 11/20 [00:03<00:02, 3.29it/s]\n 60%|██████ | 12/20 [00:03<00:02, 3.30it/s]\n 65%|██████▌ | 13/20 [00:03<00:02, 3.30it/s]\n 70%|███████ | 14/20 [00:04<00:01, 3.30it/s]\n 75%|███████▌ | 15/20 [00:04<00:01, 3.30it/s]\n 80%|████████ | 16/20 [00:04<00:01, 3.32it/s]\n 85%|████████▌ | 17/20 [00:05<00:00, 3.32it/s]\n 90%|█████████ | 18/20 [00:05<00:00, 3.33it/s]\n 95%|█████████▌| 19/20 [00:05<00:00, 3.37it/s]\n100%|██████████| 20/20 [00:06<00:00, 3.41it/s]\n100%|██████████| 20/20 [00:06<00:00, 3.31it/s]\nExecuting node 5, title: Save Image, class type: SaveImage\nPrompt executed in 20.70 seconds\noutputs: {'4': {'images': []}, '5': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}}\n====================================\nContents of /tmp/outputs:\nComfyUI_00001_.png",
"error": null,
"metrics": {
"predict_time": 23.016322,
"total_time": 23.051238
},
"created_at": "2024-03-05T13:45:50.761895Z",
"started_at": "2024-03-05T13:45:50.796811Z",
"completed_at": "2024-03-05T13:46:13.813133Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/pft2dadbcdnh25z5ktctsj3sze",
"cancel": "https://api.replicate.com/v1/predictions/pft2dadbcdnh25z5ktctsj3sze/cancel"
}
},
"latest_version": {
"id": "a07f252abbbd832009640b27f063ea52d87d7a23a185ca165bec23b5adc8deaf",
"created_at": "2024-04-09T11:22:38.160380+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 8,
"description": "Fix the random seed for reproducibility"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "An image of a person to be converted"
},
"style": {
"allOf": [
{
"$ref": "#/components/schemas/style"
}
],
"default": "3D",
"x-order": 1,
"description": "Style to convert to"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "a person",
"x-order": 2
},
"lora_scale": {
"type": "number",
"title": "Lora Scale",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 10,
"description": "How strong the LoRA will be"
},
"custom_lora_url": {
"type": "string",
"title": "Custom Lora Url",
"x-order": 9,
"description": "URL to a Replicate custom LoRA. Must be in the format https://replicate.delivery/pbxt/[id]/trained_model.tar or https://pbxt.replicate.delivery/[id]/trained_model.tar"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "",
"x-order": 3,
"description": "Things you do not want in the image"
},
"prompt_strength": {
"type": "number",
"title": "Prompt Strength",
"default": 4.5,
"maximum": 20,
"minimum": 0,
"x-order": 5,
"description": "Strength of the prompt. This is the CFG scale, higher numbers lead to stronger prompt, lower numbers will keep more of a likeness to the original."
},
"denoising_strength": {
"type": "number",
"title": "Denoising Strength",
"default": 0.65,
"maximum": 1,
"minimum": 0,
"x-order": 4,
"description": "How much of the original image to keep. 1 is the complete destruction of the original image, 0 is the original image"
},
"instant_id_strength": {
"type": "number",
"title": "Instant Id Strength",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 7,
"description": "How strong the InstantID will be."
},
"control_depth_strength": {
"type": "number",
"title": "Control Depth Strength",
"default": 0.8,
"maximum": 1,
"minimum": 0,
"x-order": 6,
"description": "Strength of depth controlnet. The bigger this is, the more controlnet affects the output."
}
}
},
"style": {
"enum": [
"3D",
"Emoji",
"Video game",
"Pixels",
"Clay",
"Toy"
],
"type": "string",
"title": "style",
"description": "An enumeration."
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,615 @@
{
"url": "https://replicate.com/fofr/latent-consistency-model",
"owner": "fofr",
"name": "latent-consistency-model",
"description": "Super-fast, 0.6s per image. LCM with img2img, large batching and canny controlnet",
"visibility": "public",
"github_url": "https://github.com/fofr/cog-lcm",
"paper_url": null,
"license_url": "https://github.com/fofr/cog-lcm/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/859c8ec6-4046-4d4e-9826-b7b575e5b79f/cover.webp",
"default_example": {
"id": "uzzsxzjb2sus5xl5jqnxpjlyoq",
"model": "fofr/latent-consistency-model",
"version": "fd0f02756ae5c3244cfb45c0603296e7418c07d1501bc6e9463ea2d215d5e38f",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/JlG0Efd2ubBp9yGnlOi7I9Se2rXnJSrPFogLf0YieKgjnWN6/download-6.png",
"width": 768,
"height": 768,
"prompt": "Self-portrait oil painting, a beautiful cyborg with golden hair, 8k",
"num_images": 1,
"guidance_scale": 8,
"archive_outputs": false,
"prompt_strength": 0.45,
"sizing_strategy": "width/height",
"lcm_origin_steps": 50,
"canny_low_threshold": 100,
"num_inference_steps": 4,
"canny_high_threshold": 200,
"control_guidance_end": 1,
"control_guidance_start": 0,
"controlnet_conditioning_scale": 2
},
"output": [
"https://replicate.delivery/pbxt/LF23xWrMie2vMCmbiswetET2BLperpEtNodZSN4yNfDkAClHB/out-0.jpg"
],
"logs": "Using seed: 38477\nFound 1 prompt:\n- Self-portrait oil painting, a beautiful cyborg with golden hair, 8k\nMaking 1 image\nUsing given dimensions\nimg2img mode\n 0%| | 0/4 [00:00<?, ?it/s]\n 50%|█████ | 2/4 [00:00<00:00, 17.91it/s]\n100%|██████████| 4/4 [00:00<00:00, 17.82it/s]\n100%|██████████| 4/4 [00:00<00:00, 17.81it/s]",
"error": null,
"metrics": {
"predict_time": 0.845919,
"total_time": 1.28709
},
"created_at": "2023-11-17T12:01:12.926959Z",
"started_at": "2023-11-17T12:01:13.368130Z",
"completed_at": "2023-11-17T12:01:14.214049Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/uzzsxzjb2sus5xl5jqnxpjlyoq",
"cancel": "https://api.replicate.com/v1/predictions/uzzsxzjb2sus5xl5jqnxpjlyoq/cancel"
}
},
"latest_version": {
"id": "683d19dc312f7a9f0428b04429a9ccefd28dbf7785fef083ad5cf991b65f406f",
"created_at": "2024-01-10T10:02:04.312938+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 10,
"description": "Random seed. Leave blank to randomize the seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 4,
"description": "Input image for img2img"
},
"width": {
"type": "integer",
"title": "Width",
"default": 768,
"x-order": 1,
"description": "Width of output image. Lower if out of memory"
},
"height": {
"type": "integer",
"title": "Height",
"default": 768,
"x-order": 2,
"description": "Height of output image. Lower if out of memory"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "Self-portrait oil painting, a beautiful cyborg with golden hair, 8k",
"x-order": 0,
"description": "For multiple prompts, enter each on a new line."
},
"num_images": {
"type": "integer",
"title": "Num Images",
"default": 1,
"maximum": 50,
"minimum": 1,
"x-order": 6,
"description": "Number of images per prompt"
},
"control_image": {
"type": "string",
"title": "Control Image",
"format": "uri",
"x-order": 11,
"description": "Image for controlnet conditioning"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 8,
"maximum": 20,
"minimum": 1,
"x-order": 8,
"description": "Scale for classifier-free guidance"
},
"archive_outputs": {
"type": "boolean",
"title": "Archive Outputs",
"default": false,
"x-order": 17,
"description": "Option to archive the output images"
},
"prompt_strength": {
"type": "number",
"title": "Prompt Strength",
"default": 0.8,
"maximum": 1,
"minimum": 0,
"x-order": 5,
"description": "Prompt strength when using img2img. 1.0 corresponds to full destruction of information in image"
},
"sizing_strategy": {
"allOf": [
{
"$ref": "#/components/schemas/sizing_strategy"
}
],
"default": "width/height",
"x-order": 3,
"description": "Decide how to resize images – use width/height, resize based on input image or control image"
},
"lcm_origin_steps": {
"type": "integer",
"title": "Lcm Origin Steps",
"default": 50,
"minimum": 1,
"x-order": 9
},
"canny_low_threshold": {
"type": "number",
"title": "Canny Low Threshold",
"default": 100,
"maximum": 255,
"minimum": 1,
"x-order": 15,
"description": "Canny low threshold"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 8,
"maximum": 50,
"minimum": 1,
"x-order": 7,
"description": "Number of denoising steps. Recommend 1 to 8 steps."
},
"canny_high_threshold": {
"type": "number",
"title": "Canny High Threshold",
"default": 200,
"maximum": 255,
"minimum": 1,
"x-order": 16,
"description": "Canny high threshold"
},
"control_guidance_end": {
"type": "number",
"title": "Control Guidance End",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 14,
"description": "Controlnet end"
},
"control_guidance_start": {
"type": "number",
"title": "Control Guidance Start",
"default": 0,
"maximum": 1,
"minimum": 0,
"x-order": 13,
"description": "Controlnet start"
},
"disable_safety_checker": {
"type": "boolean",
"title": "Disable Safety Checker",
"default": false,
"x-order": 18,
"description": "Disable safety checker for generated images. This feature is only available through the API"
},
"controlnet_conditioning_scale": {
"type": "number",
"title": "Controlnet Conditioning Scale",
"default": 2,
"maximum": 4,
"minimum": 0.1,
"x-order": 12,
"description": "Controlnet conditioning scale"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"sizing_strategy": {
"enum": [
"width/height",
"input_image",
"control_image"
],
"type": "string",
"title": "sizing_strategy",
"description": "An enumeration."
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,573 @@
{
"url": "https://replicate.com/fofr/style-transfer",
"owner": "fofr",
"name": "style-transfer",
"description": "Transfer the style of one image to another",
"visibility": "public",
"github_url": "https://github.com/fofr/cog-style-transfer",
"paper_url": null,
"license_url": "https://github.com/fofr/cog-style-transfer/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/fd0ac369-c6ac-4927-b882-ece29cffc45d/cover.webp",
"default_example": {
"id": "k95qy9gahdrgp0cexq38bkrrsr",
"model": "fofr/style-transfer",
"version": "b85ce11e8afb98f6ee0a0237caf38345eb28be9ebb081aee66751716d5dbeca8",
"status": "succeeded",
"input": {
"width": 1024,
"height": 1024,
"prompt": "An astronaut riding a unicorn",
"style_image": "https://replicate.delivery/pbxt/KlTqluRakBzt7N5mm1WExEQCc4J3usa7E3n5dhttcayTqFRm/van-gogh.jpeg",
"negative_prompt": "",
"number_of_images": 1,
"optimise_output_images": true,
"optimise_output_images_quality": 80
},
"output": [
"https://replicate.delivery/pbxt/wmtBOf7pSlzHF6RBbeG5YpIXEYkRlGcoTpnOMi2Fqg9EUeWlA/ComfyUI_00001_.webp"
],
"logs": "Random seed set to: 246154933\nChecking inputs\n✅ /tmp/inputs/image.png\n====================================\nRunning workflow\ngot prompt\nExecuting node 2, title: Load Checkpoint, class type: CheckpointLoaderSimple\nmodel_type EPS\nadm 2816\nUsing pytorch attention in VAE\nWorking with z of shape (1, 4, 32, 32) = 4096 dimensions.\nUsing pytorch attention in VAE\nmissing {'cond_stage_model.clip_l.text_projection', 'cond_stage_model.clip_l.logit_scale'}\nleft over keys: dict_keys(['conditioner.embedders.0.logit_scale', 'conditioner.embedders.0.text_projection'])\nloaded straight to GPU\nRequested to load SDXL\nLoading 1 new model\nExecuting node 1, title: IPAdapter Unified Loader, class type: IPAdapterUnifiedLoader\n\u001b[33mINFO: Clip Vision model loaded from /src/ComfyUI/models/clip_vision/CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors\u001b[0m\n\u001b[33mINFO: IPAdapter model loaded from /src/ComfyUI/models/ipadapter/ip-adapter-plus_sdxl_vit-h.safetensors\u001b[0m\nExecuting node 5, title: Load Image, class type: LoadImage\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\nRequested to load CLIPVisionModelProjection\nLoading 1 new model\nExecuting node 4, title: IPAdapter, class type: IPAdapter\nExecuting node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode\nRequested to load SDXLClipModel\nLoading 1 new model\nExecuting node 7, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode\nExecuting node 10, title: Empty Latent Image, class type: EmptyLatentImage\nExecuting node 3, title: KSampler, class type: KSampler\nRequested to load SDXL\nLoading 1 new model\nunload clone 2\n 0%| | 0/4 [00:00<?, ?it/s]/root/.pyenv/versions/3.10.6/lib/python3.10/site-packages/torchsde/_brownian/brownian_interval.py:608: UserWarning: Should have tb<=t1 but got tb=14.614644050598145 and t1=14.614643.\nwarnings.warn(f\"Should have {tb_name}<=t1 but got {tb_name}={tb} and t1={self._end}.\")\n 25%|██▌ | 1/4 [00:00<00:01, 1.67it/s]\n 50%|█████ | 2/4 [00:01<00:01, 1.95it/s]\n 75%|███████▌ | 3/4 [00:01<00:00, 2.14it/s]\n100%|██████████| 4/4 [00:01<00:00, 2.78it/s]\n100%|██████████| 4/4 [00:01<00:00, 2.41it/s]\nRequested to load AutoencoderKL\nLoading 1 new model\nExecuting node 8, title: VAE Decode, class type: VAEDecode\nExecuting node 9, title: Save Image, class type: SaveImage\nPrompt executed in 7.07 seconds\noutputs: {'9': {'images': [{'filename': 'ComfyUI_00001_.png', 'subfolder': '', 'type': 'output'}]}}\n====================================\nComfyUI_00001_.png",
"error": null,
"metrics": {
"predict_time": 9.354159,
"total_time": 83.039217
},
"created_at": "2024-04-17T20:36:02.827000Z",
"started_at": "2024-04-17T20:37:16.512058Z",
"completed_at": "2024-04-17T20:37:25.866217Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/k95qy9gahdrgp0cexq38bkrrsr",
"cancel": "https://api.replicate.com/v1/predictions/k95qy9gahdrgp0cexq38bkrrsr/cancel"
}
},
"latest_version": {
"id": "f1023890703bc0a5a3a2c21b5e498833be5f6ef6e70e9daf6b9b3a4fd8309cf0",
"created_at": "2024-04-19T13:05:30.723523+00:00",
"cog_version": "0.9.5",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"style_image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 12,
"description": "Set a seed for reproducibility. Random by default."
},
"model": {
"allOf": [
{
"$ref": "#/components/schemas/model"
}
],
"default": "fast",
"x-order": 6,
"description": "Model to use for the generation"
},
"width": {
"type": "integer",
"title": "Width",
"default": 1024,
"x-order": 4,
"description": "Width of the output image (ignored if structure image given)"
},
"height": {
"type": "integer",
"title": "Height",
"default": 1024,
"x-order": 5,
"description": "Height of the output image (ignored if structure image given)"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "An astronaut riding a unicorn",
"x-order": 2,
"description": "Prompt for the image"
},
"style_image": {
"type": "string",
"title": "Style Image",
"format": "uri",
"x-order": 0,
"description": "Copy the style from this image"
},
"output_format": {
"allOf": [
{
"$ref": "#/components/schemas/output_format"
}
],
"default": "webp",
"x-order": 10,
"description": "Format of the output images"
},
"output_quality": {
"type": "integer",
"title": "Output Quality",
"default": 80,
"maximum": 100,
"minimum": 0,
"x-order": 11,
"description": "Quality of the output images, from 0 to 100. 100 is best quality, 0 is lowest quality."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "",
"x-order": 3,
"description": "Things you do not want to see in your image"
},
"structure_image": {
"type": "string",
"title": "Structure Image",
"format": "uri",
"x-order": 1,
"description": "An optional image to copy structure from. Output images will use the same aspect ratio."
},
"number_of_images": {
"type": "integer",
"title": "Number Of Images",
"default": 1,
"maximum": 10,
"minimum": 1,
"x-order": 7,
"description": "Number of images to generate"
},
"structure_depth_strength": {
"type": "number",
"title": "Structure Depth Strength",
"default": 1,
"maximum": 2,
"minimum": 0,
"x-order": 8,
"description": "Strength of the depth controlnet"
},
"structure_denoising_strength": {
"type": "number",
"title": "Structure Denoising Strength",
"default": 0.65,
"maximum": 1,
"minimum": 0,
"x-order": 9,
"description": "How much of the original image (and colors) to preserve (0 is all, 1 is none, 0.65 is a good balance)"
}
}
},
"model": {
"enum": [
"fast",
"high-quality",
"realistic",
"cinematic",
"animated"
],
"type": "string",
"title": "model",
"description": "An enumeration."
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"output_format": {
"enum": [
"webp",
"jpg",
"png"
],
"type": "string",
"title": "output_format",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,273 @@
{
"url": "https://replicate.com/jingyunliang/swinir",
"owner": "jingyunliang",
"name": "swinir",
"description": "Image Restoration Using Swin Transformer",
"visibility": "public",
"github_url": "https://github.com/JingyunLiang/SwinIR",
"paper_url": "https://arxiv.org/abs/2108.10257",
"license_url": "https://github.com/JingyunLiang/SwinIR/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/c62290f9-ba1d-419b-95b8-eedfe5863122/out.png",
"default_example": {
"id": "csp4aecvzneq7pmzoyzyuwu4ci",
"model": "jingyunliang/swinir",
"version": "a6655af5d286c0362310303ace66a638b0e1e01be584a327f18d0d6c8c00025a",
"status": "succeeded",
"input": {
"jpeg": "40",
"image": "https://replicate.delivery/mgxm/efd1b6b0-4d79-4a42-ab31-2dcd29754a2d/chip.png",
"noise": "15",
"task_type": "Real-World Image Super-Resolution-Large"
},
"output": [
{
"file": "https://replicate.delivery/mgxm/1e3c0b87-01a7-4795-abac-aaf17479cf84/out.png"
}
],
"logs": "",
"error": "",
"metrics": {
"total_time": 0.96962
},
"created_at": "2021-09-15T13:53:54.030380Z",
"started_at": "2021-12-18T09:22:11.531194Z",
"completed_at": "2021-09-15T13:53:55Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/csp4aecvzneq7pmzoyzyuwu4ci",
"cancel": "https://api.replicate.com/v1/predictions/csp4aecvzneq7pmzoyzyuwu4ci/cancel"
}
},
"latest_version": {
"id": "660d922d33153019e8c263a3bba265de882e7f4f70396546b6c9c8f9d47a021a",
"created_at": "2022-09-29T13:41:56.854576+00:00",
"cog_version": "0.4.1",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Response"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Request"
}
}
}
}
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"jpeg": {
"type": "integer",
"title": "Jpeg",
"default": 40,
"x-order": 3,
"description": "scale factor, activated for JPEG Compression Artifact Reduction. Leave it as default or arbitrary if other tasks are selected"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "input image"
},
"noise": {
"allOf": [
{
"$ref": "#/components/schemas/noise"
}
],
"default": 15,
"x-order": 2,
"description": "noise level, activated for Grayscale Image Denoising and Color Image Denoising. Leave it as default or arbitrary if other tasks are selected"
},
"task_type": {
"allOf": [
{
"$ref": "#/components/schemas/task_type"
}
],
"default": "Real-World Image Super-Resolution-Large",
"x-order": 1,
"description": "Choose a task"
}
}
},
"noise": {
"enum": [
15,
25,
50
],
"type": "integer",
"title": "noise",
"description": "An enumeration."
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"processing",
"succeeded",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"Request": {
"type": "object",
"title": "Request",
"properties": {
"input": {
"$ref": "#/components/schemas/Input"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
}
},
"description": "The request body for a prediction"
},
"Response": {
"type": "object",
"title": "Response",
"required": [
"status"
],
"properties": {
"error": {
"type": "string",
"title": "Error"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
}
},
"description": "The response body for a prediction"
},
"task_type": {
"enum": [
"Real-World Image Super-Resolution-Large",
"Real-World Image Super-Resolution-Medium",
"Grayscale Image Denoising",
"Color Image Denoising",
"JPEG Compression Artifact Reduction"
],
"type": "string",
"title": "task_type",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,523 @@
{
"url": "https://replicate.com/lucataco/hunyuandit-v1.1",
"owner": "lucataco",
"name": "hunyuandit-v1.1",
"description": "A Powerful Multi-Resolution Diffusion Transformer with Fine-Grained Chinese Understanding",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-HunyuanDiT-v1.1",
"paper_url": "https://arxiv.org/abs/2403.08857",
"license_url": "https://huggingface.co/Tencent-Hunyuan/HunyuanDiT/blob/main/LICENSE.txt",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/zaIEwnA4yablMNKnI2B20puFnkTZkiJ27geV2Ohk3VtOYRhJA/out.png",
"default_example": {
"id": "sfncqenqv9rgm0cgarybtpj2nc",
"model": "lucataco/hunyuandit-v1.1",
"version": "6ad5f2571b5892f6c874288b482c0a50d3cc9a2e02338806e9e12b23f14d9810",
"status": "succeeded",
"input": {
"size": "square",
"prompt": "A clever fox walks in a broadleaf forest next to a stream, realistic details, photography",
"sampler": "ddpm",
"enhance_prompt": false,
"guidance_scale": 6,
"negative_prompt": "",
"num_inference_steps": 20
},
"output": "https://replicate.delivery/pbxt/zaIEwnA4yablMNKnI2B20puFnkTZkiJ27geV2Ohk3VtOYRhJA/out.png",
"logs": "Using seed: 10070\n2024-06-26 20:28:58.213 | INFO | hydit.inference:predict:320 - Input (height, width) = (1024, 1024)\n2024-06-26 20:28:58.213 | INFO | hydit.inference:predict:325 - Align to 16: (height, width) = (1024, 1024)\n2024-06-26 20:28:58.214 | DEBUG | hydit.inference:predict:371 -\nprompt: A clever fox walks in a broadleaf forest next to a stream, realistic details, photography\nenhanced prompt: None\nseed: 10070\n(height, width): (1024, 1024)\nnegative_prompt: 错误的眼睛,糟糕的人脸,毁容,糟糕的艺术,变形,多余的肢体,模糊的颜色,模糊,重复,病态,残缺,\nbatch_size: 1\nguidance_scale: 6.0\ninfer_steps: 20\nimage_meta_size: [1024, 1024, 1024, 1024, 0, 0]\n 0%| | 0/20 [00:00<?, ?it/s]\n 5%|▌ | 1/20 [00:00<00:17, 1.09it/s]\n 10%|█ | 2/20 [00:01<00:16, 1.09it/s]\n 15%|█▌ | 3/20 [00:02<00:15, 1.09it/s]\n 20%|██ | 4/20 [00:03<00:14, 1.09it/s]\n 25%|██▌ | 5/20 [00:04<00:13, 1.09it/s]\n 30%|███ | 6/20 [00:05<00:12, 1.09it/s]\n 35%|███▌ | 7/20 [00:06<00:11, 1.09it/s]\n 40%|████ | 8/20 [00:07<00:11, 1.09it/s]\n 45%|████▌ | 9/20 [00:08<00:10, 1.09it/s]\n 50%|█████ | 10/20 [00:09<00:09, 1.09it/s]\n 55%|█████▌ | 11/20 [00:10<00:08, 1.07it/s]\n 60%|██████ | 12/20 [00:11<00:07, 1.06it/s]\n 65%|██████▌ | 13/20 [00:12<00:06, 1.05it/s]\n 70%|███████ | 14/20 [00:13<00:05, 1.05it/s]\n 75%|███████▌ | 15/20 [00:14<00:04, 1.05it/s]\n 80%|████████ | 16/20 [00:14<00:03, 1.05it/s]\n 85%|████████▌ | 17/20 [00:15<00:02, 1.04it/s]\n 90%|█████████ | 18/20 [00:16<00:01, 1.04it/s]\n 95%|█████████▌| 19/20 [00:17<00:00, 1.05it/s]\n100%|██████████| 20/20 [00:18<00:00, 1.05it/s]\n100%|██████████| 20/20 [00:18<00:00, 1.06it/s]\n2024-06-26 20:29:17.531 | DEBUG | hydit.inference:predict:408 - Success, time: 19.317441701889038",
"error": null,
"metrics": {
"predict_time": 20.128273353,
"total_time": 20.138158
},
"created_at": "2024-06-26T20:28:58.202000Z",
"started_at": "2024-06-26T20:28:58.211885Z",
"completed_at": "2024-06-26T20:29:18.340158Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/sfncqenqv9rgm0cgarybtpj2nc",
"cancel": "https://api.replicate.com/v1/predictions/sfncqenqv9rgm0cgarybtpj2nc/cancel"
}
},
"latest_version": {
"id": "6ad5f2571b5892f6c874288b482c0a50d3cc9a2e02338806e9e12b23f14d9810",
"created_at": "2024-06-26T20:21:25.792584+00:00",
"cog_version": "0.9.10",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"size": {
"enum": [
"square",
"landscape",
"portrait"
],
"type": "string",
"title": "size",
"description": "An enumeration."
},
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 7,
"description": "Random seed. Leave blank to randomize the seed"
},
"size": {
"allOf": [
{
"$ref": "#/components/schemas/size"
}
],
"default": "square",
"x-order": 2,
"description": "Choose the output size. square: (1024, 1024), landscape: (768, 1280), portrait: (1280, 768)."
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "a cute cat",
"x-order": 0,
"description": "Input prompt"
},
"sampler": {
"allOf": [
{
"$ref": "#/components/schemas/sampler"
}
],
"default": "ddpm",
"x-order": 6,
"description": "Choose a sampler."
},
"enhance_prompt": {
"type": "boolean",
"title": "Enhance Prompt",
"default": false,
"x-order": 5,
"description": "Choose to enhance the prompt."
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 6,
"maximum": 20,
"minimum": 1,
"x-order": 4,
"description": "Scale for classifier-free guidance"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "",
"x-order": 1,
"description": "Specify things to not see in the output"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 40,
"maximum": 500,
"minimum": 1,
"x-order": 3,
"description": "Number of denoising steps"
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"sampler": {
"enum": [
"ddpm",
"ddim",
"dpmms"
],
"type": "string",
"title": "sampler",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,596 @@
{
"url": "https://replicate.com/lucataco/llama-3-vision-alpha",
"owner": "lucataco",
"name": "llama-3-vision-alpha",
"description": "Projection module trained to add vision capabilties to Llama 3 using SigLIP",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-llama-3-vision-alpha",
"paper_url": "https://arxiv.org/abs/2304.08485",
"license_url": "https://huggingface.co/meta-llama/Meta-Llama-3-8B/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/Kq17Ws2RLIXdeFeep2N56psrMVq57TPssPrffeF8HawmOhvD/frieren.jpg",
"default_example": {
"id": "xr5yqyfvx5rgg0cjzm4903jh9g",
"model": "lucataco/llama-3-vision-alpha",
"version": "79f9f3418f65fb5d180978a969d5646e33f8ca67430a2fe903c9a4be82565925",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/Kq17Ws2RLIXdeFeep2N56psrMVq57TPssPrffeF8HawmOhvD/frieren.jpg",
"prompt": "Describe the image"
},
"output": [
"",
"The ",
"image ",
"is ",
"of ",
"a ",
"young ",
"girl ",
"with ",
"",
"short, ",
"curly ",
"hair ",
"and ",
"bright ",
"blue ",
"",
"eyes. ",
"She ",
"has ",
"a ",
"sweet ",
"and ",
"cheerful ",
"",
"face, ",
"with ",
"a ",
"hint ",
"of ",
"mischief ",
"in ",
"her ",
"",
"eyes. ",
"She ",
"is ",
"holding ",
"a ",
"giant ",
"hamburger ",
"in ",
"her ",
"",
"hand, ",
"with ",
"a ",
"big ",
"bite ",
"taken ",
"out ",
"of ",
"",
"it. ",
"She ",
"looks ",
"like ",
"",
"she's ",
"enjoying ",
"every ",
"bite ",
"of ",
"her ",
"",
"meal, ",
"with ",
"a ",
"satisfied ",
"expression ",
"on ",
"her ",
"",
"face. ",
"She ",
"is ",
"sitting ",
"at ",
"a ",
"table ",
"in ",
"a ",
"medieval ",
"- ",
"style ",
"",
"tavern, ",
"surrounded ",
"by ",
"wooden ",
"tables ",
"and ",
"",
"chairs, ",
"with ",
"a ",
"fireplace ",
"",
"crackling ",
"in ",
"the ",
"",
"background. ",
"The ",
"atmosphere ",
"is ",
"cozy ",
"and ",
"",
"inviting, ",
"with ",
"a ",
"warm ",
"glow ",
"",
"emanating ",
"from ",
"the ",
"",
"fireplace. ",
"The ",
"girl ",
"looks ",
"like ",
"",
"she's ",
"in ",
"her ",
"",
"element, ",
"enjoying ",
"a ",
"hearty ",
"meal ",
"with ",
"friends ",
"and ",
"",
"",
"family."
],
"logs": null,
"error": null,
"metrics": {
"predict_time": 7.222070288,
"total_time": 213.543136
},
"created_at": "2024-11-05T15:54:37.417000Z",
"started_at": "2024-11-05T15:58:03.738066Z",
"completed_at": "2024-11-05T15:58:10.960136Z",
"urls": {
"stream": "https://stream-g.svc.us.c.replicate.net/v1/streams/tyc5fuqsyfaljskuudrin6ii5giamx5prdfpvk6uiqk7vlj7m56q",
"get": "https://api.replicate.com/v1/predictions/xr5yqyfvx5rgg0cjzm4903jh9g",
"cancel": "https://api.replicate.com/v1/predictions/xr5yqyfvx5rgg0cjzm4903jh9g/cancel"
}
},
"latest_version": {
"id": "79f9f3418f65fb5d180978a969d5646e33f8ca67430a2fe903c9a4be82565925",
"created_at": "2024-11-05T15:53:22.829736+00:00",
"cog_version": "0.12.0",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "Describe the image",
"x-order": 1,
"description": "Input prompt"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,504 @@
{
"url": "https://replicate.com/lucataco/pasd-magnify",
"owner": "lucataco",
"name": "pasd-magnify",
"description": "(Academic and Non-commercial use only) Pixel-Aware Stable Diffusion for Realistic Image Super-resolution and Personalized Stylization",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-PASD-Magnify",
"paper_url": "https://huggingface.co/papers/2308.14469",
"license_url": null,
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/MGJy2aTpJB7dI1sQ49nfZpdQh2pesLIF6cC22ySbGo0LhcKSA/output-20240108153527.jpg",
"default_example": {
"id": "wo45dqtbfv6zj3pwqldqj3qbxe",
"model": "lucataco/pasd-magnify",
"version": "d59e83ee13c42b137aee558c483e3acc0a8ecdacb1444a7be48152f008dcc195",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KBuUhAMqvkXfjTqqOyg1TqIXSzgUhCbjIzaFoNb7fUdkK685/frog.png",
"prompt": "Frog, clean, high-resolution, 8k, best quality, masterpiece",
"n_prompt": "dotted, noise, blur, lowres, oversmooth, longbody, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality",
"denoise_steps": 20,
"guidance_scale": 7.5,
"upsample_scale": 2,
"conditioning_scale": 1.1
},
"output": "https://replicate.delivery/pbxt/MGJy2aTpJB7dI1sQ49nfZpdQh2pesLIF6cC22ySbGo0LhcKSA/output-20240108153527.jpg",
"logs": "Using seed: 2896644955\nSeed set to 2896644955\n 0%| | 0/20 [00:00<?, ?it/s]\n 5%|▌ | 1/20 [00:00<00:12, 1.54it/s]\n 10%|█ | 2/20 [00:01<00:10, 1.76it/s]\n 15%|█▌ | 3/20 [00:01<00:09, 1.82it/s]\n 20%|██ | 4/20 [00:02<00:08, 1.86it/s]\n 25%|██▌ | 5/20 [00:02<00:07, 1.89it/s]\n 30%|███ | 6/20 [00:03<00:07, 1.90it/s]\n 35%|███▌ | 7/20 [00:03<00:06, 1.91it/s]\n 40%|████ | 8/20 [00:04<00:06, 1.91it/s]\n 45%|████▌ | 9/20 [00:04<00:05, 1.92it/s]\n 50%|█████ | 10/20 [00:05<00:05, 1.92it/s]\n 55%|█████▌ | 11/20 [00:05<00:04, 1.92it/s]\n 60%|██████ | 12/20 [00:06<00:04, 1.92it/s]\n 65%|██████▌ | 13/20 [00:06<00:03, 1.92it/s]\n 70%|███████ | 14/20 [00:07<00:03, 1.92it/s]\n 75%|███████▌ | 15/20 [00:07<00:02, 1.93it/s]\n 80%|████████ | 16/20 [00:08<00:02, 1.93it/s]\n 85%|████████▌ | 17/20 [00:08<00:01, 1.93it/s]\n 90%|█████████ | 18/20 [00:09<00:01, 1.93it/s]\n 95%|█████████▌| 19/20 [00:09<00:00, 1.93it/s]\n100%|██████████| 20/20 [00:10<00:00, 1.93it/s]\n100%|██████████| 20/20 [00:10<00:00, 1.90it/s]\n[Tiled VAE]: the input size is tiny and unnecessary to tile.\n[Tiled VAE]: Done in 11.102s, max VRAM alloc 5803.197 MB",
"error": null,
"metrics": {
"predict_time": 13.316808,
"total_time": 143.462103
},
"created_at": "2024-01-08T15:33:16.794743Z",
"started_at": "2024-01-08T15:35:26.940038Z",
"completed_at": "2024-01-08T15:35:40.256846Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/wo45dqtbfv6zj3pwqldqj3qbxe",
"cancel": "https://api.replicate.com/v1/predictions/wo45dqtbfv6zj3pwqldqj3qbxe/cancel"
}
},
"latest_version": {
"id": "d59e83ee13c42b137aee558c483e3acc0a8ecdacb1444a7be48152f008dcc195",
"created_at": "2024-01-08T15:17:33.283172+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 7,
"description": "Random seed. Leave blank to randomize the seed"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "Frog, clean, high-resolution, 8k, best quality, masterpiece",
"x-order": 1,
"description": "Prompt"
},
"n_prompt": {
"type": "string",
"title": "N Prompt",
"default": "dotted, noise, blur, lowres, oversmooth, longbody, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality",
"x-order": 2,
"description": "Negative Prompt"
},
"denoise_steps": {
"type": "integer",
"title": "Denoise Steps",
"default": 20,
"maximum": 50,
"minimum": 10,
"x-order": 3,
"description": "Denoise Steps"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 7.5,
"maximum": 10,
"minimum": 0.5,
"x-order": 6,
"description": "Guidance Scale"
},
"upsample_scale": {
"type": "integer",
"title": "Upsample Scale",
"default": 2,
"maximum": 4,
"minimum": 1,
"x-order": 4,
"description": "Upsample Scale"
},
"conditioning_scale": {
"type": "number",
"title": "Conditioning Scale",
"default": 1.1,
"maximum": 1.5,
"minimum": 0.5,
"x-order": 5,
"description": "Conditioning Scale"
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,492 @@
{
"url": "https://replicate.com/lucataco/xtts-v2",
"owner": "lucataco",
"name": "xtts-v2",
"description": "Coqui XTTS-v2: Multilingual Text To Speech Voice Cloning",
"visibility": "public",
"github_url": "https://github.com/lucataco/cog-xtts-v2",
"paper_url": "https://huggingface.co/coqui/XTTS-v2",
"license_url": "https://coqui.ai/cpml",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/760b1398-2ab5-4e9b-959e-f3fed025c82f/xtts.png",
"default_example": {
"id": "adinmbzbslyshwze5s6qmpzmzu",
"model": "lucataco/xtts-v2",
"version": "49ff6cfa14bd4e7f80f62e2279f82f23dfc2e7970f825f8db5599f8a6213c009",
"status": "succeeded",
"input": {
"text": "Hi there, I'm your new voice clone. Try your best to upload quality audio",
"speaker": "https://replicate.delivery/pbxt/Jt79w0xsT64R1JsiJ0LQRL8UcWspg5J4RFrU6YwEKpOT1ukS/male.wav",
"language": "en",
"cleanup_voice": false
},
"output": "https://replicate.delivery/pbxt/eyESqfNPahnLY0gaohu50zm3nL6d5ZLxKdWMuqSPRqbihfxjA/output.wav",
"logs": "ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers\nbuilt with gcc 11 (Ubuntu 11.2.0-19ubuntu1)\nconfiguration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared\nlibavutil 56. 70.100 / 56. 70.100\nlibavcodec 58.134.100 / 58.134.100\nlibavformat 58. 76.100 / 58. 76.100\nlibavdevice 58. 13.100 / 58. 13.100\nlibavfilter 7.110.100 / 7.110.100\nlibswscale 5. 9.100 / 5. 9.100\nlibswresample 3. 9.100 / 3. 9.100\nlibpostproc 55. 9.100 / 55. 9.100\nGuessed Channel Layout for Input Stream #0.0 : mono\nInput #0, wav, from '/tmp/tmphmw6jd84male.wav':\nMetadata:\nencoder : Lavf58.29.100\nDuration: 00:00:08.64, bitrate: 705 kb/s\nStream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono, s16, 705 kb/s\nStream mapping:\nStream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))\nPress [q] to stop, [?] for help\nOutput #0, wav, to '/tmp/speaker.wav':\nMetadata:\nISFT : Lavf58.76.100\nStream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono, s16, 705 kb/s\nMetadata:\nencoder : Lavc58.134.100 pcm_s16le\nsize= 4kB time=00:00:00.00 bitrate=N/A speed=N/A\nsize= 744kB time=00:00:08.63 bitrate= 705.9kbits/s speed=1.75e+03x\nvideo:0kB audio:744kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.010236%\n> Text splitted to sentences.\n[\"Hi there, I'm your new voice clone.\", 'Try your best to upload quality audio']\n> Processing time: 3.3411097526550293\n> Real-time factor: 0.613438166517148",
"error": null,
"metrics": {
"predict_time": 4.303438,
"total_time": 4.319136
},
"created_at": "2023-11-16T16:42:06.735772Z",
"started_at": "2023-11-16T16:42:06.751470Z",
"completed_at": "2023-11-16T16:42:11.054908Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/adinmbzbslyshwze5s6qmpzmzu",
"cancel": "https://api.replicate.com/v1/predictions/adinmbzbslyshwze5s6qmpzmzu/cancel"
}
},
"latest_version": {
"id": "684bc3855b37866c0c65add2ff39c78f3dea3f4ff103a436465326e0f438d55e",
"created_at": "2023-11-28T15:39:16.308105+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"speaker"
],
"properties": {
"text": {
"type": "string",
"title": "Text",
"default": "Hi there, I'm your new voice clone. Try your best to upload quality audio",
"x-order": 0,
"description": "Text to synthesize"
},
"speaker": {
"type": "string",
"title": "Speaker",
"format": "uri",
"x-order": 1,
"description": "Original speaker audio (wav, mp3, m4a, ogg, or flv)"
},
"language": {
"allOf": [
{
"$ref": "#/components/schemas/language"
}
],
"default": "en",
"x-order": 2,
"description": "Output language for the synthesised speech"
},
"cleanup_voice": {
"type": "boolean",
"title": "Cleanup Voice",
"default": false,
"x-order": 3,
"description": "Whether to apply denoising to the speaker audio (microphone recordings)"
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"it",
"pt",
"pl",
"tr",
"ru",
"nl",
"cs",
"ar",
"zh",
"hu",
"ko",
"hi"
],
"type": "string",
"title": "language",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,712 @@
{
"url": "https://replicate.com/meta/llama-2-70b-chat",
"owner": "meta",
"name": "llama-2-70b-chat",
"description": "A 70 billion parameter language model from Meta, fine tuned for chat completions",
"visibility": "public",
"github_url": "https://github.com/a16z-infra/cog-llama-template",
"paper_url": "https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/",
"license_url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/70238cb4-e24b-43ed-96e0-5f7d98f9cc3f/future-llama-70b-chat.jpg",
"default_example": {
"id": "ssetyuzew3nbe5ndybmon5wmmq",
"model": "meta/llama-2-70b-chat",
"version": "2d19859030ff705a87c746f7e96eea03aefb71f166725aee39692f1476566d48",
"status": "succeeded",
"input": {
"debug": false,
"top_p": 1,
"prompt": "Can you write a poem about open source machine learning? Let's make it in the style of E. E. Cummings.",
"temperature": 0.5,
"system_prompt": "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\n\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.",
"max_new_tokens": 500,
"min_new_tokens": -1
},
"output": [
"Sure",
",",
" here",
"'",
"s",
" a",
" poem",
" about",
" open",
" source",
" machine",
" learning",
" in",
" the",
" style",
" of",
" E",
".",
" E",
".",
" C",
"umm",
"ings",
":",
"\n\nopen",
" source",
" machine",
" learning",
"\na",
" gift",
" to",
" the",
" world",
",",
" a",
" tre",
"asure",
" tro",
"ve",
"\nof",
" knowledge",
",",
" free",
" for",
" all",
" to",
" use",
"\nand",
" learn",
" from",
",",
" like",
" a",
" digital",
" muse",
"\n\nwith",
" code",
" that",
"'",
"s",
" open",
" and",
" transparent",
"\nany",
"one",
" can",
" see",
",",
" anyone",
" can",
" t",
"ink",
"er",
"\nand",
" improve",
" upon",
",",
" a",
" collabor",
"ative",
" dance",
"\nof",
" innov",
"ation",
",",
" without",
" a",
" single",
" anchor",
"\n\nthe",
" community",
" shares",
" and",
" shapes",
" it",
"\nt",
"ogether",
" they",
" build",
" and",
" ref",
"ine",
"\na",
" tool",
" that",
"'",
"s",
" greater",
" than",
" the",
" sum",
" of",
" its",
" parts",
"\na",
" true",
" dem",
"ocracy",
" of",
" mind",
" and",
" design",
"\n\nfrom",
" deep",
" learning",
" to",
" natural",
" language",
"\nit",
"'",
"s",
" all",
" here",
",",
" a",
" bound",
"less",
" exp",
"anse",
"\nof",
" possibility",
",",
" a",
" play",
"ground",
" for",
" thought",
"\nwhere",
" anyone",
" can",
" explore",
" and",
" advance",
"\n\nso",
" come",
" and",
" join",
" this",
" movement",
"\nemb",
"race",
" the",
" power",
",",
" the",
" beauty",
",",
" the",
" grace",
"\nof",
" open",
" source",
" machine",
" learning",
"\nand",
" watch",
" the",
" future",
" unfold",
" with",
" ease",
"."
],
"logs": "MLC is currently not using any LoRAs.\r\nYour formatted prompt is:\r\n[INST] <<SYS>>\r\nYou are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\r\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.\r\n<</SYS>>\r\nCan you write a poem about open source machine learning? Let's make it in the style of E. E. Cummings. [/INST]\r\nNot using LoRA\r\nhostname: model-d-c6559c5791b50af57b69f4a73f8e021c-7d68c66789-ntgcq",
"error": "",
"metrics": {
"input_token_count": 144,
"tokens_per_second": 44.006748551816564,
"output_token_count": 207,
"predict_time": 4.703926,
"total_time": 4.233429
},
"created_at": "2023-12-12T10:05:02.766571Z",
"started_at": "2023-12-12T10:05:02Z",
"completed_at": "2023-12-12T10:05:07Z",
"urls": {
"stream": "https://streaming-api.svc.europe-west4.g.replicate.net/v1/predictions/ssetyuzew3nbe5ndybmon5wmmq",
"get": "https://api.replicate.com/v1/predictions/ssetyuzew3nbe5ndybmon5wmmq",
"cancel": "https://api.replicate.com/v1/predictions/ssetyuzew3nbe5ndybmon5wmmq/cancel"
}
},
"latest_version": {
"id": "02e509c789964a7ea8736978a43525956ef40397be9033abf9fd2badfe68c9e3",
"created_at": "2023-09-13T15:41:34.688650+00:00",
"cog_version": "0.8.1",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"prompt"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 8,
"description": "Random seed. Leave blank to randomize the seed"
},
"debug": {
"type": "boolean",
"title": "Debug",
"default": false,
"x-order": 9,
"description": "provide debugging output in logs"
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": 50,
"minimum": 0.0,
"x-order": 6,
"description": "When decoding text, samples from the top k most likely tokens; lower to ignore less likely tokens"
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 0.9,
"maximum": 1.0,
"minimum": 0.0,
"x-order": 5,
"description": "When decoding text, samples from the top p percentage of most likely tokens; lower to ignore less likely tokens"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 0,
"description": "Prompt to send to the model."
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.75,
"maximum": 5.0,
"minimum": 0.01,
"x-order": 4,
"description": "Adjusts randomness of outputs, greater than 1 is random and 0 is deterministic, 0.75 is a good starting value."
},
"system_prompt": {
"type": "string",
"title": "System Prompt",
"default": "You are a helpful assistant.",
"x-order": 1,
"description": "System prompt to send to the model. This is prepended to the prompt and helps guide system behavior."
},
"max_new_tokens": {
"type": "integer",
"title": "Max New Tokens",
"default": 128,
"minimum": 1.0,
"x-order": 2,
"description": "Maximum number of tokens to generate. A word is generally 2-3 tokens"
},
"min_new_tokens": {
"type": "integer",
"title": "Min New Tokens",
"default": -1,
"minimum": -1.0,
"x-order": 3,
"description": "Minimum number of tokens to generate. To disable, set to -1. A word is generally 2-3 tokens."
},
"stop_sequences": {
"type": "string",
"title": "Stop Sequences",
"x-order": 7,
"description": "A comma-separated list of sequences to stop generation at. For example, '<end>,<stop>' will stop generation at the first instance of 'end' or '<stop>'."
},
"replicate_weights": {
"type": "string",
"title": "Replicate Weights",
"x-order": 10,
"description": "Path to fine-tuned weights produced by a Replicate fine-tune job."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,864 @@
{
"url": "https://replicate.com/meta/llama-2-7b-chat",
"owner": "meta",
"name": "llama-2-7b-chat",
"description": "A 7 billion parameter language model from Meta, fine tuned for chat completions",
"visibility": "public",
"github_url": "https://github.com/a16z-infra/cog-llama-template",
"paper_url": "https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/",
"license_url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/e18de70b-6147-4d42-a730-4777d297737d/llama-logo.png",
"default_example": {
"id": "7xhvtyjbutohmf2ia5k2men57y",
"model": "meta/llama-2-7b-chat",
"version": "f1d50bb24186c52daae319ca8366e53debdaa9e0ae7ff976e918df752732ccc4",
"status": "succeeded",
"input": {
"top_p": 1,
"prompt": "Tell me how to tailor a men's suit so I look fashionable.",
"temperature": 0.75,
"system_prompt": "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\n\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.",
"max_new_tokens": 800,
"repetition_penalty": 1
},
"output": [
" Of",
" course,",
" I'd",
" be",
" happy",
" to",
" help!",
" Tailoring",
" a",
" men's",
" suit",
" can",
" make",
" a",
" huge",
" difference",
" in",
" how",
" fashionable",
" and",
" put-together",
" you",
" look.",
" Here",
" are",
" some",
" tips",
" to",
" help",
" you",
" tailor",
" a",
" men's",
" suit",
" that",
" will",
" make",
" you",
" look",
" stylish",
" and",
" fashionable:\n1.",
" Know",
" your",
" measurements:",
" Before",
" you",
" start",
" tailoring",
" your",
" suit,",
" it's",
" important",
" to",
" take",
" your",
" measurements",
" to",
" ensure",
" a",
" proper",
" fit.",
" Measure",
" your",
" chest,",
" waist,",
" inseam,",
" and",
" arm",
" length",
" to",
" give",
" to",
" your",
" tailor.\n2.",
" Choose",
" the",
" right",
" fabric:",
" The",
" fabric",
" of",
" your",
" suit",
" can",
" greatly",
" impact",
" how",
" it",
" looks",
" and",
" feels.",
" Consider",
" the",
" occasion,",
" season,",
" and",
" your",
" personal",
" style",
" when",
" choosing",
" the",
" fabric.",
" For",
" example,",
" a",
" lightweight",
" cotton",
" or",
" wool",
" suit",
" is",
" perfect",
" for",
" spring",
" and",
" summer,",
" while",
" a",
" rich,",
" luxurious",
" wool",
" suit",
" is",
" great",
" for",
" formal",
" events.\n3.",
" Get",
" the",
" right",
" fit:",
" A",
" well-fitted",
" suit",
" should",
" skim",
" your",
" body",
" without",
" being",
" too",
" tight",
" or",
" too",
" loose.",
" Make",
" sure",
" the",
" jacket",
" is",
" long",
" enough",
" to",
" cover",
" your",
" buttocks",
" when",
" you",
" stand",
" up",
" straight,",
" and",
" the",
" pants",
" should",
" be",
" long",
" enough",
" to",
" reach",
" your",
" ankles.\n4.",
" Pay",
" attention",
" to",
" the",
" shoulders:",
" The",
" shoulders",
" of",
" your",
" suit",
" should",
" be",
" well-balanced",
" and",
" not",
" too",
" narrow",
" or",
" too",
" wide.",
" You",
" can",
" use",
" a",
" shoulder",
" pad",
" to",
" add",
" structure",
" and",
" definition",
" to",
" your",
" shoulders",
" if",
" needed.\n5.",
" Take",
" care",
" of",
" the",
" details:",
" Pay",
" attention",
" to",
" the",
" little",
" details",
" that",
" can",
" make",
" a",
" big",
" difference",
" in",
" how",
" your",
" suit",
" looks.",
" Make",
" sure",
" the",
" pants",
" are",
" hemmed",
" correctly,",
" and",
" the",
" jacket",
" has",
" a",
" clean,",
" even",
" hem.\n6.",
" Get",
" it",
" altered:",
" If",
" you",
" want",
" to",
" really",
" make",
" your",
" suit",
" stand",
" out,",
" consider",
" getting",
" it",
" altered.",
" A",
" tailor",
" can",
" take",
" in",
" or",
" let",
" out",
" the",
" jacket",
" and",
" pants",
" to",
" fit",
" your",
" body",
" perfectly,",
" and",
" can",
" also",
" make",
" adjustments",
" to",
" the",
" sleeves,",
" collar,",
" and",
" pant",
" legs.\n\nBy",
" following",
" these",
" tips,",
" you",
" can",
" have",
" a",
" tailored",
" men's",
" suit",
" that",
" looks",
" fashionable",
" and",
" stylish,",
" and",
" that",
" you",
" can",
" wear",
" with",
" confidence.",
" Remember",
" to",
" always",
" work",
" with",
" a",
" reputable",
" tailor",
" who",
" can",
" help",
" you",
" achieve",
" the",
" best",
" results."
],
"logs": "prompt [INST] <<SYS>>\nYou are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.\n<</SYS>>\nell me how to tailor a men's suit so I look fashionable. [/INST]",
"error": null,
"metrics": {
"predict_time": 18.364308,
"total_time": 18.326084
},
"created_at": "2023-07-22T00:57:53.459888Z",
"started_at": "2023-07-22T00:57:53.421664Z",
"completed_at": "2023-07-22T00:58:11.785972Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/7xhvtyjbutohmf2ia5k2men57y",
"cancel": "https://api.replicate.com/v1/predictions/7xhvtyjbutohmf2ia5k2men57y/cancel"
}
},
"latest_version": {
"id": "13c3cdee13ee059ab779f0291d29054dab00a47dad8261375654de5540165fb0",
"created_at": "2023-11-02T00:33:43.112349+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"prompt"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 9,
"description": "Random seed. Leave blank to randomize the seed"
},
"debug": {
"type": "boolean",
"title": "Debug",
"default": false,
"x-order": 10,
"description": "provide debugging output in logs"
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": -1,
"minimum": -1.0,
"x-order": 6,
"description": "When decoding text, samples from the top k most likely tokens; lower to ignore less likely tokens"
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 0.95,
"maximum": 1.0,
"minimum": 0.0,
"x-order": 5,
"description": "When decoding text, samples from the top p percentage of most likely tokens; lower to ignore less likely tokens"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 0,
"description": "Prompt to send to the model."
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.7,
"maximum": 5.0,
"minimum": 0.01,
"x-order": 4,
"description": "Adjusts randomness of outputs, greater than 1 is random and 0 is deterministic, 0.75 is a good starting value."
},
"system_prompt": {
"type": "string",
"title": "System Prompt",
"default": "You are a helpful, respectful and honest assistant.",
"x-order": 1,
"description": "System prompt to send to the model. This is prepended to the prompt and helps guide system behavior."
},
"max_new_tokens": {
"type": "integer",
"title": "Max New Tokens",
"default": 128,
"minimum": 1.0,
"x-order": 2,
"description": "Maximum number of tokens to generate. A word is generally 2-3 tokens"
},
"min_new_tokens": {
"type": "integer",
"title": "Min New Tokens",
"default": -1,
"minimum": -1.0,
"x-order": 3,
"description": "Minimum number of tokens to generate. To disable, set to -1. A word is generally 2-3 tokens."
},
"stop_sequences": {
"type": "string",
"title": "Stop Sequences",
"x-order": 8,
"description": "A comma-separated list of sequences to stop generation at. For example, '<end>,<stop>' will stop generation at the first instance of 'end' or '<stop>'."
},
"replicate_weights": {
"type": "string",
"title": "Replicate Weights",
"x-order": 11,
"description": "Path to fine-tuned weights produced by a Replicate fine-tune job."
},
"repetition_penalty": {
"type": "number",
"title": "Repetition Penalty",
"default": 1.15,
"minimum": 0.0,
"x-order": 7,
"description": "A parameter that controls how repetitive text can be. Lower means more repetitive, while higher means less repetitive. Set to 1.0 to disable."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,926 @@
{
"url": "https://replicate.com/meta/meta-llama-3.1-405b-instruct",
"owner": "meta",
"name": "meta-llama-3.1-405b-instruct",
"description": "Meta's flagship 405 billion parameter language model, fine-tuned for chat completions",
"visibility": "public",
"github_url": "https://github.com/meta-llama/llama-models/blob/main/models/llama3_1",
"paper_url": null,
"license_url": "https://github.com/meta-llama/llama-models/blob/main/models/llama3_1/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/81ca001f-6a0a-4bef-b2f1-32466887df20/meta-logo.png",
"default_example": {
"id": "zjq6szssxdrm20cgw0fsntgvbg",
"model": "meta/meta-llama-3.1-405b-instruct",
"version": "67ab67c1831a3d70db83b12594ec256b8a97bd45e9427e05d20b8fa09ebf4061",
"status": "succeeded",
"input": {
"top_p": 0.9,
"prompt": "Tina has one brother and one sister. How many sisters do Tina's siblings have?",
"max_tokens": 1024,
"min_tokens": 0,
"temperature": 0.6,
"system_prompt": "You are a helpful assistant.",
"presence_penalty": 0,
"frequency_penalty": 0
},
"output": [
"T",
"ina",
" has",
" one",
" brother",
" and",
" one",
" sister",
".",
" From",
" the",
" brother",
"'s",
" perspective",
",",
" he",
" has",
" one",
" sister",
",",
" Tina",
",",
" and",
" also",
" the",
" other",
" sister",
".",
" So",
",",
" Tina",
"'s",
" brother",
" has",
" ",
"2",
" sisters",
".\n\n",
"From",
" the",
" sister",
"'s",
" perspective",
",",
" she",
" also",
" has",
" one",
" sister",
",",
" Tina",
".",
" \n\n",
"So",
",",
" Tina",
"'s",
" siblings",
" have",
" a",
" total",
" of",
" ",
"2",
" sisters",
" (",
"from",
" the",
" brother",
"'s",
" perspective",
")",
" and",
" ",
"1",
" sister",
" (",
"from",
" the",
" sister",
"'s",
" perspective",
").",
""
],
"logs": "INFO 07-23 15:04:21 async_llm_engine.py:173] Added request 3cd670c9b87b469ea9721ddfbcc6b67a.\nINFO 07-23 15:04:21 metrics.py:396] Avg prompt throughput: 7.8 tokens/s, Avg generation throughput: 17.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 0.3%, CPU KV cache usage: 0.0%.\nINFO 07-23 15:04:24 async_llm_engine.py:140] Finished request 3cd670c9b87b469ea9721ddfbcc6b67a.\nGeneration took 1721746720.08sFormatted prompt: <|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\nYou are a helpful assistant.<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nTina has one brother and one sister. How many sisters do Tina's siblings have?<|eot_id|><|start_header_id|>assistant<|end_header_id|>",
"error": null,
"metrics": {
"batch_size": 1.000229398266064,
"total_time": 2.86309,
"input_token_count": 26,
"tokens_per_second": 29.74134035953616,
"output_token_count": 84,
"predict_time_share": 2.8200430870056152,
"predict_time": 2.826425468,
"time_to_first_token": 0.112068943
},
"created_at": "2024-07-23T15:04:21.227000Z",
"started_at": "2024-07-23T15:04:21.263665Z",
"completed_at": "2024-07-23T15:04:24.090090Z",
"urls": {
"stream": "https://streaming-api.svc.sea.v.replicate.net/v1/streams/6zoqtc6qgpxby7xzauee36qv6bktfaxugelxfqs6ifgg6q4s77sa",
"get": "https://api.replicate.com/v1/predictions/zjq6szssxdrm20cgw0fsntgvbg",
"cancel": "https://api.replicate.com/v1/predictions/zjq6szssxdrm20cgw0fsntgvbg/cancel"
}
},
"latest_version": {
"id": "e6cb7fc3ed90eae2c879c48deda8f49152391ad66349fe7694be24089c29f71c",
"created_at": "2024-07-23T15:24:35.230971+00:00",
"cog_version": "0.10.0-alpha17",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/ready": {
"get": {
"summary": "Ready",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Ready Ready Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "ready_ready_get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/trainings": {
"post": {
"summary": "Train",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrainingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"operationId": "train_trainings_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrainingRequest"
}
}
}
}
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/trainings/{training_id}": {
"put": {
"summary": "Train Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "training_id",
"schema": {
"type": "string",
"title": "Training ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"operationId": "train_idempotent_trainings__training_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TrainingRequest"
}
],
"title": "Training Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/trainings/{training_id}/cancel": {
"post": {
"summary": "Cancel Training",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Training Trainings Training Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "training_id",
"schema": {
"type": "string",
"title": "Training ID"
},
"required": true
}
],
"operationId": "cancel_training_trainings__training_id__cancel_post"
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"top_k": {
"type": "integer",
"title": "Top K",
"default": 50,
"x-order": 6,
"description": "The number of highest probability tokens to consider for generating the output. If > 0, only keep the top k tokens with highest probability (top-k filtering)."
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 0.9,
"x-order": 5,
"description": "A probability threshold for generating the output. If < 1.0, only keep the top tokens with cumulative probability >= top_p (nucleus filtering). Nucleus filtering is described in Holtzman et al. (http://arxiv.org/abs/1904.09751)."
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "",
"x-order": 0,
"description": "Prompt"
},
"max_tokens": {
"type": "integer",
"title": "Max Tokens",
"default": 512,
"x-order": 3,
"description": "The maximum number of tokens the model should generate as output."
},
"min_tokens": {
"type": "integer",
"title": "Min Tokens",
"default": 0,
"x-order": 2,
"description": "The minimum number of tokens the model should generate as output."
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.6,
"x-order": 4,
"description": "The value used to modulate the next token probabilities."
},
"system_prompt": {
"type": "string",
"title": "System Prompt",
"default": "You are a helpful assistant.",
"x-order": 1,
"description": "System prompt to send to the model. This is prepended to the prompt and helps guide system behavior. Ignored for non-chat models."
},
"stop_sequences": {
"type": "string",
"title": "Stop Sequences",
"x-order": 9,
"description": "A comma-separated list of sequences to stop generation at. For example, '<end>,<stop>' will stop generation at the first instance of 'end' or '<stop>'."
},
"presence_penalty": {
"type": "number",
"title": "Presence Penalty",
"default": 0,
"x-order": 7,
"description": "Presence penalty"
},
"frequency_penalty": {
"type": "number",
"title": "Frequency Penalty",
"default": 0,
"x-order": 8,
"description": "Frequency penalty"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"TrainingInput": {
"type": "object",
"title": "TrainingInput",
"required": [
"hf_model_id"
],
"properties": {
"hf_token": {
"type": "string",
"title": "Hf Token",
"format": "password",
"x-order": 2,
"description": "\n Hugging Face API token. \n Get your token at https://huggingface.co/settings/tokens\n ",
"x-cog-secret": true
},
"hf_model_id": {
"type": "string",
"title": "Hf Model Id",
"x-order": 0,
"description": "\n Hugging Face model identifier \n (e.g. NousResearch/Hermes-2-Theta-Llama-3-8B).\n "
},
"hf_model_sha": {
"type": "string",
"title": "Hf Model Sha",
"x-order": 1,
"description": "\n The version of the model.\n If unspecified, the latest version is used.\n "
},
"allow_patterns": {
"type": "string",
"title": "Allow Patterns",
"x-order": 3,
"description": "\n Patterns constituting the allowlist. \n If provided, item paths must match at least one pattern from the allowlist. \n (e.g. \"*.safetensors\").\n "
},
"ignore_patterns": {
"type": "string",
"title": "Ignore Patterns",
"default": "*.gguf",
"x-order": 4,
"description": "\n Patterns constituting the denylist. \n If provided, item paths must not match any patterns from the denylist. \n (e.g. \"*.gguf\").\n "
},
"prompt_template": {
"type": "string",
"title": "Prompt Template",
"x-order": 5,
"description": "Prompt template. This is a Jinja2 template that overrides the HuggingFace tokenizer configuration. If this is set to None and nothing is configured on HuggingFace, no formatting is applied. To override HuggingFace configuration, set it to the string `{{messages[0]['content']}}`."
}
}
},
"TrainingOutput": {
"type": "object",
"title": "TrainingOutput",
"required": [
"weights"
],
"properties": {
"weights": {
"type": "string",
"title": "Weights",
"format": "uri"
}
}
},
"TrainingRequest": {
"type": "object",
"title": "TrainingRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/TrainingInput"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"TrainingResponse": {
"type": "object",
"title": "TrainingResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/TrainingInput"
},
"output": {
"$ref": "#/components/schemas/TrainingOutput"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,599 @@
{
"url": "https://replicate.com/okaris/omni-zero-couples",
"owner": "okaris",
"name": "omni-zero-couples",
"description": "Omni-Zero Couples: A diffusion pipeline for zero-shot stylized couples portrait creation.",
"visibility": "public",
"github_url": "https://github.com/okaris/omni-zero-couples",
"paper_url": null,
"license_url": "https://github.com/okaris/omni-zero-couples/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/69abe29c-832c-496a-b052-3c10d5f61a08/replicate-prediction-8_LpV9IO9.jpg",
"default_example": {
"id": "834y1tkrj1rgm0cj56zbemt884",
"model": "okaris/omni-zero-couples",
"version": "eaaa7d8cf2c745c9b629606fe35f14b06a980f28b04e176ed3a35c396dd206a4",
"status": "succeeded",
"input": {
"seed": -1,
"prompt": "Cinematic still photo of a couple. emotional, harmonious, vignette, 4k epic detailed, shot on kodak, 35mm photo, sharp focus, high budget, cinemascope, moody, epic, gorgeous, film grain, grainy",
"base_image": "https://cdn-prod.styleof.com/inferences/cm1ho5cjl14nh14jec6phg2h8/i6k59e7gpsr45ufc7l8kun0g-medium.jpeg",
"style_image": "https://cdn-prod.styleof.com/inferences/cm1ho5cjl14nh14jec6phg2h8/i6k59e7gpsr45ufc7l8kun0g-medium.jpeg",
"guidance_scale": 3,
"negative_prompt": "anime, cartoon, graphic, (blur, blurry, bokeh), text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured",
"number_of_steps": 10,
"identity_image_1": "https://cdn-prod.styleof.com/inferences/cm1hp4lea14oz14jeoghnex7g/dlgc5xwo0qzey7qaixy45i1o-medium.jpeg",
"identity_image_2": "https://cdn-prod.styleof.com/inferences/cm1ho69ha14np14jesnusqiep/mp3aaktzqz20ujco5i3bi5s1-medium.jpeg",
"number_of_images": 1,
"mask_guidance_end": 1,
"base_image_strength": 0.3,
"mask_guidance_start": 0,
"depth_image_strength": 0.2,
"style_image_strength": 1,
"identity_image_strength_1": 1,
"identity_image_strength_2": 1
},
"output": [
"https://replicate.delivery/pbxt/q9k6DenF0wUnBqO1e6LRy6hecMRDnhYpwzklHHJeWRws52BOB/oz_output_0.jpg"
],
"logs": "base_image <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=960x720 at 0x711A70743410>\nstyle_image <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=960x720 at 0x711B65DC6810>\nidentity_image_1 <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=960x720 at 0x711B65DC49D0>\nidentity_image_2 <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=960x720 at 0x71197C256B90>\ndepth_image None\n/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/insightface/utils/transform.py:68: FutureWarning: `rcond` parameter will change to the default of machine precision times ``max(M, N)`` where M and N are the input matrix dimensions.\nTo use the future default and silence this warning we advise to pass `rcond=None`, to keep using the old, explicitly pass `rcond=-1`.\nP = np.linalg.lstsq(X_homo, Y)[0].T # Affine matrix. 3 x 4\nFace 1 -0: Age: 28, Gender: 0\nFace 2 -0: Age: 76, Gender: 1\n 0%| | 0/10 [00:00<?, ?it/s]/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:608: UserWarning: Should have tb<=t1 but got tb=2.3583380698653342 and t1=2.358338.\nwarnings.warn(f\"Should have {tb_name}<=t1 but got {tb_name}={tb} and t1={self._end}.\")\n 10%|█ | 1/10 [00:00<00:05, 1.74it/s]\n 20%|██ | 2/10 [00:01<00:04, 1.87it/s]\n 30%|███ | 3/10 [00:01<00:03, 1.93it/s]\n 40%|████ | 4/10 [00:02<00:03, 1.92it/s]\n 50%|█████ | 5/10 [00:02<00:02, 1.95it/s]\n 60%|██████ | 6/10 [00:03<00:02, 1.87it/s]\n 70%|███████ | 7/10 [00:03<00:01, 1.91it/s]\n 80%|████████ | 8/10 [00:04<00:01, 1.91it/s]\n 90%|█████████ | 9/10 [00:04<00:00, 1.94it/s]/root/.pyenv/versions/3.11.10/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:599: UserWarning: Should have ta>=t0 but got ta=0.0 and t0=0.075972.\nwarnings.warn(f\"Should have ta>=t0 but got ta={ta} and t0={self._start}.\")\n100%|██████████| 10/10 [00:05<00:00, 1.94it/s]\n100%|██████████| 10/10 [00:05<00:00, 1.92it/s]",
"error": null,
"metrics": {
"predict_time": 12.610415932,
"total_time": 266.22628
},
"created_at": "2024-09-25T15:13:21.552000Z",
"started_at": "2024-09-25T15:17:35.167864Z",
"completed_at": "2024-09-25T15:17:47.778280Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/834y1tkrj1rgm0cj56zbemt884",
"cancel": "https://api.replicate.com/v1/predictions/834y1tkrj1rgm0cj56zbemt884/cancel"
}
},
"latest_version": {
"id": "24ed4a267cd458569aa9f4da971ccc8d3587eaa47c43cf79572c3c7738a390f9",
"created_at": "2024-09-25T19:50:42.188320+00:00",
"cog_version": "0.9.24",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"default": -1,
"x-order": 8,
"description": "Random seed for the model. Use -1 for random"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "Cinematic still photo of a couple. emotional, harmonious, vignette, 4k epic detailed, shot on kodak, 35mm photo, sharp focus, high budget, cinemascope, moody, epic, gorgeous, film grain, grainy",
"x-order": 9,
"description": "Prompt for the model"
},
"base_image": {
"type": "string",
"title": "Base Image",
"format": "uri",
"x-order": 0,
"description": "Base image for the model"
},
"depth_image": {
"type": "string",
"title": "Depth Image",
"format": "uri",
"x-order": 14,
"description": "Depth image for the model"
},
"style_image": {
"type": "string",
"title": "Style Image",
"format": "uri",
"x-order": 2,
"description": "Style image for the model"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 3,
"maximum": 14,
"minimum": 0,
"x-order": 11,
"description": "Guidance scale for the model"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "anime, cartoon, graphic, (blur, blurry, bokeh), text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured",
"x-order": 10,
"description": "Negative prompt for the model"
},
"number_of_steps": {
"type": "integer",
"title": "Number Of Steps",
"default": 10,
"maximum": 50,
"minimum": 1,
"x-order": 13,
"description": "Number of steps for the model"
},
"identity_image_1": {
"type": "string",
"title": "Identity Image 1",
"format": "uri",
"x-order": 4,
"description": "First identity image for the model"
},
"identity_image_2": {
"type": "string",
"title": "Identity Image 2",
"format": "uri",
"x-order": 6,
"description": "Second identity image for the model"
},
"number_of_images": {
"type": "integer",
"title": "Number Of Images",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 12,
"description": "Number of images to generate"
},
"mask_guidance_end": {
"type": "number",
"title": "Mask Guidance End",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 17,
"description": "Mask guidance end value"
},
"base_image_strength": {
"type": "number",
"title": "Base Image Strength",
"default": 0.2,
"maximum": 1,
"minimum": 0,
"x-order": 1,
"description": "Base image strength for the model"
},
"mask_guidance_start": {
"type": "number",
"title": "Mask Guidance Start",
"default": 0,
"maximum": 1,
"minimum": 0,
"x-order": 16,
"description": "Mask guidance start value"
},
"depth_image_strength": {
"type": "number",
"title": "Depth Image Strength",
"default": 0.2,
"maximum": 1,
"minimum": 0,
"x-order": 15,
"description": "Depth image strength for the model"
},
"style_image_strength": {
"type": "number",
"title": "Style Image Strength",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 3,
"description": "Style image strength for the model"
},
"identity_image_strength_1": {
"type": "number",
"title": "Identity Image Strength 1",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 5,
"description": "First identity image strength for the model"
},
"identity_image_strength_2": {
"type": "number",
"title": "Identity Image Strength 2",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 7,
"description": "Second identity image strength for the model"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,620 @@
{
"url": "https://replicate.com/okaris/omni-zero",
"owner": "okaris",
"name": "omni-zero",
"description": "Omni-Zero: A diffusion pipeline for zero-shot stylized portrait creation.",
"visibility": "public",
"github_url": "https://github.com/okaris/omni-zero",
"paper_url": null,
"license_url": "https://github.com/okaris/omni-zero/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/fc1e5088-3e85-4577-965a-a36733adda00/325679040-2c51fb77-a810-4c0a-9555.png",
"default_example": {
"id": "p28rjd4ws9rgm0cg4rbr23fhdm",
"model": "okaris/omni-zero",
"version": "63ae60eb91f6d09acc0ec5bb9892b330e63150cc50ee87d48e93ad73d25291f6",
"status": "succeeded",
"input": {
"seed": 42,
"prompt": "A person",
"base_image": "https://github.com/okaris/omni-zero/assets/1448702/2ca63443-c7f3-4ba6-95c1-2a341414865f",
"style_image": "https://github.com/okaris/omni-zero/assets/1448702/64dc150b-f683-41b1-be23-b6a52c771584",
"guidance_scale": 3,
"identity_image": "https://github.com/okaris/omni-zero/assets/1448702/ba193a3a-f90e-4461-848a-560454531c58",
"negative_prompt": "blurry, out of focus",
"number_of_steps": 10,
"number_of_images": 1,
"composition_image": "https://github.com/okaris/omni-zero/assets/1448702/2ca63443-c7f3-4ba6-95c1-2a341414865f",
"base_image_strength": 0.15,
"depth_image_strength": 0.5,
"style_image_strength": 1,
"identity_image_strength": 1,
"composition_image_strength": 1
},
"output": [
"https://replicate.delivery/pbxt/MEDNlRywhva7O9sO5P439PTbhZ5qHJZfd7eqVPCITJlXkdflA/oz_output_0.jpg"
],
"logs": "/root/.pyenv/versions/3.11.9/lib/python3.11/site-packages/insightface/utils/transform.py:68: FutureWarning: `rcond` parameter will change to the default of machine precision times ``max(M, N)`` where M and N are the input matrix dimensions.\nTo use the future default and silence this warning we advise to pass `rcond=None`, to keep using the old, explicitly pass `rcond=-1`.\nP = np.linalg.lstsq(X_homo, Y)[0].T # Affine matrix. 3 x 4\n 0%| | 0/10 [00:00<?, ?it/s]/root/.pyenv/versions/3.11.9/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:608: UserWarning: Should have tb<=t1 but got tb=6.818950160602679 and t1=6.81895.\nwarnings.warn(f\"Should have {tb_name}<=t1 but got {tb_name}={tb} and t1={self._end}.\")\n 10%|█ | 1/10 [00:00<00:02, 3.90it/s]\n 20%|██ | 2/10 [00:00<00:01, 4.58it/s]\n 30%|███ | 3/10 [00:00<00:01, 4.52it/s]\n 40%|████ | 4/10 [00:00<00:01, 4.55it/s]\n 50%|█████ | 5/10 [00:01<00:01, 4.53it/s]\n 60%|██████ | 6/10 [00:01<00:00, 4.50it/s]\n 70%|███████ | 7/10 [00:01<00:00, 4.54it/s]\n 80%|████████ | 8/10 [00:01<00:00, 4.54it/s]/root/.pyenv/versions/3.11.9/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:599: UserWarning: Should have ta>=t0 but got ta=0.09863785005758784 and t0=0.098638.\nwarnings.warn(f\"Should have ta>=t0 but got ta={ta} and t0={self._start}.\")\n 90%|█████████ | 9/10 [00:01<00:00, 4.53it/s]/root/.pyenv/versions/3.11.9/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:599: UserWarning: Should have ta>=t0 but got ta=0.0 and t0=0.098638.\nwarnings.warn(f\"Should have ta>=t0 but got ta={ta} and t0={self._start}.\")\n/root/.pyenv/versions/3.11.9/lib/python3.11/site-packages/torchsde/_brownian/brownian_interval.py:602: UserWarning: Should have tb>=t0 but got tb=0.09863785005758784 and t0=0.098638.\nwarnings.warn(f\"Should have {tb_name}>=t0 but got {tb_name}={tb} and t0={self._start}.\")\n100%|██████████| 10/10 [00:02<00:00, 4.54it/s]\n100%|██████████| 10/10 [00:02<00:00, 4.51it/s]",
"error": null,
"metrics": {
"predict_time": 7.063468107,
"total_time": 71.939887
},
"created_at": "2024-06-17T12:06:40.074000Z",
"started_at": "2024-06-17T12:07:44.950419Z",
"completed_at": "2024-06-17T12:07:52.013887Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/p28rjd4ws9rgm0cg4rbr23fhdm",
"cancel": "https://api.replicate.com/v1/predictions/p28rjd4ws9rgm0cg4rbr23fhdm/cancel"
}
},
"latest_version": {
"id": "036947f1e1961875eef47a561293978528bf3a847e79fedb20600c9ad25d0c59",
"created_at": "2024-08-21T16:47:22.776589+00:00",
"cog_version": "0.10.0-alpha20",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/ready": {
"get": {
"summary": "Ready",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Ready Ready Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "ready_ready_get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"style_image",
"identity_image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"default": 42,
"x-order": 0,
"description": "Random seed for the model"
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 7,
"description": "Base image for the model"
},
"model": {
"allOf": [
{
"$ref": "#/components/schemas/model"
}
],
"default": "omni-zero",
"x-order": 1,
"description": "Model to use for the prediction"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "A person",
"x-order": 2,
"description": "Prompt for the model"
},
"depth_image": {
"type": "string",
"title": "Depth Image",
"format": "uri",
"x-order": 15,
"description": "Depth image for the model"
},
"style_image": {
"type": "string",
"title": "Style Image",
"format": "uri",
"x-order": 11,
"description": "Style image for the model"
},
"depth_strength": {
"type": "number",
"title": "Depth Strength",
"default": 0.5,
"maximum": 1,
"minimum": 0,
"x-order": 16,
"description": "Depth image strength for the model, if not supplied the composition image will be used for depth"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 3,
"maximum": 14,
"minimum": 0,
"x-order": 4,
"description": "Guidance scale for the model"
},
"identity_image": {
"type": "string",
"title": "Identity Image",
"format": "uri",
"x-order": 13,
"description": "Identity image for the model"
},
"image_strength": {
"type": "number",
"title": "Image Strength",
"default": 0.15,
"maximum": 1,
"minimum": 0,
"x-order": 8,
"description": "Base image strength for the model"
},
"style_strength": {
"type": "number",
"title": "Style Strength",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 12,
"description": "Style image strength for the model"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "blurry, out of focus",
"x-order": 3,
"description": "Negative prompt for the model"
},
"number_of_steps": {
"type": "integer",
"title": "Number Of Steps",
"default": 10,
"maximum": 50,
"minimum": 1,
"x-order": 6,
"description": "Number of steps for the model"
},
"number_of_images": {
"type": "integer",
"title": "Number Of Images",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 5,
"description": "Number of images to generate"
},
"composition_image": {
"type": "string",
"title": "Composition Image",
"format": "uri",
"x-order": 9,
"description": "Composition image for the model"
},
"identity_strength": {
"type": "number",
"title": "Identity Strength",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 14,
"description": "Identity image strength for the model"
},
"composition_strength": {
"type": "number",
"title": "Composition Strength",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 10,
"description": "Composition image strength for the model"
}
}
},
"model": {
"enum": [
"omni-zero",
"omni-zero-realism"
],
"type": "string",
"title": "model",
"description": "An enumeration."
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,483 @@
{
"url": "https://replicate.com/pharmapsychotic/clip-interrogator",
"owner": "pharmapsychotic",
"name": "clip-interrogator",
"description": "The CLIP Interrogator is a prompt engineering tool that combines OpenAI's CLIP and Salesforce's BLIP to optimize text prompts to match a given image. Use the resulting prompts with text-to-image models like Stable Diffusion to create cool art!",
"visibility": "public",
"github_url": "https://github.com/pharmapsychotic/clip-interrogator",
"paper_url": null,
"license_url": "https://github.com/pharmapsychotic/clip-interrogator/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/HrXsgowfhbZi3dImGZoIcvnz7oZfMtFY4UAEU8vBIakTd8JQ/watercolour-4799014_960_720.jpg",
"default_example": {
"id": "6iveqabqxrf55lw2xez2owwn6e",
"model": "pharmapsychotic/clip-interrogator",
"version": "41fdb702d3fbe06c9835e39ac6ddfb8dee872835b22d6e8a7e0a467c793155f9",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/HrXsgowfhbZi3dImGZoIcvnz7oZfMtFY4UAEU8vBIakTd8JQ/watercolour-4799014_960_720.jpg",
"clip_model_name": "ViT-L/14"
},
"output": "a watercolor painting of a sea turtle, a digital painting, by Kubisi art, featured on dribbble, medibang, warm saturated palette, red and green tones, turquoise horizon, digital art h 9 6 0, detailed scenery —width 672, illustration:.4, spray art, artstatiom",
"logs": "0%| | 0/50 [00:00<?, ?it/s]\n 24%|██▍ | 12/50 [00:00<00:00, 119.71it/s]\n 48%|████▊ | 24/50 [00:00<00:00, 117.53it/s]\n 72%|███████▏ | 36/50 [00:00<00:00, 117.99it/s]\n 96%|█████████▌| 48/50 [00:00<00:00, 118.17it/s]\n100%|██████████| 50/50 [00:00<00:00, 119.05it/s]\n 0%| | 0/6 [00:00<?, ?it/s]\n100%|██████████| 6/6 [00:00<00:00, 93.98it/s]\n 0%| | 0/1 [00:00<?, ?it/s]\n100%|██████████| 1/1 [00:00<00:00, 33.81it/s]\nFlavor chain: 0%| | 0/25 [00:00<?, ?it/s]\nFlavor chain: 4%|▍ | 1/25 [00:03<01:12, 3.01s/it]\nFlavor chain: 8%|▊ | 2/25 [00:05<01:08, 2.97s/it]\nFlavor chain: 12%|█▏ | 3/25 [00:09<01:06, 3.02s/it]\nFlavor chain: 16%|█▌ | 4/25 [00:12<01:03, 3.05s/it]\nFlavor chain: 20%|██ | 5/25 [00:15<01:00, 3.04s/it]\nFlavor chain: 24%|██▍ | 6/25 [00:18<00:57, 3.05s/it]\nFlavor chain: 28%|██▊ | 7/25 [00:21<00:55, 3.09s/it]\nFlavor chain: 32%|███▏ | 8/25 [00:24<00:55, 3.25s/it]\nFlavor chain: 36%|███▌ | 9/25 [00:28<00:53, 3.33s/it]\nFlavor chain: 40%|████ | 10/25 [00:32<00:51, 3.45s/it]\nFlavor chain: 40%|████ | 10/25 [00:33<00:49, 3.31s/it]",
"error": null,
"metrics": {
"predict_time": 37.674196,
"total_time": 215.894706
},
"created_at": "2022-11-27T22:29:05.240885Z",
"started_at": "2022-11-27T22:32:03.461395Z",
"completed_at": "2022-11-27T22:32:41.135591Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/6iveqabqxrf55lw2xez2owwn6e",
"cancel": "https://api.replicate.com/v1/predictions/6iveqabqxrf55lw2xez2owwn6e/cancel"
}
},
"latest_version": {
"id": "8151e1c9f47e696fa316146a2e35812ccf79cfc9eba05b11c7f450155102af70",
"created_at": "2023-09-10T00:36:33.326917+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"mode": {
"enum": [
"best",
"classic",
"fast",
"negative"
],
"type": "string",
"title": "mode",
"description": "An enumeration."
},
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"mode": {
"allOf": [
{
"$ref": "#/components/schemas/mode"
}
],
"default": "best",
"x-order": 2,
"description": "Prompt mode (best takes 10-20 seconds, fast takes 1-2 seconds)."
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"clip_model_name": {
"allOf": [
{
"$ref": "#/components/schemas/clip_model_name"
}
],
"default": "ViT-L-14/openai",
"x-order": 1,
"description": "Choose ViT-L for Stable Diffusion 1, ViT-H for Stable Diffusion 2, or ViT-bigG for Stable Diffusion XL."
}
}
},
"Output": {
"type": "string",
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"clip_model_name": {
"enum": [
"ViT-L-14/openai",
"ViT-H-14/laion2b_s32b_b79k",
"ViT-bigG-14/laion2b_s39b_b160k"
],
"type": "string",
"title": "clip_model_name",
"description": "An enumeration."
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,254 @@
{
"url": "https://replicate.com/salesforce/blip",
"owner": "salesforce",
"name": "blip",
"description": "Generate image captions",
"visibility": "public",
"github_url": "https://github.com/salesforce/BLIP",
"paper_url": "https://arxiv.org/abs/2201.12086",
"license_url": "https://github.com/salesforce/BLIP/blob/main/LICENSE.txt",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/b59b459c-c475-414f-ba67-c424a7e6e6ca/demo.jpg",
"default_example": {
"id": "i5xhgehjkjfyhlx7dg2f5tnrti",
"model": "salesforce/blip",
"version": "5a977fcb091363cc3938cc870c9f6242f5938267040e6837373387bb90d23099",
"status": "succeeded",
"input": {
"task": "image_captioning",
"image": "https://replicate.delivery/mgxm/f4e50a7b-e8ca-432f-8e68-082034ebcc70/demo.jpg"
},
"output": [
{
"text": "Caption: a woman sitting on the beach with a dog"
}
],
"logs": null,
"error": null,
"metrics": {
"predict_time": 6.644098,
"total_time": 100.906686
},
"created_at": "2022-02-06T17:52:02.993876Z",
"started_at": "2022-02-06T17:53:37.256464Z",
"completed_at": "2022-02-06T17:53:43.900562Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/i5xhgehjkjfyhlx7dg2f5tnrti",
"cancel": "https://api.replicate.com/v1/predictions/i5xhgehjkjfyhlx7dg2f5tnrti/cancel"
}
},
"latest_version": {
"id": "2e1dddc8621f72155f24cf2e0adbde548458d3cab9f00c0139eea840d0ac4746",
"created_at": "2022-09-29T02:21:53.164660+00:00",
"cog_version": "0.4.1",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Response"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Request"
}
}
}
}
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"task": {
"enum": [
"image_captioning",
"visual_question_answering",
"image_text_matching"
],
"type": "string",
"title": "task",
"description": "An enumeration."
},
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"task": {
"allOf": [
{
"$ref": "#/components/schemas/task"
}
],
"default": "image_captioning",
"x-order": 1,
"description": "Choose a task."
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"caption": {
"type": "string",
"title": "Caption",
"x-order": 3,
"description": "Type caption for the input image for image text matching task."
},
"question": {
"type": "string",
"title": "Question",
"x-order": 2,
"description": "Type question for the input image for visual question answering task."
}
}
},
"Output": {
"type": "string",
"title": "Output"
},
"Status": {
"enum": [
"processing",
"succeeded",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"Request": {
"type": "object",
"title": "Request",
"properties": {
"input": {
"$ref": "#/components/schemas/Input"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
}
},
"description": "The request body for a prediction"
},
"Response": {
"type": "object",
"title": "Response",
"required": [
"status"
],
"properties": {
"error": {
"type": "string",
"title": "Error"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
}
},
"description": "The response body for a prediction"
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,442 @@
{
"url": "https://replicate.com/smoretalk/rembg-enhance",
"owner": "smoretalk",
"name": "rembg-enhance",
"description": "A background removal model enhanced with ViTMatte.",
"visibility": "public",
"github_url": null,
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/36ad614e-4103-4012-9ae4-6937bf146b67/vit-matte.jpg",
"default_example": {
"id": "alhp5llb43i4gie2ie6ke3j5wi",
"model": "smoretalk/rembg-enhance",
"version": "c57bc7626c4b5eda6531ffb84657f5672932d0fad49120b94383ec93f7ad7ac6",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/Kd8MEq3eYnrqPs4CZcaNKFRaApbP0Jb3pdvcDDQgYIFbvEPY/3DICON-ai-generated-flamel-collections-72753.png"
},
"output": "https://replicate.delivery/pbxt/14qgrcVZmxYEHNGRTFWwP4SWH9vnGB0c623Axlg4Nj1kk7oE/out.png",
"logs": "Downloading...\nFrom (original): https://drive.google.com/uc?id=13oBl5MTVcWER3YU4fSxW3ATlVfueFQPY\nFrom (redirected): https://drive.google.com/uc?id=13oBl5MTVcWER3YU4fSxW3ATlVfueFQPY&confirm=t&uuid=50314cee-062c-4c9e-818f-c6715835dfad\nTo: /root/.transparent-background/ckpt_base.pth\n 0%| | 0.00/368M [00:00<?, ?B/s]\n 0%| | 524k/368M [00:00<02:49, 2.17MB/s]\n 1%| | 2.62M/368M [00:00<00:41, 8.71MB/s]\n 3%|▎ | 11.0M/368M [00:00<00:10, 33.6MB/s]\n 10%|▉ | 35.7M/368M [00:00<00:03, 102MB/s] \n 17%|█▋ | 60.8M/368M [00:00<00:02, 149MB/s]\n 23%|██▎ | 85.5M/368M [00:00<00:01, 178MB/s]\n 30%|███ | 111M/368M [00:00<00:01, 201MB/s] \n 37%|███▋ | 135M/368M [00:00<00:01, 213MB/s]\n 44%|████▎ | 160M/368M [00:01<00:00, 223MB/s]\n 50%|█████ | 185M/368M [00:01<00:00, 231MB/s]\n 57%|█████▋ | 210M/368M [00:01<00:00, 237MB/s]\n 64%|██████▍ | 236M/368M [00:01<00:00, 242MB/s]\n 71%|███████ | 261M/368M [00:01<00:00, 182MB/s]\n 78%|███████▊ | 286M/368M [00:01<00:00, 199MB/s]\n 85%|████████▍ | 312M/368M [00:01<00:00, 213MB/s]\n 92%|█████████▏| 338M/368M [00:01<00:00, 224MB/s]\n 98%|█████████▊| 362M/368M [00:01<00:00, 221MB/s]\n100%|██████████| 368M/368M [00:02<00:00, 183MB/s]\n=====================================================\nMode: base | Device: cuda:0 | Torchscript: disabled\n=====================================================\ndone\n[Debug] torch.cuda.is_available: True",
"error": null,
"metrics": {
"predict_time": 14.616108,
"total_time": 14.652402
},
"created_at": "2024-03-25T08:15:01.699970Z",
"started_at": "2024-03-25T08:15:01.736264Z",
"completed_at": "2024-03-25T08:15:16.352372Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/alhp5llb43i4gie2ie6ke3j5wi",
"cancel": "https://api.replicate.com/v1/predictions/alhp5llb43i4gie2ie6ke3j5wi/cancel"
}
},
"latest_version": {
"id": "4067ee2a58f6c161d434a9c077cfa012820b8e076efa2772aa171e26557da919",
"created_at": "2024-03-27T10:11:24.406831+00:00",
"cog_version": "0.9.5",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,551 @@
{
"url": "https://replicate.com/stability-ai/stable-diffusion-3",
"owner": "stability-ai",
"name": "stable-diffusion-3",
"description": "A text-to-image model with greatly improved performance in image quality, typography, complex prompt understanding, and resource-efficiency",
"visibility": "public",
"github_url": "https://github.com/fofr/cog-comfyui-sd3",
"paper_url": "https://arxiv.org/pdf/2403.03206",
"license_url": "https://github.com/replicate/cog-stable-diffusion-3/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/0411f758-80e6-4794-bd5d-d04198d891a5/image-90.png",
"default_example": {
"id": "9qcv99vaxdrm00cgapvbt3fh4c",
"model": "stability-ai/stable-diffusion-3",
"version": "72c05df2daf615fb5cc07c28b662a2a58feb6a4d0a652e67e5a9959d914a9ed2",
"status": "succeeded",
"input": {
"cfg": 3.5,
"prompt": "a photo of vibrant artistic graffiti on a wall saying \"SD3 medium\"",
"aspect_ratio": "3:2",
"output_format": "webp",
"output_quality": 90,
"negative_prompt": ""
},
"output": [
"https://replicate.delivery/yhqm/i4mS31BVDBYVIF0ol6UV2dwHwuztMDbsnlVJBeJ75ViVTQhJA/R8_SD3_00001_.webp"
],
"logs": "Seed set to: 448433150\r\nRunning workflow\r\ngot prompt\r\nExecuting node 6, title: CLIP Text Encode (Prompt), class type: CLIPTextEncode\r\nExecuting node 71, title: CLIP Text Encode (Negative Prompt), class type: CLIPTextEncode\r\nExecuting node 67, title: ConditioningZeroOut, class type: ConditioningZeroOut\r\nExecuting node 68, title: ConditioningSetTimestepRange, class type: ConditioningSetTimestepRange\r\nExecuting node 70, title: ConditioningSetTimestepRange, class type: ConditioningSetTimestepRange\r\nExecuting node 69, title: Conditioning (Combine), class type: ConditioningCombine\r\nExecuting node 135, title: EmptySD3LatentImage, class type: EmptySD3LatentImage\r\nExecuting node 271, title: KSampler, class type: KSampler\r\n 0%| | 0/28 [00:00<?, ?it/s]\r\n 7%|▋ | 2/28 [00:00<00:01, 14.59it/s]\r\n 14%|█▍ | 4/28 [00:00<00:01, 15.14it/s]\r\n 21%|██▏ | 6/28 [00:00<00:01, 15.31it/s]\r\n 29%|██▊ | 8/28 [00:00<00:01, 15.40it/s]\r\n 36%|███▌ | 10/28 [00:00<00:01, 15.44it/s]\r\n 43%|████▎ | 12/28 [00:00<00:01, 15.47it/s]\r\n 50%|█████ | 14/28 [00:00<00:00, 15.48it/s]\r\n 57%|█████▋ | 16/28 [00:01<00:00, 15.50it/s]\r\n 64%|██████▍ | 18/28 [00:01<00:00, 15.51it/s]\r\n 71%|███████▏ | 20/28 [00:01<00:00, 15.51it/s]\r\n 79%|███████▊ | 22/28 [00:01<00:00, 15.52it/s]\r\n 86%|████████▌ | 24/28 [00:01<00:00, 15.52it/s]\r\n 93%|█████████▎| 26/28 [00:01<00:00, 15.51it/s]\r\n100%|██████████| 28/28 [00:01<00:00, 15.49it/s]\r\n100%|██████████| 28/28 [00:01<00:00, 15.44it/s]\r\nExecuting node 231, title: VAE Decode, class type: VAEDecode\r\nExecuting node 273, title: Save Image, class type: SaveImage\r\nPrompt executed in 2.28 seconds\r\noutputs: {'273': {'images': [{'filename': 'R8_SD3_00001_.png', 'subfolder': '', 'type': 'output'}]}}\r\n====================================\r\nR8_SD3_00001_.png",
"error": "",
"metrics": {
"total_time": 2.317,
"image_count": 1,
"predict_time": 2.781864785
},
"created_at": "2024-06-26T18:02:16.683000Z",
"started_at": "2024-06-26T18:02:16Z",
"completed_at": "2024-06-26T18:02:19Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/9qcv99vaxdrm00cgapvbt3fh4c",
"cancel": "https://api.replicate.com/v1/predictions/9qcv99vaxdrm00cgapvbt3fh4c/cancel"
}
},
"latest_version": {
"id": "527d2a6296facb8e47ba1eaf17f142c240c19a30894f437feee9b91cc29d8e4f",
"created_at": "2024-07-16T15:57:20.180462+00:00",
"cog_version": "0.9.7",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"cfg": {
"type": "number",
"title": "Cfg",
"default": 3.5,
"maximum": 20,
"minimum": 0,
"x-order": 2,
"description": "The guidance scale tells the model how similar the output should be to the prompt."
},
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 8,
"description": "Set a seed for reproducibility. Random by default."
},
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 3,
"description": "Input image for image to image mode. The aspect ratio of your output will match this image."
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 28,
"maximum": 28,
"minimum": 1,
"x-order": 5,
"description": "Number of steps to run the sampler for."
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "",
"x-order": 0
},
"aspect_ratio": {
"allOf": [
{
"$ref": "#/components/schemas/aspect_ratio"
}
],
"default": "1:1",
"x-order": 1,
"description": "The aspect ratio of your output image. This value is ignored if you are using an input image."
},
"output_format": {
"allOf": [
{
"$ref": "#/components/schemas/output_format"
}
],
"default": "webp",
"x-order": 6,
"description": "Format of the output images"
},
"output_quality": {
"type": "integer",
"title": "Output Quality",
"default": 90,
"maximum": 100,
"minimum": 0,
"x-order": 7,
"description": "Quality of the output images, from 0 to 100. 100 is best quality, 0 is lowest quality."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "",
"x-order": 9,
"description": "Negative prompts do not really work in SD3. Using a negative prompt will change your output in unpredictable ways."
},
"prompt_strength": {
"type": "number",
"title": "Prompt Strength",
"default": 0.85,
"maximum": 1,
"minimum": 0,
"x-order": 4,
"description": "Prompt strength (or denoising strength) when using image to image. 1.0 corresponds to full destruction of information in image."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"aspect_ratio": {
"enum": [
"1:1",
"16:9",
"21:9",
"3:2",
"2:3",
"4:5",
"5:4",
"9:16",
"9:21"
],
"type": "string",
"title": "aspect_ratio",
"description": "An enumeration."
},
"output_format": {
"enum": [
"webp",
"jpg",
"png"
],
"type": "string",
"title": "output_format",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,578 @@
{
"url": "https://replicate.com/stability-ai/stable-diffusion",
"owner": "stability-ai",
"name": "stable-diffusion",
"description": "A latent text-to-image diffusion model capable of generating photo-realistic images given any text input",
"visibility": "public",
"github_url": "https://github.com/replicate/cog-stable-diffusion",
"paper_url": "https://arxiv.org/abs/2112.10752",
"license_url": "https://huggingface.co/spaces/CompVis/stable-diffusion-license",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/710f5e9f-9561-4e4f-9d1e-614205f62597/stable-diffusion.webp",
"default_example": {
"id": "uvb7ynit4bhpjds3vn4bx7npeq",
"model": "stability-ai/stable-diffusion",
"version": "db21e45d3f7023abc2a46ee38a23973f6dce16bb082a930b0c49861f96d1e5bf",
"status": "succeeded",
"input": {
"prompt": "an astronaut riding a horse on mars, hd, dramatic lighting",
"scheduler": "K_EULER",
"num_outputs": 1,
"guidance_scale": 7.5,
"image_dimensions": "512x512",
"num_inference_steps": 50
},
"output": [
"https://replicate.delivery/pbxt/sWeZFZou6v3CPKuoJbqX46ugPaHT1DcsWYx0srPmGrMOCPYIA/out-0.png"
],
"logs": "Using seed: 52443\ninput_shape: torch.Size([1, 77])\n 0%| | 0/50 [00:00<?, ?it/s]\n 10%|█ | 5/50 [00:00<00:01, 41.06it/s]\n 20%|██ | 10/50 [00:00<00:00, 41.32it/s]\n 30%|███ | 15/50 [00:00<00:00, 43.77it/s]\n 42%|████▏ | 21/50 [00:00<00:00, 46.80it/s]\n 54%|█████▍ | 27/50 [00:00<00:00, 48.53it/s]\n 66%|██████▌ | 33/50 [00:00<00:00, 49.63it/s]\n 78%|███████▊ | 39/50 [00:00<00:00, 50.45it/s]\n 90%|█████████ | 45/50 [00:00<00:00, 50.90it/s]\n100%|██████████| 50/50 [00:01<00:00, 48.51it/s]",
"error": null,
"metrics": {
"predict_time": 1.889956,
"total_time": 2.03998
},
"created_at": "2023-04-10T15:45:31.434998Z",
"started_at": "2023-04-10T15:45:31.585022Z",
"completed_at": "2023-04-10T15:45:33.474978Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/uvb7ynit4bhpjds3vn4bx7npeq",
"cancel": "https://api.replicate.com/v1/predictions/uvb7ynit4bhpjds3vn4bx7npeq/cancel"
}
},
"latest_version": {
"id": "ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4",
"created_at": "2023-07-10T06:50:41.613128+00:00",
"cog_version": "0.7.2",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.1.0",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 8,
"description": "Random seed. Leave blank to randomize the seed"
},
"width": {
"allOf": [
{
"$ref": "#/components/schemas/width"
}
],
"default": 768,
"x-order": 2,
"description": "Width of generated image in pixels. Needs to be a multiple of 64"
},
"height": {
"allOf": [
{
"$ref": "#/components/schemas/height"
}
],
"default": 768,
"x-order": 1,
"description": "Height of generated image in pixels. Needs to be a multiple of 64"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "a vision of paradise. unreal engine",
"x-order": 0,
"description": "Input prompt"
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "DPMSolverMultistep",
"x-order": 7,
"description": "Choose a scheduler."
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 4,
"description": "Number of images to generate."
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 7.5,
"maximum": 20,
"minimum": 1,
"x-order": 6,
"description": "Scale for classifier-free guidance"
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"x-order": 3,
"description": "Specify things to not see in the output"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 50,
"maximum": 500,
"minimum": 1,
"x-order": 5,
"description": "Number of denoising steps"
}
}
},
"width": {
"enum": [
64,
128,
192,
256,
320,
384,
448,
512,
576,
640,
704,
768,
832,
896,
960,
1024
],
"type": "integer",
"title": "width",
"description": "An enumeration."
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"height": {
"enum": [
64,
128,
192,
256,
320,
384,
448,
512,
576,
640,
704,
768,
832,
896,
960,
1024
],
"type": "integer",
"title": "height",
"description": "An enumeration."
},
"scheduler": {
"enum": [
"DDIM",
"K_EULER",
"DPMSolverMultistep",
"K_EULER_ANCESTRAL",
"PNDM",
"KLMS"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"completed",
"logs",
"output",
"start"
],
"uniqueItems": true
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,569 @@
{
"url": "https://replicate.com/tencentarc/photomaker-style",
"owner": "tencentarc",
"name": "photomaker-style",
"description": "Create photos, paintings and avatars for anyone in any style within seconds. (Stylization version)",
"visibility": "public",
"github_url": "https://github.com/TencentARC/PhotoMaker",
"paper_url": "https://huggingface.co/papers/2312.04461",
"license_url": "https://github.com/TencentARC/PhotoMaker/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/8e85a287-826f-4c21-9079-22eac106dd6b/output.0.png",
"default_example": {
"id": "gvvkgzlblhcm5o23nlmm3nl3qq",
"model": "tencentarc/photomaker-style",
"version": "66f42a9b6890a63a6f33e6197e9aaf7c63def394a29b768c62fc4efd6d32f56e",
"status": "succeeded",
"input": {
"prompt": "A girl img riding dragon over a whimsical castle, 3d CGI, art by Pixar, half-body, screenshot from animation",
"num_steps": 50,
"style_name": "(No style)",
"input_image": "https://replicate.delivery/pbxt/KFRveCbE71qFTQGSF509CXYC16qB1bcZmAWq8O172ael04Ga/lenna.jpg",
"num_outputs": 2,
"guidance_scale": 5,
"negative_prompt": "realistic, photo-realistic, worst quality, greyscale, bad anatomy, bad hands, error, text",
"style_strength_ratio": 35
},
"output": [
"https://replicate.delivery/pbxt/WwkQofrF9CQuJ6v3slDfyha3YB1teWJpnWLBsVSdvfeFh2tRC/image_0.png",
"https://replicate.delivery/pbxt/0eNDe5B73njlkkSJfJeZ4Riiww3OYci679bnbaf0cNzLh2tRC/image_1.png"
],
"logs": "Using seed 1456680131...\nLoading image /tmp/tmpi4x8dydelenna.jpg...\nSetting seed...\nStart inference...\n[Debug] Prompt: A girl img riding dragon over a whimsical castle, 3d CGI, art by Pixar, half-body, screenshot from animation\n[Debug] Neg Prompt: realistic, photo-realistic, worst quality, greyscale, bad anatomy, bad hands, error, text\nStart merge step: 17\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:00<00:11, 4.33it/s]\n 4%|▍ | 2/50 [00:00<00:15, 3.18it/s]\n 6%|▌ | 3/50 [00:00<00:16, 2.92it/s]\n 8%|▊ | 4/50 [00:01<00:16, 2.81it/s]\n 10%|█ | 5/50 [00:01<00:16, 2.76it/s]\n 12%|█▏ | 6/50 [00:02<00:16, 2.70it/s]\n 14%|█▍ | 7/50 [00:02<00:16, 2.69it/s]\n 16%|█▌ | 8/50 [00:02<00:15, 2.68it/s]\n 18%|█▊ | 9/50 [00:03<00:15, 2.67it/s]\n 20%|██ | 10/50 [00:03<00:14, 2.67it/s]\n 22%|██▏ | 11/50 [00:03<00:14, 2.66it/s]\n 24%|██▍ | 12/50 [00:04<00:14, 2.66it/s]\n 26%|██▌ | 13/50 [00:04<00:13, 2.66it/s]\n 28%|██▊ | 14/50 [00:05<00:13, 2.65it/s]\n 30%|███ | 15/50 [00:05<00:13, 2.65it/s]\n 32%|███▏ | 16/50 [00:05<00:12, 2.65it/s]\n 34%|███▍ | 17/50 [00:06<00:12, 2.65it/s]\n 36%|███▌ | 18/50 [00:06<00:12, 2.64it/s]\n 38%|███▊ | 19/50 [00:07<00:11, 2.64it/s]\n 40%|████ | 20/50 [00:07<00:11, 2.64it/s]\n 42%|████▏ | 21/50 [00:07<00:10, 2.65it/s]\n 44%|████▍ | 22/50 [00:08<00:10, 2.64it/s]\n 46%|████▌ | 23/50 [00:08<00:10, 2.64it/s]\n 48%|████▊ | 24/50 [00:08<00:09, 2.64it/s]\n 50%|█████ | 25/50 [00:09<00:09, 2.64it/s]\n 52%|█████▏ | 26/50 [00:09<00:09, 2.64it/s]\n 54%|█████▍ | 27/50 [00:10<00:08, 2.64it/s]\n 56%|█████▌ | 28/50 [00:10<00:08, 2.64it/s]\n 58%|█████▊ | 29/50 [00:10<00:07, 2.64it/s]\n 60%|██████ | 30/50 [00:11<00:07, 2.63it/s]\n 62%|██████▏ | 31/50 [00:11<00:07, 2.63it/s]\n 64%|██████▍ | 32/50 [00:11<00:06, 2.63it/s]\n 66%|██████▌ | 33/50 [00:12<00:06, 2.63it/s]\n 68%|██████▊ | 34/50 [00:12<00:06, 2.63it/s]\n 70%|███████ | 35/50 [00:13<00:05, 2.63it/s]\n 72%|███████▏ | 36/50 [00:13<00:05, 2.63it/s]\n 74%|███████▍ | 37/50 [00:13<00:04, 2.63it/s]\n 76%|███████▌ | 38/50 [00:14<00:04, 2.63it/s]\n 78%|███████▊ | 39/50 [00:14<00:04, 2.63it/s]\n 80%|████████ | 40/50 [00:14<00:03, 2.63it/s]\n 82%|████████▏ | 41/50 [00:15<00:03, 2.63it/s]\n 84%|████████▍ | 42/50 [00:15<00:03, 2.63it/s]\n 86%|████████▌ | 43/50 [00:16<00:02, 2.63it/s]\n 88%|████████▊ | 44/50 [00:16<00:02, 2.63it/s]\n 90%|█████████ | 45/50 [00:16<00:01, 2.63it/s]\n 92%|█████████▏| 46/50 [00:17<00:01, 2.63it/s]\n 94%|█████████▍| 47/50 [00:17<00:01, 2.63it/s]\n 96%|█████████▌| 48/50 [00:18<00:00, 2.63it/s]\n 98%|█████████▊| 49/50 [00:18<00:00, 2.63it/s]\n100%|██████████| 50/50 [00:18<00:00, 2.63it/s]\n100%|██████████| 50/50 [00:18<00:00, 2.66it/s]\nRunning safety checker...\nSaving images to file...",
"error": null,
"metrics": {
"predict_time": 22.722878,
"total_time": 22.805959
},
"created_at": "2024-01-18T14:51:31.191263Z",
"started_at": "2024-01-18T14:51:31.274344Z",
"completed_at": "2024-01-18T14:51:53.997222Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/gvvkgzlblhcm5o23nlmm3nl3qq",
"cancel": "https://api.replicate.com/v1/predictions/gvvkgzlblhcm5o23nlmm3nl3qq/cancel"
}
},
"latest_version": {
"id": "467d062309da518648ba89d226490e02b8ed09b5abc15026e54e31c5a8cd0769",
"created_at": "2024-01-22T14:44:13.605668+00:00",
"cog_version": "0.9.2",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"input_image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"maximum": 2147483647,
"minimum": 0,
"x-order": 11,
"description": "Seed. Leave blank to use a random number"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "A photo of a person img",
"x-order": 4,
"description": "Prompt. Example: 'a photo of a man/woman img'. The phrase 'img' is the trigger word."
},
"num_steps": {
"type": "integer",
"title": "Num Steps",
"default": 20,
"maximum": 100,
"minimum": 1,
"x-order": 7,
"description": "Number of sample steps"
},
"style_name": {
"allOf": [
{
"$ref": "#/components/schemas/style_name"
}
],
"default": "(No style)",
"x-order": 5,
"description": "Style template. The style template will add a style-specific prompt and negative prompt to the user's prompt."
},
"input_image": {
"type": "string",
"title": "Input Image",
"format": "uri",
"x-order": 0,
"description": "The input image, for example a photo of your face."
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 9,
"description": "Number of output images"
},
"input_image2": {
"type": "string",
"title": "Input Image2",
"format": "uri",
"x-order": 1,
"description": "Additional input image (optional)"
},
"input_image3": {
"type": "string",
"title": "Input Image3",
"format": "uri",
"x-order": 2,
"description": "Additional input image (optional)"
},
"input_image4": {
"type": "string",
"title": "Input Image4",
"format": "uri",
"x-order": 3,
"description": "Additional input image (optional)"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 5,
"maximum": 10,
"minimum": 1,
"x-order": 10,
"description": "Guidance scale. A guidance scale of 1 corresponds to doing no classifier free guidance."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry",
"x-order": 6,
"description": "Negative Prompt. The negative prompt should NOT contain the trigger word."
},
"style_strength_ratio": {
"type": "number",
"title": "Style Strength Ratio",
"default": 20,
"maximum": 50,
"minimum": 15,
"x-order": 8,
"description": "Style strength (%)"
},
"disable_safety_checker": {
"type": "boolean",
"title": "Disable Safety Checker",
"default": false,
"x-order": 12,
"description": "Disable safety checker for generated images."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"style_name": {
"enum": [
"(No style)",
"Cinematic",
"Disney Charactor",
"Digital Art",
"Photographic (Default)",
"Fantasy art",
"Neonpunk",
"Enhance",
"Comic book",
"Lowpoly",
"Line art"
],
"type": "string",
"title": "style_name",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,568 @@
{
"url": "https://replicate.com/tencentarc/photomaker",
"owner": "tencentarc",
"name": "photomaker",
"description": "Create photos, paintings and avatars for anyone in any style within seconds.",
"visibility": "public",
"github_url": "https://github.com/datakami-models/PhotoMaker",
"paper_url": "https://huggingface.co/papers/2312.04461",
"license_url": "https://github.com/TencentARC/PhotoMaker/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/c10ac3c0-f86a-4249-9f3d-d7723cc93d45/photomaker.jpg",
"default_example": {
"id": "omlqxz3buvd7rk4o4oxniuyg54",
"model": "tencentarc/photomaker",
"version": "ddfc2b08d209f9fa8c1eca692712918bd449f695dabb4a958da31802a9570fe4",
"status": "succeeded",
"input": {
"prompt": "A photo of a scientist img receiving the Nobel Prize",
"num_steps": 50,
"style_name": "Photographic (Default)",
"input_image": "https://replicate.delivery/pbxt/KFkSv1oX0v3e7GnOrmzULGqCA8222pC6FI2EKcfuCZWxvHN3/newton_0.jpg",
"num_outputs": 1,
"guidance_scale": 5,
"negative_prompt": "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry",
"style_strength_ratio": 20
},
"output": [
"https://replicate.delivery/pbxt/WPelbpCPIDTmIiye4CGXbQPBhvegbbUH7fk8DvB4GqsRUC4IB/image_0.png"
],
"logs": "Using seed 932038239...\nLoading image /tmp/tmp3rl4689rnewton_0.jpg...\nSetting seed...\nStart inference...\n[Debug] Prompt: cinematic photo A photo of a scientist img receiving the Nobel Prize . 35mm photograph, film, bokeh, professional, 4k, highly detailed\n[Debug] Neg Prompt: drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry\nStart merge step: 10\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:00<00:09, 4.95it/s]\n 4%|▍ | 2/50 [00:00<00:09, 4.96it/s]\n 6%|▌ | 3/50 [00:00<00:09, 4.98it/s]\n 8%|▊ | 4/50 [00:00<00:09, 4.99it/s]\n 10%|█ | 5/50 [00:01<00:09, 5.00it/s]\n 12%|█▏ | 6/50 [00:01<00:08, 5.00it/s]\n 14%|█▍ | 7/50 [00:01<00:08, 5.01it/s]\n 16%|█▌ | 8/50 [00:01<00:08, 5.01it/s]\n 18%|█▊ | 9/50 [00:01<00:08, 5.01it/s]\n 20%|██ | 10/50 [00:02<00:07, 5.01it/s]\n 22%|██▏ | 11/50 [00:02<00:07, 5.01it/s]\n 24%|██▍ | 12/50 [00:02<00:07, 5.00it/s]\n 26%|██▌ | 13/50 [00:02<00:07, 5.00it/s]\n 28%|██▊ | 14/50 [00:02<00:07, 5.00it/s]\n 30%|███ | 15/50 [00:03<00:06, 5.00it/s]\n 32%|███▏ | 16/50 [00:03<00:06, 5.00it/s]\n 34%|███▍ | 17/50 [00:03<00:06, 5.00it/s]\n 36%|███▌ | 18/50 [00:03<00:06, 5.00it/s]\n 38%|███▊ | 19/50 [00:03<00:06, 4.98it/s]\n 40%|████ | 20/50 [00:04<00:06, 4.98it/s]\n 42%|████▏ | 21/50 [00:04<00:05, 4.98it/s]\n 44%|████▍ | 22/50 [00:04<00:05, 4.98it/s]\n 46%|████▌ | 23/50 [00:04<00:05, 4.97it/s]\n 48%|████▊ | 24/50 [00:04<00:05, 4.97it/s]\n 50%|█████ | 25/50 [00:05<00:05, 4.98it/s]\n 52%|█████▏ | 26/50 [00:05<00:04, 4.98it/s]\n 54%|█████▍ | 27/50 [00:05<00:04, 4.97it/s]\n 56%|█████▌ | 28/50 [00:05<00:04, 4.96it/s]\n 58%|█████▊ | 29/50 [00:05<00:04, 4.96it/s]\n 60%|██████ | 30/50 [00:06<00:04, 4.96it/s]\n 62%|██████▏ | 31/50 [00:06<00:03, 4.96it/s]\n 64%|██████▍ | 32/50 [00:06<00:03, 4.95it/s]\n 66%|██████▌ | 33/50 [00:06<00:03, 4.95it/s]\n 68%|██████▊ | 34/50 [00:06<00:03, 4.95it/s]\n 70%|███████ | 35/50 [00:07<00:03, 4.95it/s]\n 72%|███████▏ | 36/50 [00:07<00:02, 4.95it/s]\n 74%|███████▍ | 37/50 [00:07<00:02, 4.95it/s]\n 76%|███████▌ | 38/50 [00:07<00:02, 4.95it/s]\n 78%|███████▊ | 39/50 [00:07<00:02, 4.94it/s]\n 80%|████████ | 40/50 [00:08<00:02, 4.93it/s]\n 82%|████████▏ | 41/50 [00:08<00:01, 4.93it/s]\n 84%|████████▍ | 42/50 [00:08<00:01, 4.93it/s]\n 86%|████████▌ | 43/50 [00:08<00:01, 4.93it/s]\n 88%|████████▊ | 44/50 [00:08<00:01, 4.93it/s]\n 90%|█████████ | 45/50 [00:09<00:01, 4.93it/s]\n 92%|█████████▏| 46/50 [00:09<00:00, 4.93it/s]\n 94%|█████████▍| 47/50 [00:09<00:00, 4.93it/s]\n 96%|█████████▌| 48/50 [00:09<00:00, 4.92it/s]\n 98%|█████████▊| 49/50 [00:09<00:00, 4.92it/s]\n100%|██████████| 50/50 [00:10<00:00, 4.92it/s]\n100%|██████████| 50/50 [00:10<00:00, 4.96it/s]\nRunning safety checker...\nSaving images to file...",
"error": null,
"metrics": {
"predict_time": 11.850961,
"total_time": 11.859739
},
"created_at": "2024-01-19T11:04:25.471217Z",
"started_at": "2024-01-19T11:04:25.479995Z",
"completed_at": "2024-01-19T11:04:37.330956Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/omlqxz3buvd7rk4o4oxniuyg54",
"cancel": "https://api.replicate.com/v1/predictions/omlqxz3buvd7rk4o4oxniuyg54/cancel"
}
},
"latest_version": {
"id": "ddfc2b08d209f9fa8c1eca692712918bd449f695dabb4a958da31802a9570fe4",
"created_at": "2024-01-19T10:46:11.827383+00:00",
"cog_version": "0.9.0-beta12",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"input_image"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"maximum": 2147483647,
"minimum": 0,
"x-order": 11,
"description": "Seed. Leave blank to use a random number"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "A photo of a person img",
"x-order": 4,
"description": "Prompt. Example: 'a photo of a man/woman img'. The phrase 'img' is the trigger word."
},
"num_steps": {
"type": "integer",
"title": "Num Steps",
"default": 20,
"maximum": 100,
"minimum": 1,
"x-order": 7,
"description": "Number of sample steps"
},
"style_name": {
"allOf": [
{
"$ref": "#/components/schemas/style_name"
}
],
"default": "Photographic (Default)",
"x-order": 5,
"description": "Style template. The style template will add a style-specific prompt and negative prompt to the user's prompt."
},
"input_image": {
"type": "string",
"title": "Input Image",
"format": "uri",
"x-order": 0,
"description": "The input image, for example a photo of your face."
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 4,
"minimum": 1,
"x-order": 9,
"description": "Number of output images"
},
"input_image2": {
"type": "string",
"title": "Input Image2",
"format": "uri",
"x-order": 1,
"description": "Additional input image (optional)"
},
"input_image3": {
"type": "string",
"title": "Input Image3",
"format": "uri",
"x-order": 2,
"description": "Additional input image (optional)"
},
"input_image4": {
"type": "string",
"title": "Input Image4",
"format": "uri",
"x-order": 3,
"description": "Additional input image (optional)"
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 5,
"maximum": 10,
"minimum": 1,
"x-order": 10,
"description": "Guidance scale. A guidance scale of 1 corresponds to doing no classifier free guidance."
},
"negative_prompt": {
"type": "string",
"title": "Negative Prompt",
"default": "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry",
"x-order": 6,
"description": "Negative Prompt. The negative prompt should NOT contain the trigger word."
},
"style_strength_ratio": {
"type": "number",
"title": "Style Strength Ratio",
"default": 20,
"maximum": 50,
"minimum": 15,
"x-order": 8,
"description": "Style strength (%)"
},
"disable_safety_checker": {
"type": "boolean",
"title": "Disable Safety Checker",
"default": false,
"x-order": 12,
"description": "Disable safety checker for generated images."
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"style_name": {
"enum": [
"(No style)",
"Cinematic",
"Disney Charactor",
"Digital Art",
"Photographic (Default)",
"Fantasy art",
"Neonpunk",
"Enhance",
"Comic book",
"Lowpoly",
"Line art"
],
"type": "string",
"title": "style_name",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,361 @@
{
"url": "https://replicate.com/tstramer/material-diffusion",
"owner": "tstramer",
"name": "material-diffusion",
"description": "Stable diffusion fork for generating tileable outputs using v1.5 model",
"visibility": "public",
"github_url": null,
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/XcklpSF1o7Z1I91xQQQHFvJfltWEa3HuQpoeVVTvN7GVJhffA/out-0.png",
"default_example": {
"id": "itzymcxcyrddxelbfae6jkpb7i",
"model": "tstramer/material-diffusion",
"version": "a42692c54c0f407f803a0a8a9066160976baedb77c91171a01730f9b0d7beeff",
"status": "succeeded",
"input": {
"width": 512,
"height": 512,
"prompt": "Mossy Runic Bricks seamless texture, trending on artstation, stone, moss, base color, albedo, 4k",
"scheduler": "K-LMS",
"num_outputs": 1,
"guidance_scale": 7.5,
"prompt_strength": 0.8,
"num_inference_steps": 50
},
"output": [
"https://replicate.delivery/pbxt/XcklpSF1o7Z1I91xQQQHFvJfltWEa3HuQpoeVVTvN7GVJhffA/out-0.png"
],
"logs": "Using seed: 52336\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:03<02:57, 3.63s/it]\n 6%|▌ | 3/50 [00:03<00:47, 1.00s/it]\n 10%|█ | 5/50 [00:03<00:23, 1.90it/s]\n 14%|█▍ | 7/50 [00:04<00:14, 2.98it/s]\n 18%|█▊ | 9/50 [00:04<00:09, 4.22it/s]\n 22%|██▏ | 11/50 [00:04<00:07, 5.54it/s]\n 26%|██▌ | 13/50 [00:04<00:05, 6.88it/s]\n 30%|███ | 15/50 [00:04<00:04, 8.07it/s]\n 34%|███▍ | 17/50 [00:04<00:03, 9.02it/s]\n 38%|███▊ | 19/50 [00:05<00:03, 10.04it/s]\n 42%|████▏ | 21/50 [00:05<00:02, 10.78it/s]\n 46%|████▌ | 23/50 [00:05<00:02, 11.48it/s]\n 50%|█████ | 25/50 [00:05<00:02, 12.04it/s]\n 54%|█████▍ | 27/50 [00:05<00:01, 12.43it/s]\n 58%|█████▊ | 29/50 [00:05<00:01, 12.67it/s]\n 62%|██████▏ | 31/50 [00:05<00:01, 12.72it/s]\n 66%|██████▌ | 33/50 [00:06<00:01, 12.94it/s]\n 70%|███████ | 35/50 [00:06<00:01, 13.11it/s]\n 74%|███████▍ | 37/50 [00:06<00:00, 13.23it/s]\n 78%|███████▊ | 39/50 [00:06<00:00, 13.30it/s]\n 82%|████████▏ | 41/50 [00:06<00:00, 13.38it/s]\n 86%|████████▌ | 43/50 [00:06<00:00, 13.29it/s]\n 90%|█████████ | 45/50 [00:06<00:00, 13.07it/s]\n 94%|█████████▍| 47/50 [00:07<00:00, 13.14it/s]\n 98%|█████████▊| 49/50 [00:07<00:00, 13.14it/s]\n100%|██████████| 50/50 [00:07<00:00, 6.79it/s]",
"error": null,
"metrics": {
"predict_time": 9.265848,
"total_time": 254.158255
},
"created_at": "2022-11-13T03:07:03.790192Z",
"started_at": "2022-11-13T03:11:08.682599Z",
"completed_at": "2022-11-13T03:11:17.948447Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/itzymcxcyrddxelbfae6jkpb7i",
"cancel": "https://api.replicate.com/v1/predictions/itzymcxcyrddxelbfae6jkpb7i/cancel"
}
},
"latest_version": {
"id": "a42692c54c0f407f803a0a8a9066160976baedb77c91171a01730f9b0d7beeff",
"created_at": "2022-11-13T03:04:18.885453+00:00",
"cog_version": "0.4.4",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Response"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Request"
}
}
}
}
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"mask": {
"type": "string",
"title": "Mask",
"format": "uri",
"x-order": 4,
"description": "Black and white image to use as mask for inpainting over init_image. Black pixels are inpainted and white pixels are preserved. Tends to work better with prompt strength of 0.5-0.7. Consider using https://replicate.com/andreasjansson/stable-diffusion-inpainting instead."
},
"seed": {
"type": "integer",
"title": "Seed",
"x-order": 10,
"description": "Random seed. Leave blank to randomize the seed"
},
"width": {
"allOf": [
{
"$ref": "#/components/schemas/width"
}
],
"default": 512,
"x-order": 1,
"description": "Width of output image. Maximum size is 1024x768 or 768x1024 because of memory limits"
},
"height": {
"allOf": [
{
"$ref": "#/components/schemas/height"
}
],
"default": 512,
"x-order": 2,
"description": "Height of output image. Maximum size is 1024x768 or 768x1024 because of memory limits"
},
"prompt": {
"type": "string",
"title": "Prompt",
"default": "",
"x-order": 0,
"description": "Input prompt"
},
"scheduler": {
"allOf": [
{
"$ref": "#/components/schemas/scheduler"
}
],
"default": "K-LMS",
"x-order": 9,
"description": "Choose a scheduler. If you use an init image, PNDM will be used"
},
"init_image": {
"type": "string",
"title": "Init Image",
"format": "uri",
"x-order": 3,
"description": "Inital image to generate variations of. Will be resized to the specified width and height"
},
"num_outputs": {
"type": "integer",
"title": "Num Outputs",
"default": 1,
"maximum": 10,
"minimum": 1,
"x-order": 6,
"description": "Number of images to output. If the NSFW filter is triggered, you may get fewer outputs than this."
},
"guidance_scale": {
"type": "number",
"title": "Guidance Scale",
"default": 7.5,
"maximum": 20,
"minimum": 1,
"x-order": 8,
"description": "Scale for classifier-free guidance"
},
"prompt_strength": {
"type": "number",
"title": "Prompt Strength",
"default": 0.8,
"x-order": 5,
"description": "Prompt strength when using init image. 1.0 corresponds to full destruction of information in init image"
},
"num_inference_steps": {
"type": "integer",
"title": "Num Inference Steps",
"default": 50,
"maximum": 500,
"minimum": 1,
"x-order": 7,
"description": "Number of denoising steps"
}
}
},
"width": {
"enum": [
128,
256,
384,
448,
512,
576,
640,
704,
768,
832,
896,
960,
1024
],
"type": "integer",
"title": "width",
"description": "An enumeration."
},
"Output": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
},
"Status": {
"enum": [
"processing",
"succeeded",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"height": {
"enum": [
128,
256,
384,
448,
512,
576,
640,
704,
768,
832,
896,
960,
1024
],
"type": "integer",
"title": "height",
"description": "An enumeration."
},
"Request": {
"type": "object",
"title": "Request",
"properties": {
"input": {
"$ref": "#/components/schemas/Input"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
}
},
"description": "The request body for a prediction"
},
"Response": {
"type": "object",
"title": "Response",
"required": [
"status"
],
"properties": {
"error": {
"type": "string",
"title": "Error"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
}
},
"description": "The response body for a prediction"
},
"scheduler": {
"enum": [
"DDIM",
"K-LMS",
"PNDM"
],
"type": "string",
"title": "scheduler",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,495 @@
{
"url": "https://replicate.com/xiankgx/face-swap",
"owner": "xiankgx",
"name": "face-swap",
"description": null,
"visibility": "public",
"github_url": null,
"paper_url": null,
"license_url": null,
"run_count": 0,
"cover_image_url": "https://replicate.delivery/pbxt/KgRH4AoijNe7h1lU84m4YwghJNdZ520I7qhGe0ip1ufa9CSA/tgt.jpg",
"default_example": {
"id": "k5f2vwjj4hrgr0cemjgspgsrhr",
"model": "xiankgx/face-swap",
"version": "cff87316e31787df12002c9e20a78a017a36cb31fde9862d8dedd15ab29b7288",
"status": "succeeded",
"input": {
"weight": 0.5,
"cache_days": 10,
"det_thresh": 0.1,
"request_id": "",
"local_source": "https://replicate.delivery/pbxt/KgRH3TXuSLGMGuRicUX9pKchG17Nk6qbJMzv6s0NvTj2nD7P/src.jpg",
"local_target": "https://replicate.delivery/pbxt/KgRH4AoijNe7h1lU84m4YwghJNdZ520I7qhGe0ip1ufa9CSA/tgt.jpg"
},
"output": {
"msg": "succeed",
"code": 200,
"image": "https://storage.googleapis.com/replicate-files/NlpRaRejHqQBR6F2Uq6oXhX8Hrxi9euoI0gGJ9eAKEn2mlNlA/8500143b-e1db-47bd-bc61-8863d8d1b365.jpg",
"status": "succeed"
},
"logs": "[2024-04-03 15:50:39 +0000] [] INFO /src/predict.py predict 151 -> device: cuda, det_thresh:0.1\n[2024-04-03 15:50:40 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 103 -> 0.1\nset det-size: (640, 640)\nset det-size: (640, 640)\nwarning: det_size is already set in detection model, ignore\n/root/.pyenv/versions/3.11.6/lib/python3.11/site-packages/insightface/utils/transform.py:68: FutureWarning: `rcond` parameter will change to the default of machine precision times ``max(M, N)`` where M and N are the input matrix dimensions.\nTo use the future default and silence this warning we advise to pass `rcond=None`, to keep using the old, explicitly pass `rcond=-1`.\nP = np.linalg.lstsq(X_homo, Y)[0].T # Affine matrix. 3 x 4\n[2024-04-03 15:50:45 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 108 -> face num: 1\n[2024-04-03 15:50:45 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 103 -> 0.1\nset det-size: (640, 640)\nwarning: det_size is already set in detection model, ignore\n[2024-04-03 15:50:45 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 108 -> face num: 1\n[2024-04-03 15:50:45 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 173 -> (408, 612, 3), None, None\n[2024-04-03 15:50:45 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 179 -> origin 38.7705078125k\n[2024-04-03 15:50:51 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 189 -> result 63.48046875k\n[2024-04-03 15:50:51 +0000] [fdd969eb-e26e-43c1-98de-7a1bdb7f0e41] INFO /src/predict.py predict 191 -> total time: 11818.762302398682 ms",
"error": null,
"metrics": {
"predict_time": 12.617127,
"total_time": 431.962421
},
"created_at": "2024-04-03T15:43:39.556000Z",
"started_at": "2024-04-03T15:50:38.901294Z",
"completed_at": "2024-04-03T15:50:51.518421Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/k5f2vwjj4hrgr0cemjgspgsrhr",
"cancel": "https://api.replicate.com/v1/predictions/k5f2vwjj4hrgr0cemjgspgsrhr/cancel"
}
},
"latest_version": {
"id": "cff87316e31787df12002c9e20a78a017a36cb31fde9862d8dedd15ab29b7288",
"created_at": "2024-04-03T15:41:22.557144+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"weight": {
"type": "number",
"title": "Weight",
"default": 0.5,
"x-order": 7,
"description": "weight default 0.5"
},
"cache_days": {
"type": "integer",
"title": "Cache Days",
"default": 10,
"x-order": 6,
"description": "cache days default 10"
},
"det_thresh": {
"type": "number",
"title": "Det Thresh",
"default": 0.1,
"x-order": 3,
"description": "det_thresh default 0.1"
},
"request_id": {
"type": "string",
"title": "Request Id",
"default": "",
"x-order": 2,
"description": "request_id"
},
"local_source": {
"type": "string",
"title": "Local Source",
"format": "uri",
"x-order": 5,
"description": "local source image"
},
"local_target": {
"type": "string",
"title": "Local Target",
"format": "uri",
"x-order": 4,
"description": "local target image"
},
"source_image": {
"type": "string",
"title": "Source Image",
"format": "uri",
"x-order": 1,
"description": "source image"
},
"target_image": {
"type": "string",
"title": "Target Image",
"x-order": 0,
"description": "target image"
}
}
},
"Output": {
"title": "Output"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,837 @@
{
"url": "https://replicate.com/yorickvp/llava-13b",
"owner": "yorickvp",
"name": "llava-13b",
"description": "Visual instruction tuning towards large language and vision models with GPT-4 level capabilities",
"visibility": "public",
"github_url": "https://github.com/haotian-liu/LLaVA",
"paper_url": "https://arxiv.org/abs/2310.03744",
"license_url": "https://ai.meta.com/llama/license/",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/454548d6-4978-4d85-bca3-d067dfc031bf/llava.png",
"default_example": {
"id": "x5pthttb2mghadkxlvymeprkce",
"model": "yorickvp/llava-13b",
"version": "a0fdc44e4f2e1f20f2bb4e27846899953ac8e66c5886c5878fa1d6b73ce009e5",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KRULC43USWlEx4ZNkXltJqvYaHpEx2uJ4IyUQPRPwYb8SzPf/view.jpg",
"top_p": 1,
"prompt": "Are you allowed to swim here?",
"max_tokens": 1024,
"temperature": 0.2
},
"output": [
"Yes, ",
"you ",
"are ",
"allowed ",
"to ",
"swim ",
"in ",
"the ",
"lake ",
"near ",
"the ",
"pier. ",
"The ",
"image ",
"shows ",
"a ",
"pier ",
"extending ",
"out ",
"into ",
"the ",
"water, ",
"and ",
"the ",
"water ",
"appears ",
"to ",
"be ",
"calm, ",
"making ",
"it ",
"a ",
"suitable ",
"spot ",
"for ",
"swimming. ",
"However, ",
"it ",
"is ",
"always ",
"important ",
"to ",
"be ",
"cautious ",
"and ",
"aware ",
"of ",
"any ",
"potential ",
"hazards ",
"or ",
"regulations ",
"in ",
"the ",
"area ",
"before ",
"swimming."
],
"logs": null,
"error": null,
"metrics": {
"predict_time": 5.331965,
"total_time": 108.061238
},
"created_at": "2024-02-21T12:51:23.166549Z",
"started_at": "2024-02-21T12:53:05.895822Z",
"completed_at": "2024-02-21T12:53:11.227787Z",
"urls": {
"stream": "https://streaming-api.svc.us.c.replicate.net/v1/streams/ektia4t2ommprjapf67bszhlrckwdevipz2pjbzfxhcc6cseoyva",
"get": "https://api.replicate.com/v1/predictions/x5pthttb2mghadkxlvymeprkce",
"cancel": "https://api.replicate.com/v1/predictions/x5pthttb2mghadkxlvymeprkce/cancel"
}
},
"latest_version": {
"id": "80537f9eead1a5bfa72d5ac6ea6414379be41d4d4f6679fd776e9535d1eb58bb",
"created_at": "2024-07-17T14:00:16.459010+00:00",
"cog_version": "0.9.5",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/trainings": {
"post": {
"summary": "Train",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrainingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"operationId": "train_trainings_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrainingRequest"
}
}
}
}
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/trainings/{training_id}": {
"put": {
"summary": "Train Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "training_id",
"schema": {
"type": "string",
"title": "Training ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"operationId": "train_idempotent_trainings__training_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TrainingRequest"
}
],
"title": "Training Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/trainings/{training_id}/cancel": {
"post": {
"summary": "Cancel Training",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Training Trainings Training Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "training_id",
"schema": {
"type": "string",
"title": "Training ID"
},
"required": true
}
],
"operationId": "cancel_training_trainings__training_id__cancel_post"
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"image",
"prompt"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 2,
"description": "When decoding text, samples from the top p percentage of most likely tokens; lower to ignore less likely tokens"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 1,
"description": "Prompt to use for text generation"
},
"max_tokens": {
"type": "integer",
"title": "Max Tokens",
"default": 1024,
"minimum": 0,
"x-order": 4,
"description": "Maximum number of tokens to generate. A word is generally 2-3 tokens"
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.2,
"minimum": 0,
"x-order": 3,
"description": "Adjusts randomness of outputs, greater than 1 is random and 0 is deterministic"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"TrainingInput": {
"type": "object",
"title": "TrainingInput",
"required": [
"train_data"
],
"properties": {
"train_data": {
"type": "string",
"title": "Train Data",
"x-order": 0,
"description": "https url or path name of a zipfile containing training data. Training data should have a json file data.json and an images/ folder. data.json should link the images from images/ to conversations."
},
"learning_rate": {
"type": "number",
"title": "Learning Rate",
"default": 0.0002,
"minimum": 1e-10,
"x-order": 2,
"description": "The learning rate during training"
},
"model_max_length": {
"type": "integer",
"title": "Model Max Length",
"default": 2048,
"minimum": 1,
"x-order": 3,
"description": "The maximum length (in number of tokens) for the inputs to the model."
},
"num_train_epochs": {
"type": "integer",
"title": "Num Train Epochs",
"default": 1,
"maximum": 1000,
"minimum": 1,
"x-order": 1,
"description": "The number of training epochs"
}
}
},
"TrainingOutput": {
"type": "object",
"title": "TrainingOutput",
"required": [
"weights"
],
"properties": {
"weights": {
"type": "string",
"title": "Weights",
"format": "uri"
}
}
},
"TrainingRequest": {
"type": "object",
"title": "TrainingRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/TrainingInput"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"TrainingResponse": {
"type": "object",
"title": "TrainingResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/TrainingInput"
},
"output": {
"$ref": "#/components/schemas/TrainingOutput"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,687 @@
{
"url": "https://replicate.com/yorickvp/llava-v1.6-34b",
"owner": "yorickvp",
"name": "llava-v1.6-34b",
"description": "LLaVA v1.6: Large Language and Vision Assistant (Nous-Hermes-2-34B)",
"visibility": "public",
"github_url": "https://github.com/haotian-liu/LLaVA",
"paper_url": null,
"license_url": "https://huggingface.co/NousResearch/Nous-Hermes-2-Yi-34B",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/c6163ba0-edfc-4b53-9a23-eab7fd08b28a/b14df1cd-2e49-4e6b-b965-0deea7c1.webp",
"default_example": {
"id": "mgw5x33bzzuz7jtif4gh2w67si",
"model": "yorickvp/llava-v1.6-34b",
"version": "41ecfbfb261e6c1adf3ad896c9066ca98346996d7c4045c5bc944a79d430f174",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KKR1Q2uj7Lbxe9sGzVTCbK4f2Xmsn1GdtqlTnLuzxg77ltkX/extreme_ironing.jpg",
"top_p": 1,
"prompt": "What's unusual about this image?",
"max_tokens": 1024,
"temperature": 0.2
},
"output": [
"The ",
"image ",
"shows ",
"a ",
"person ",
"ironing ",
"clothes ",
"on ",
"an ",
"ironing ",
"board ",
"that ",
"is ",
"placed ",
"on ",
"the ",
"back ",
"of ",
"a ",
"moving ",
"vehicle, ",
"specifically ",
"a ",
"yellow ",
"taxi. ",
"This ",
"is ",
"an ",
"unusual ",
"and ",
"unsafe ",
"situation ",
"for ",
"several ",
"reasons:\n",
"\n",
"1. ",
"The ",
"person ",
"is ",
"performing ",
"a ",
"task ",
"that ",
"requires ",
"concentration ",
"and ",
"stability, ",
"which ",
"is ",
"difficult ",
"to ",
"maintain ",
"while ",
"on ",
"a ",
"moving ",
"vehicle.\n",
"2. ",
"The ",
"ironing ",
"board ",
"is ",
"not ",
"secured ",
"in ",
"place, ",
"which ",
"increases ",
"the ",
"risk ",
"of ",
"it ",
"falling ",
"off ",
"the ",
"vehicle, ",
"potentially ",
"causing ",
"injury ",
"to ",
"the ",
"person ",
"or ",
"others ",
"on ",
"the ",
"road.\n",
"3. ",
"The ",
"person ",
"is ",
"not ",
"wearing ",
"any ",
"protective ",
"gear, ",
"such ",
"as ",
"a ",
"harness ",
"or ",
"safety ",
"belt, ",
"which ",
"would ",
"be ",
"necessary ",
"to ",
"secure ",
"them ",
"in ",
"place ",
"while ",
"the ",
"vehicle ",
"is ",
"in ",
"motion.\n",
"4. ",
"The ",
"act ",
"of ",
"ironing ",
"clothes ",
"in ",
"such ",
"a ",
"location ",
"is ",
"impractical ",
"and ",
"not ",
"a ",
"typical ",
"setting ",
"for ",
"this ",
"activity.\n",
"5. ",
"The ",
"presence ",
"of ",
"the ",
"iron ",
"and ",
"the ",
"ironing ",
"board ",
"on ",
"the ",
"back ",
"of ",
"a ",
"moving ",
"vehicle ",
"poses ",
"a ",
"hazard ",
"to ",
"other ",
"road ",
"users, ",
"as ",
"it ",
"could ",
"fall ",
"off ",
"and ",
"cause ",
"accidents.\n",
"\n",
"Overall, ",
"the ",
"image ",
"depicts ",
"a ",
"dangerous ",
"and ",
"unusual ",
"situation ",
"that ",
"is ",
"not ",
"safe ",
"for ",
"the ",
"person ",
"involved ",
"or ",
"for ",
"others ",
"on ",
"the ",
"road."
],
"logs": null,
"error": null,
"metrics": {
"predict_time": 16.554784,
"total_time": 16.556673
},
"created_at": "2024-02-08T14:23:09.820575Z",
"started_at": "2024-02-08T14:23:09.822464Z",
"completed_at": "2024-02-08T14:23:26.377248Z",
"urls": {
"stream": "https://streaming-api.svc.us.c.replicate.net/v1/streams/axwfv7bcey4j4ci2u5einrhswwo5tzrt7kkl6v6sr5z7g26t3axq",
"get": "https://api.replicate.com/v1/predictions/mgw5x33bzzuz7jtif4gh2w67si",
"cancel": "https://api.replicate.com/v1/predictions/mgw5x33bzzuz7jtif4gh2w67si/cancel"
}
},
"latest_version": {
"id": "41ecfbfb261e6c1adf3ad896c9066ca98346996d7c4045c5bc944a79d430f174",
"created_at": "2024-02-02T16:45:02.147884+00:00",
"cog_version": "0.9.2",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"prompt"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 2,
"description": "When decoding text, samples from the top p percentage of most likely tokens; lower to ignore less likely tokens"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 1,
"description": "Prompt to use for text generation"
},
"history": {
"type": "array",
"items": {
"type": "string"
},
"title": "History",
"x-order": 5,
"description": "List of earlier chat messages, alternating roles, starting with user input. Include <image> to specify which message to attach the image to."
},
"max_tokens": {
"type": "integer",
"title": "Max Tokens",
"default": 1024,
"minimum": 0,
"x-order": 4,
"description": "Maximum number of tokens to generate. A word is generally 2-3 tokens"
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.2,
"minimum": 0,
"x-order": 3,
"description": "Adjusts randomness of outputs, greater than 1 is random and 0 is deterministic"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,564 @@
{
"url": "https://replicate.com/yorickvp/llava-v1.6-mistral-7b",
"owner": "yorickvp",
"name": "llava-v1.6-mistral-7b",
"description": "LLaVA v1.6: Large Language and Vision Assistant (Mistral-7B)",
"visibility": "public",
"github_url": "https://github.com/haotian-liu/LLaVA",
"paper_url": null,
"license_url": "https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_cover_image/6bc7974c-7209-4877-98f5-23e77ef1c6da/fa58799b-aa47-4117-bf1f-25149e2d.webp",
"default_example": {
"id": "qlua7w3b5y2fcputi27al53qgy",
"model": "yorickvp/llava-v1.6-mistral-7b",
"version": "6d853ae87b782cd5f659578c807aa5cc03075e40b28fc3ff83e8aee98f9f94c7",
"status": "succeeded",
"input": {
"image": "https://replicate.delivery/pbxt/KKNB7w6pjN79j5pHDSyYXa5EwaQE9FL5fx6Qa83XMn1HYuKm/extreme_ironing.jpg",
"top_p": 1,
"prompt": "What is unusual about this image?",
"max_tokens": 1024,
"temperature": 0.2
},
"output": [
"The ",
"unusual ",
"aspect ",
"of ",
"this ",
"image ",
"is ",
"that ",
"a ",
"man ",
"is ",
"standing ",
"on ",
"the ",
"back ",
"of ",
"a ",
"yellow ",
"SUV, ",
"ironing ",
"clothes. ",
"This ",
"is ",
"not ",
"a ",
"typical ",
"scene, ",
"as ",
"one ",
"would ",
"expect ",
"to ",
"see ",
"the ",
"man ",
"either ",
"inside ",
"the ",
"vehicle ",
"or ",
"on ",
"the ",
"ground, ",
"rather ",
"than ",
"standing ",
"on ",
"the ",
"back ",
"of ",
"the ",
"SUV. ",
"The ",
"act ",
"of ",
"ironing ",
"clothes ",
"while ",
"standing ",
"on ",
"the ",
"back ",
"of ",
"a ",
"moving ",
"vehicle ",
"is ",
"both ",
"unusual ",
"and ",
"potentially ",
"dangerous. "
],
"logs": "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\nSetting `pad_token_id` to `eos_token_id`:2 for open-end generation.",
"error": null,
"metrics": {
"predict_time": 4.445047,
"total_time": 144.838674
},
"created_at": "2024-02-01T11:44:51.978072Z",
"started_at": "2024-02-01T11:47:12.371699Z",
"completed_at": "2024-02-01T11:47:16.816746Z",
"urls": {
"stream": "https://streaming-api.svc.us.c.replicate.net/v1/streams/523buztgaalgf6aipreduz2zsudl3edwknku3wftgaw4sdlbdtta",
"get": "https://api.replicate.com/v1/predictions/qlua7w3b5y2fcputi27al53qgy",
"cancel": "https://api.replicate.com/v1/predictions/qlua7w3b5y2fcputi27al53qgy/cancel"
}
},
"latest_version": {
"id": "19be067b589d0c46689ffa7cc3ff321447a441986a7694c01225973c2eafc874",
"created_at": "2024-02-02T16:42:35.328982+00:00",
"cog_version": "0.9.2",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"required": [
"prompt"
],
"properties": {
"image": {
"type": "string",
"title": "Image",
"format": "uri",
"x-order": 0,
"description": "Input image"
},
"top_p": {
"type": "number",
"title": "Top P",
"default": 1,
"maximum": 1,
"minimum": 0,
"x-order": 2,
"description": "When decoding text, samples from the top p percentage of most likely tokens; lower to ignore less likely tokens"
},
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 1,
"description": "Prompt to use for text generation"
},
"history": {
"type": "array",
"items": {
"type": "string"
},
"title": "History",
"x-order": 5,
"description": "List of earlier chat messages, alternating roles, starting with user input. Include <image> to specify which message to attach the image to."
},
"max_tokens": {
"type": "integer",
"title": "Max Tokens",
"default": 1024,
"minimum": 0,
"x-order": 4,
"description": "Maximum number of tokens to generate. A word is generally 2-3 tokens"
},
"temperature": {
"type": "number",
"title": "Temperature",
"default": 0.2,
"minimum": 0,
"x-order": 3,
"description": "Adjusts randomness of outputs, greater than 1 is random and 0 is deterministic"
}
}
},
"Output": {
"type": "array",
"items": {
"type": "string"
},
"title": "Output",
"x-cog-array-type": "iterator",
"x-cog-array-display": "concatenate"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
}
}
}
}
}
}
@@ -0,0 +1,655 @@
{
"url": "https://replicate.com/zsxkib/realistic-voice-cloning",
"owner": "zsxkib",
"name": "realistic-voice-cloning",
"description": "Create song covers with any RVC v2 trained AI voice from audio files.",
"visibility": "public",
"github_url": "https://github.com/zsxkib/AICoverGen.git",
"paper_url": null,
"license_url": "https://github.com/SociallyIneptWeeb/AICoverGen/blob/main/LICENSE",
"run_count": 0,
"cover_image_url": "https://tjzk.replicate.delivery/models_models_featured_image/ce3d3d2c-5a06-413c-96ff-546fc96c90e2/Out_0_1024x1024.png",
"default_example": {
"id": "opfbdorbymurmp2ykemgwe23qa",
"model": "zsxkib/realistic-voice-cloning",
"version": "a0076ea13a704d9fa6d02535bc8951d3b141c84dc95d2d3f2f5016eabfcb8d94",
"status": "succeeded",
"input": {
"protect": 0.33,
"rvc_model": "Squidward",
"index_rate": 0.5,
"song_input": "https://replicate.delivery/pbxt/JsPIizFfRy54Jk5LuXdnrNdV1JHJ6oLmPPdRuIfh3lvpoNai/gangnam.mp3",
"reverb_size": 0.15,
"pitch_change": "no-change",
"rms_mix_rate": 0.25,
"filter_radius": 3,
"output_format": "mp3",
"reverb_damping": 0.7,
"reverb_dryness": 0.8,
"reverb_wetness": 0.2,
"crepe_hop_length": 128,
"pitch_change_all": 0,
"main_vocals_volume_change": 10,
"pitch_detection_algorithm": "rmvpe",
"instrumental_volume_change": 0,
"backup_vocals_volume_change": 0
},
"output": "https://replicate.delivery/pbxt/TqYjsueAmlVePUapV0rf7MCDCDBfAJxhw2aE5euzA6Gw4rCPC/tmp11cudxj_gangnam%20%28Squidward%20Ver%29.mp3",
"logs": "[~] Starting AI Cover Generation Pipeline...\n[~] Applying audio effects to Vocals...\n[~] Combining AI Vocals and Instrumentals...\n[~] Removing intermediate audio files...\n[+] Cover generated at /src/song_output/d0386572142/tmp11cudxj_gangnam (Squidward Ver).mp3",
"error": null,
"metrics": {
"predict_time": 2.811273,
"total_time": 2.832374
},
"created_at": "2023-11-14T16:52:20.000859Z",
"started_at": "2023-11-14T16:52:20.021960Z",
"completed_at": "2023-11-14T16:52:22.833233Z",
"urls": {
"get": "https://api.replicate.com/v1/predictions/opfbdorbymurmp2ykemgwe23qa",
"cancel": "https://api.replicate.com/v1/predictions/opfbdorbymurmp2ykemgwe23qa/cancel"
}
},
"latest_version": {
"id": "0a9c7c558af4c0f20667c1bd1260ce32a2879944a0b9e44e1398660c077b1550",
"created_at": "2023-11-15T16:00:55.551923+00:00",
"cog_version": "0.8.6",
"openapi_schema": {
"info": {
"title": "Cog",
"version": "0.1.0"
},
"paths": {
"/": {
"get": {
"summary": "Root",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Root Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "root__get"
}
},
"/shutdown": {
"post": {
"summary": "Start Shutdown",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Start Shutdown Shutdown Post"
}
}
},
"description": "Successful Response"
}
},
"operationId": "start_shutdown_shutdown_post"
}
},
"/predictions": {
"post": {
"summary": "Predict",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model",
"operationId": "predict_predictions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionRequest"
}
}
}
}
}
},
"/health-check": {
"get": {
"summary": "Healthcheck",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Healthcheck Health Check Get"
}
}
},
"description": "Successful Response"
}
},
"operationId": "healthcheck_health_check_get"
}
},
"/predictions/{prediction_id}": {
"put": {
"summary": "Predict Idempotent",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
},
{
"in": "header",
"name": "prefer",
"schema": {
"type": "string",
"title": "Prefer"
},
"required": false
}
],
"description": "Run a single prediction on the model (idempotent creation).",
"operationId": "predict_idempotent_predictions__prediction_id__put",
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PredictionRequest"
}
],
"title": "Prediction Request"
}
}
},
"required": true
}
}
},
"/predictions/{prediction_id}/cancel": {
"post": {
"summary": "Cancel",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"title": "Response Cancel Predictions Prediction Id Cancel Post"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"parameters": [
{
"in": "path",
"name": "prediction_id",
"schema": {
"type": "string",
"title": "Prediction ID"
},
"required": true
}
],
"description": "Cancel a running prediction",
"operationId": "cancel_predictions__prediction_id__cancel_post"
}
}
},
"openapi": "3.0.2",
"components": {
"schemas": {
"Input": {
"type": "object",
"title": "Input",
"properties": {
"protect": {
"type": "number",
"title": "Protect",
"default": 0.33,
"maximum": 0.5,
"minimum": 0,
"x-order": 9,
"description": "Control how much of the original vocals' breath and voiceless consonants to leave in the AI vocals. Set 0.5 to disable."
},
"rvc_model": {
"allOf": [
{
"$ref": "#/components/schemas/rvc_model"
}
],
"default": "Squidward",
"x-order": 1,
"description": "RVC model for a specific voice. If using a custom model, this should match the name of the downloaded model. If a 'custom_rvc_model_download_url' is provided, this will be automatically set to the name of the downloaded model."
},
"index_rate": {
"type": "number",
"title": "Index Rate",
"default": 0.5,
"maximum": 1,
"minimum": 0,
"x-order": 4,
"description": "Control how much of the AI's accent to leave in the vocals."
},
"song_input": {
"type": "string",
"title": "Song Input",
"format": "uri",
"x-order": 0,
"description": "Upload your audio file here."
},
"reverb_size": {
"type": "number",
"title": "Reverb Size",
"default": 0.15,
"maximum": 1,
"minimum": 0,
"x-order": 14,
"description": "The larger the room, the longer the reverb time."
},
"pitch_change": {
"allOf": [
{
"$ref": "#/components/schemas/pitch_change"
}
],
"default": "no-change",
"x-order": 3,
"description": "Adjust pitch of AI vocals. Options: `no-change`, `male-to-female`, `female-to-male`."
},
"rms_mix_rate": {
"type": "number",
"title": "Rms Mix Rate",
"default": 0.25,
"maximum": 1,
"minimum": 0,
"x-order": 6,
"description": "Control how much to use the original vocal's loudness (0) or a fixed loudness (1)."
},
"filter_radius": {
"type": "integer",
"title": "Filter Radius",
"default": 3,
"maximum": 7,
"minimum": 0,
"x-order": 5,
"description": "If >=3: apply median filtering median filtering to the harvested pitch results."
},
"output_format": {
"allOf": [
{
"$ref": "#/components/schemas/output_format"
}
],
"default": "mp3",
"x-order": 18,
"description": "wav for best quality and large file size, mp3 for decent quality and small file size."
},
"reverb_damping": {
"type": "number",
"title": "Reverb Damping",
"default": 0.7,
"maximum": 1,
"minimum": 0,
"x-order": 17,
"description": "Absorption of high frequencies in the reverb."
},
"reverb_dryness": {
"type": "number",
"title": "Reverb Dryness",
"default": 0.8,
"maximum": 1,
"minimum": 0,
"x-order": 16,
"description": "Level of AI vocals without reverb."
},
"reverb_wetness": {
"type": "number",
"title": "Reverb Wetness",
"default": 0.2,
"maximum": 1,
"minimum": 0,
"x-order": 15,
"description": "Level of AI vocals with reverb."
},
"crepe_hop_length": {
"type": "integer",
"title": "Crepe Hop Length",
"default": 128,
"x-order": 8,
"description": "When `pitch_detection_algo` is set to `mangio-crepe`, this controls how often it checks for pitch changes in milliseconds. Lower values lead to longer conversions and higher risk of voice cracks, but better pitch accuracy."
},
"pitch_change_all": {
"type": "number",
"title": "Pitch Change All",
"default": 0,
"x-order": 13,
"description": "Change pitch/key of background music, backup vocals and AI vocals in semitones. Reduces sound quality slightly."
},
"main_vocals_volume_change": {
"type": "number",
"title": "Main Vocals Volume Change",
"default": 0,
"x-order": 10,
"description": "Control volume of main AI vocals. Use -3 to decrease the volume by 3 decibels, or 3 to increase the volume by 3 decibels."
},
"pitch_detection_algorithm": {
"allOf": [
{
"$ref": "#/components/schemas/pitch_detection_algorithm"
}
],
"default": "rmvpe",
"x-order": 7,
"description": "Best option is rmvpe (clarity in vocals), then mangio-crepe (smoother vocals)."
},
"instrumental_volume_change": {
"type": "number",
"title": "Instrumental Volume Change",
"default": 0,
"x-order": 12,
"description": "Control volume of the background music/instrumentals."
},
"backup_vocals_volume_change": {
"type": "number",
"title": "Backup Vocals Volume Change",
"default": 0,
"x-order": 11,
"description": "Control volume of backup AI vocals."
},
"custom_rvc_model_download_url": {
"type": "string",
"title": "Custom Rvc Model Download Url",
"x-order": 2,
"description": "URL to download a custom RVC model. If provided, the model will be downloaded (if it doesn't already exist) and used for prediction, regardless of the 'rvc_model' value."
}
}
},
"Output": {
"type": "string",
"title": "Output",
"format": "uri"
},
"Status": {
"enum": [
"starting",
"processing",
"succeeded",
"canceled",
"failed"
],
"type": "string",
"title": "Status",
"description": "An enumeration."
},
"rvc_model": {
"enum": [
"Squidward",
"MrKrabs",
"Plankton",
"Drake",
"Vader",
"Trump",
"Biden",
"Obama",
"Guitar",
"Voilin",
"CUSTOM"
],
"type": "string",
"title": "rvc_model",
"description": "An enumeration."
},
"WebhookEvent": {
"enum": [
"start",
"output",
"logs",
"completed"
],
"type": "string",
"title": "WebhookEvent",
"description": "An enumeration."
},
"pitch_change": {
"enum": [
"no-change",
"male-to-female",
"female-to-male"
],
"type": "string",
"title": "pitch_change",
"description": "An enumeration."
},
"output_format": {
"enum": [
"mp3",
"wav"
],
"type": "string",
"title": "output_format",
"description": "An enumeration."
},
"ValidationError": {
"type": "object",
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
}
},
"PredictionRequest": {
"type": "object",
"title": "PredictionRequest",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"webhook": {
"type": "string",
"title": "Webhook",
"format": "uri",
"maxLength": 65536,
"minLength": 1
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"output_file_prefix": {
"type": "string",
"title": "Output File Prefix"
},
"webhook_events_filter": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"default": [
"start",
"output",
"logs",
"completed"
]
}
}
},
"PredictionResponse": {
"type": "object",
"title": "PredictionResponse",
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error": {
"type": "string",
"title": "Error"
},
"input": {
"$ref": "#/components/schemas/Input"
},
"output": {
"$ref": "#/components/schemas/Output"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"metrics": {
"type": "object",
"title": "Metrics"
},
"version": {
"type": "string",
"title": "Version"
},
"created_at": {
"type": "string",
"title": "Created At",
"format": "date-time"
},
"started_at": {
"type": "string",
"title": "Started At",
"format": "date-time"
},
"completed_at": {
"type": "string",
"title": "Completed At",
"format": "date-time"
}
}
},
"HTTPValidationError": {
"type": "object",
"title": "HTTPValidationError",
"properties": {
"detail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail"
}
}
},
"pitch_detection_algorithm": {
"enum": [
"rmvpe",
"mangio-crepe"
],
"type": "string",
"title": "pitch_detection_algorithm",
"description": "An enumeration."
}
}
}
}
}
}
@@ -0,0 +1,45 @@
{
"models": [
"andreasjansson/blip-2",
"batouresearch/high-resolution-controlnet-tile",
"batouresearch/magic-image-refiner",
"batouresearch/magic-style-transfer",
"bytedance/sdxl-lightning-4step",
"cjwbw/hyper-sdxl-1step-t2i",
"cjwbw/supir",
"cuuupid/glm-4v-9b",
"cuuupid/idm-vton",
"declare-lab/tango",
"falcons-ai/nsfw_image_detection",
"fofr/consistent-character",
"fofr/face-to-many",
"fofr/latent-consistency-model",
"fofr/style-transfer",
"jingyunliang/swinir",
"lucataco/hunyuandit-v1.1",
"lucataco/llama-3-vision-alpha",
"lucataco/pasd-magnify",
"lucataco/xtts-v2",
"meta/meta-llama-3.1-405b-instruct",
"meta/llama-2-70b-chat",
"meta/llama-2-7b-chat",
"meta/musicgen",
"okaris/omni-zero-couples",
"okaris/omni-zero",
"pharmapsychotic/clip-interrogator",
"salesforce/blip",
"smoretalk/rembg-enhance",
"stability-ai/sdxl",
"stability-ai/stable-diffusion",
"stability-ai/stable-diffusion-3",
"suno-ai/bark",
"tstramer/material-diffusion",
"xiankgx/face-swap",
"tencentarc/photomaker",
"tencentarc/photomaker-style",
"yorickvp/llava-13b",
"yorickvp/llava-v1.6-34b",
"yorickvp/llava-v1.6-mistral-7b",
"zsxkib/realistic-voice-cloning"
]
}
+32 -6
View File
@@ -4,7 +4,7 @@ import logging
from .types import STRING
from .api_key_manager import save_api_key
# Set up logging
# 设置日志
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
@@ -19,10 +19,20 @@ from .nodes_omost import (
from .nodes_json import FlowyPreviewJSON, FlowyExtractJSON, ComflowyLoadJSON
from .nodes_http import FlowyHttpRequest
from .nodes_llm import FlowyLLM
from .nodes_clarityupscale import FlowyClarityUpscale
from .nodes_flux import FlowyFlux
from .nodes_ideogram import FlowyIdeogram
from .api_nodes import (
FlowyClarityUpscale,
FlowyFlux,
FlowyFluxProUltra,
FlowyFluxDevLora,
FlowyHailuo,
FlowyIdeogram,
FlowyKling,
FlowyLuma,
FlowyRecraft,
REPLICATE_NODE_CLASS_MAPPINGS,
)
from .nodes_previewvideo import PreviewVideo
API_KEY_FILE = os.path.join(os.path.dirname(__file__), "api_key.json")
@@ -70,11 +80,20 @@ NODE_CLASS_MAPPINGS = {
"Comflowy_Omost_Load_Canvas_Python_Code": ComflowyOmostLoadCanvasPythonCodeNode,
"Comflowy_Omost_Load_Canvas_Conditioning": ComflowyOmostLoadCanvasConditioningNode,
"Comflowy_Set_API_Key": ComflowySetAPIKey,
"Comflowy_Upscale": FlowyClarityUpscale,
"Comflowy_Clarity_Upscale": FlowyClarityUpscale,
"Comflowy_Ideogram": FlowyIdeogram,
"Comflowy_Flux": FlowyFlux,
"Comflowy_Recraft": FlowyRecraft,
"Comflowy_Hailuo": FlowyHailuo,
"Comflowy_Preview_Video": PreviewVideo,
"Comflowy_Luma": FlowyLuma,
"Comflowy_Kling": FlowyKling,
"Comflowy_Flux_Pro_Ultra": FlowyFluxProUltra,
"Comflowy_Flux_Dev_Lora": FlowyFluxDevLora,
**REPLICATE_NODE_CLASS_MAPPINGS
}
NODE_DISPLAY_NAME_MAPPINGS = {
"Comflowy_Http_Request": "Comflowy Http Request",
"Comflowy_LLM": "Comflowy LLM",
@@ -87,7 +106,14 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"Comflowy_Omost_Load_Canvas_Python_Code": "Comflowy Omost Load Canvas Python Code",
"Comflowy_Omost_Load_Canvas_Conditioning": "Comflowy Omost Load Canvas Conditioning",
"Comflowy_Set_API_Key": "Comflowy Set API Key",
"Comflowy_Upscale": "Comflowy Upscale",
"Comflowy_Clarity_Upscale": "Comflowy Clarity Upscale",
"Comflowy_Ideogram": "Comflowy Ideogram",
"Comflowy_Flux": "Comflowy Flux",
"Comflowy_Recraft": "Comflowy Recraft",
"Comflowy_Hailuo": "Comflowy Hailuo",
"Comflowy_Preview_Video": "Comflowy Preview Video",
"Comflowy_Luma": "Comflowy Luma",
"Comflowy_Kling": "Comflowy Kling",
"Comflowy_Flux_Pro_Ultra": "Comflowy Flux Pro Ultra",
"Comflowy_Flux_Dev_Lora": "Comflowy Flux Dev Lora",
}
-185
View File
@@ -1,185 +0,0 @@
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
from .types import STRING, INT, API_HOST
from .utils import logger, get_nested_value
from .api_key_manager import load_api_key
logger = logging.getLogger(__name__)
class FlowyClarityUpscale:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"image": ("IMAGE",),
"scale_factor": ([2, 4, 6, 8], {"default": 2}),
"dynamic": ("FLOAT", {"default": 6.0, "min": 1.0, "max": 50.0, "step": 0.1}),
"creativity": ("FLOAT", {"default": 0.35, "min": 0.0, "max": 1.0, "step": 0.01}),
"resemblance": ("FLOAT", {"default": 0.6, "min": 0.0, "max": 3.0, "step": 0.01}),
"tiling_width": ([16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256], {"default": 112}),
"tiling_height": ([16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256], {"default": 144}),
"num_inference_steps": ("INT", {"default": 18, "min": 1, "max": 100}),
"seed": ("INT", {"default": 1337, "min": 0, "max": 2147483647}),
"handfix": (["disabled", "hands_only", "image_and_hands"], {"default": "disabled"}),
"pattern": ("BOOLEAN", {"default": False}),
"sharpen": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 10.0, "step": 0.1}),
"downscaling": ("BOOLEAN", {"default": False}),
"downscaling_resolution": ("INT", {"default": 768, "min": 256, "max": 2048}),
"sd_model": (["epicrealism_naturalSinRC1VAE.safetensors [84d76a0328]",
"juggernaut_reborn.safetensors [338b85bc4f]",
"flat2DAnimerge_v45Sharp.safetensors"], {"default": "juggernaut_reborn.safetensors [338b85bc4f]"}),
"scheduler": (["DPM++ 2M Karras", "DPM++ SDE Karras", "DPM++ 2M SDE Exponential",
"DPM++ 2M SDE Karras", "Euler a", "Euler", "LMS", "Heun", "DPM2",
"DPM2 a", "DPM++ 2S a", "DPM++ 2M", "DPM++ SDE", "DPM++ 2M SDE",
"DPM++ 2M SDE Heun", "DPM++ 2M SDE Heun Karras",
"DPM++ 2M SDE Heun Exponential", "DPM++ 3M SDE",
"DPM++ 3M SDE Karras", "DPM++ 3M SDE Exponential",
"DPM fast", "DPM adaptive", "LMS Karras", "DPM2 Karras",
"DPM2 a Karras", "DPM++ 2S a Karras", "Restart", "DDIM",
"PLMS", "UniPC"], {"default": "DPM++ 3M SDE Karras"}),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "upscale"
CATEGORY = "Comflowy"
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to upscale images using AI models.
- How to use:
- Provide an image to upscale.
- Choose the scale factor and the upscaling model.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the upscaled image.
"""
def upscale(self, image, scale_factor, dynamic, creativity, resemblance, tiling_width, tiling_height, num_inference_steps, seed,handfix=None, pattern=False, sharpen=0, downscaling=False,downscaling_resolution=768, sd_model=None, scheduler=None):
api_key = load_api_key()
if not api_key:
error_msg = "API Key is not set. Please use the 'Comflowy Set API Key' node to set a global API Key before using this node."
logger.error(error_msg)
raise ValueError(error_msg)
logger.info(f"Starting image upscale request. scale_factor: {scale_factor}")
# Process input image
if isinstance(image, torch.Tensor):
if image.dim() == 4:
image = image.squeeze(0) # Remove batch dimension
if image.shape[-1] == 3:
image = (image.cpu().numpy() * 255).astype(np.uint8)
elif image.shape[0] == 3:
image = (image.permute(1, 2, 0).cpu().numpy() * 255).astype(np.uint8)
else:
raise ValueError(f"Unsupported image shape: {image.shape}")
elif isinstance(image, np.ndarray):
if image.ndim == 2:
image = np.stack([image] * 3, axis=-1)
elif image.shape[-1] == 1:
image = np.repeat(image, 3, axis=-1)
elif image.shape[-1] != 3:
raise ValueError(f"Unsupported number of channels: {image.shape[-1]}")
image = (image * 255).astype(np.uint8)
else:
raise ValueError(f"Unsupported image type: {type(image)}")
# Convert input image to JPEG format and compress
buffered = io.BytesIO()
Image.fromarray(image).save(buffered, format="JPEG", quality=85)
img_str = base64.b64encode(buffered.getvalue()).decode()
try:
# Build URL for API request using API_HOST
response = requests.post(
f"{API_HOST}/api/open/v0/flowy",
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
json={
"image": f"data:image/jpeg;base64,{img_str}",
"scale_factor": scale_factor,
"dynamic": dynamic,
"creativity": creativity,
"resemblance": resemblance,
"tiling_width": tiling_width,
"tiling_height": tiling_height,
"num_inference_steps": num_inference_steps,
"seed": seed,
"handfix": handfix,
"pattern": pattern,
"sharpen": sharpen,
"downscaling": downscaling,
"downscaling_resolution": downscaling_resolution,
"sd_model": sd_model,
"scheduler": scheduler,
"model_type": "clarityupscaler",
}
)
response.raise_for_status()
result = response.json()
logger.info(f"API request completed. Status code: {response.status_code}")
logger.debug(f"API response content: {json.dumps(result, indent=2)}")
if not result.get('success'):
logger.error(f"API request failed. Response content: {json.dumps(result, indent=2)}")
raise Exception(f"API request failed. Response content: {json.dumps(result, indent=2)}")
output_url = result.get('data', {}).get('output')
if not output_url or not isinstance(output_url, str):
logger.error(f"Complete API response: {json.dumps(result, indent=2)}")
raise Exception(f"Unable to get valid output image URL. API response doesn't have expected data structure. Complete response: {json.dumps(result, indent=2)}")
logger.info(f"Received output URL: {output_url}")
# Verify if URL is accessible
try:
url_check = requests.head(output_url)
url_check.raise_for_status()
except requests.RequestException as e:
logger.error(f"Cannot access output URL: {str(e)}")
raise Exception(f"Cannot access output URL: {str(e)}")
# Add delay to wait for Replicate processing
time.sleep(10)
img_response = requests.get(output_url, stream=True)
img_response.raise_for_status()
# Convert image data to PIL Image
img = Image.open(img_response.raw)
# Convert to numpy array
img_np = np.array(img)
# Ensure image has 3 RGB channels
if len(img_np.shape) == 2: # Grayscale image
img_np = np.stack([img_np] * 3, axis=-1)
elif img_np.shape[-1] == 4: # RGBA image
img_np = img_np[:, :, :3]
# Convert to float32 and normalize to 0-1 range
img_np = img_np.astype(np.float32) / 255.0
# Convert to torch tensor, ensure shape is [B,H,W,C]
img_tensor = torch.from_numpy(img_np).unsqueeze(0) # Add batch dimension
logger.info(f"Image processing completed. Output tensor shape: {img_tensor.shape}")
logger.info(f"API request completed. Status code: {response.status_code}")
logger.debug(f"API response content: {response.text}")
return (img_tensor,)
except Exception as e:
error_msg = f"Error during upscaling: {str(e)}"
logger.error(error_msg)
logger.exception("Detailed error information:")
# Return an error marker image, ensure shape is [B,H,W,C]
error_image = torch.zeros((1, 100, 400, 3), dtype=torch.float32)
return (error_image,)
-146
View File
@@ -1,146 +0,0 @@
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
from .types import STRING, INT, SAFETY_TOLERANCE, BOOLEAN, get_api_host
from .api_key_manager import load_api_key
logger = logging.getLogger(__name__)
class FlowyFlux:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"version": (["flux-1.1-pro", "flux-pro"],),
"aspect_ratio": ([
"custom",
"1:1",
"16:9",
"2:3",
"3:2",
"4:5",
"5:4",
"9:16",
"3:4",
"4:3"
],),
"height": ("INT", {"default": 256, "min": 256, "max": 1440}),
"width": ("INT", {"default": 256, "min": 256, "max": 1440}),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
"prompt_upsampling": BOOLEAN,
"safety_tolerance": (SAFETY_TOLERANCE,),
"output_quality": ("INT", {"default": 80, "min": 1, "max": 100}),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "generate"
CATEGORY = "Comflowy"
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate images using Flux AI.
- How to use:
- Provide a prompt to generate an image.
- Choose version, aspect ratio, height, width, and seed.
- Height and width are only used when aspect_ratio=custom. Must be a multiple of 32 (if it's not, it will be rounded to nearest multiple of 32).
- Prompt Upsampling: Automatically modify the prompt for more creative generation.
- Safety tolerance, 1 is most strict and 5 is most permissive.
- Quality when saving the output images, from 0 to 100. 100 is best quality, 0 is lowest quality. Not relevant for .png outputs.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated image.
"""
def generate(self, prompt, version, aspect_ratio, height, width, seed, prompt_upsampling, safety_tolerance, output_quality):
api_key = load_api_key()
API_HOST = get_api_host()
if not api_key:
error_msg = "API Key is not set. Please use the 'Comflowy Set API Key' node to set a global API Key before using this node."
logger.error(error_msg)
raise ValueError(error_msg)
logger.info(f"Starting Flux image generation request. prompt: {prompt}, version: {version}, aspect_ratio: {aspect_ratio}, height: {height}, width: {width}, seed: {seed}, prompt_upsampling: {prompt_upsampling}, safety_tolerance: {safety_tolerance}, output_quality: {output_quality}")
try:
response = requests.post(
f"{API_HOST}/api/open/v0/flowy",
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
json={
"prompt": prompt,
"version": version,
"aspect_ratio": aspect_ratio,
"height": height,
"width": width,
"seed": seed,
"prompt_upsampling": prompt_upsampling,
"safety_tolerance": safety_tolerance,
"output_quality": output_quality,
"model_type": "flux",
}
)
response.raise_for_status()
result = response.json()
logger.info(f"API request completed. Status code: {response.status_code}")
logger.debug(f"API response content: {json.dumps(result, indent=2)}")
if not result.get('success'):
logger.error(f"API request failed. Response content: {json.dumps(result, indent=2)}")
raise Exception(f"API request failed. Response content: {json.dumps(result, indent=2)}")
output_url = result.get('data', {}).get('output')
if not output_url or not isinstance(output_url, str):
logger.error(f"Complete API response: {json.dumps(result, indent=2)}")
raise Exception(f"Unable to get valid output image URL. API response doesn't have expected data structure. Complete response: {json.dumps(result, indent=2)}")
logger.info(f"Obtained output URL: {output_url}")
# Verify if URL is accessible
try:
url_check = requests.head(output_url)
url_check.raise_for_status()
except requests.RequestException as e:
logger.error(f"Unable to access output URL: {str(e)}")
raise Exception(f"Unable to access output URL: {str(e)}")
# Add delay to wait for Replicate processing
time.sleep(10)
img_response = requests.get(output_url, stream=True)
img_response.raise_for_status()
# Convert image data to PIL Image
img = Image.open(img_response.raw)
# Convert to numpy array
img_np = np.array(img)
# Ensure image has 3 RGB channels
if len(img_np.shape) == 2: # Grayscale image
img_np = np.stack([img_np] * 3, axis=-1)
elif img_np.shape[-1] == 4: # RGBA image
img_np = img_np[:, :, :3]
# Convert to float32 and normalize to 0-1 range
img_np = img_np.astype(np.float32) / 255.0
# Convert to torch tensor, ensure shape is [B,H,W,C]
img_tensor = torch.from_numpy(img_np).unsqueeze(0) # Add batch dimension
logger.info(f"Image processing completed. Output tensor shape: {img_tensor.shape}")
return (img_tensor,)
except Exception as e:
error_msg = f"Error during image generation: {str(e)}"
logger.error(error_msg)
logger.exception("Detailed error information:")
# Return an error marker image, ensure shape is [B,H,W,C]
error_image = torch.zeros((1, 100, 400, 3), dtype=torch.float32)
return (error_image,)
-129
View File
@@ -1,129 +0,0 @@
import time
import requests
import base64
import io
from PIL import Image
import torch
import numpy as np
import logging
import json
from .types import STRING, INT, API_HOST
from .utils import logger, get_nested_value
from .api_key_manager import load_api_key
logger = logging.getLogger(__name__)
class FlowyIdeogram:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"prompt": ("STRING", {"multiline": True}),
"negative_prompt": ("STRING", {"multiline": True}),
"version": (["ideogram-v2-turbo", "ideogram-v2"],),
"resolution": (["None", "512x1536", "576x1408", "576x1472", "576x1536", "640x1024", "640x1344", "640x1408", "640x1472", "640x1536", "704x1152", "704x1216", "704x1280", "704x1344", "704x1408", "704x1472", "720x1280", "736x1312", "768x1024", "768x1088", "768x1152", "768x1216", "768x1232", "768x1280", "768x1344", "832x960", "832x1024", "832x1088", "832x1152", "832x1216", "832x1248", "864x1152", "896x960", "896x1024", "896x1088", "896x1120", "896x1152", "960x832", "960x896", "960x1024", "960x1088", "1024x640", "1024x768", "1024x832", "1024x896", "1024x960", "1024x1024", "1088x768", "1088x832", "1088x896", "1088x960", "1120x896", "1152x704", "1152x768", "1152x832", "1152x864", "1152x896", "1216x704", "1216x768", "1216x832", "1232x768", "1248x832", "1280x704", "1280x720", "1280x768", "1280x800", "1312x736", "1344x640", "1344x704", "1344x768", "1408x576", "1408x640", "1408x704", "1472x576", "1472x640", "1472x704", "1536x512", "1536x576", "1536x640"],),
"style_type": (["None", "Auto", "Realistic", "Design", "Anime", "Render 3D"],),
"aspect_ratio": (["1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3", "16:10", "10:16", "3:1", "1:3"],),
"magic_prompt_option": (["On", "Off"],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2147483647}),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "generate_image_with_ideogram"
CATEGORY = "Comflowy"
DESCRIPTION = """
Nodes from https://comflowy.com:
- Description: A service to generate images using Ideogram AI.
- How to use:
- Provide a prompt to generate an image.
- Choose resolution, style type, aspect ratio, and magic prompt option.
- Resolution overrides aspect ratio.
- Magic Prompt will interpret your prompt and optimize it to maximize variety and quality of the images generated. You can also use it to write prompts in different languages.
- Make sure to set your API Key using the 'Comflowy Set API Key' node before using this node.
- Output: Returns the generated image.
"""
def generate_image_with_ideogram(self, prompt, negative_prompt, version, resolution, style_type, aspect_ratio, magic_prompt_option, seed):
api_key = load_api_key()
if not api_key:
error_msg = "API Key is not set. Please use the 'Comflowy Set API Key' node to set a global API Key before using this node."
logger.error(error_msg)
raise ValueError(error_msg)
logger.info(f"Starting Ideogram image generation request. prompt: {prompt}, negative_prompt: {negative_prompt}, resolution: {resolution}, style_type: {style_type}, aspect_ratio: {aspect_ratio}, magic_prompt_option: {magic_prompt_option}, seed: {seed}")
try:
response = requests.post(
f"{API_HOST}/api/open/v0/flowy",
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
json={
"prompt": prompt,
"negative_prompt": negative_prompt,
"version": version,
"resolution": resolution if resolution != "None" else None,
"style_type": style_type if style_type != "None" else None,
"aspect_ratio": aspect_ratio,
"magic_prompt_option": magic_prompt_option,
"seed": seed,
"model_type": "ideogram",
}
)
response.raise_for_status()
result = response.json()
logger.info(f"API request completed. Status code: {response.status_code}")
logger.debug(f"API response content: {json.dumps(result, indent=2)}")
if not result.get('success'):
logger.error(f"API request failed. Response content: {json.dumps(result, indent=2)}")
raise Exception(f"API request failed. Response content: {json.dumps(result, indent=2)}")
output_url = result.get('data', {}).get('output')
if not output_url or not isinstance(output_url, str):
logger.error(f"Complete API response: {json.dumps(result, indent=2)}")
raise Exception(f"Unable to get valid output image URL. API response doesn't have expected data structure. Complete response: {json.dumps(result, indent=2)}")
logger.info(f"Received output URL: {output_url}")
# Verify if URL is accessible
try:
url_check = requests.head(output_url)
url_check.raise_for_status()
except requests.RequestException as e:
logger.error(f"Cannot access output URL: {str(e)}")
raise Exception(f"Cannot access output URL: {str(e)}")
# Add delay to wait for Replicate processing
time.sleep(10)
img_response = requests.get(output_url, stream=True)
img_response.raise_for_status()
# Convert to numpy array
img_np = np.array(img)
# Ensure image has 3 RGB channels
if len(img_np.shape) == 2: # Grayscale image
img_np = np.stack([img_np] * 3, axis=-1)
elif img_np.shape[-1] == 4: # RGBA image
img_np = img_np[:, :, :3]
# Convert to float32 and normalize to 0-1 range
img_np = img_np.astype(np.float32) / 255.0
# Convert to torch tensor, ensure shape is [B,H,W,C]
img_tensor = torch.from_numpy(img_np).unsqueeze(0) # Add batch dimension
logger.info(f"Image processing completed. Output tensor shape: {img_tensor.shape}")
return (img_tensor,)
except Exception as e:
error_msg = f"Error during image generation: {str(e)}"
logger.error(error_msg)
logger.exception("Detailed error information:")
# Return an error marker image, ensure shape is [B,H,W,C]
error_image = torch.zeros((1, 100, 400, 3), dtype=torch.float32)
return (error_image,)
+47
View File
@@ -0,0 +1,47 @@
import os
import logging
# 设置日志记录器
logger = logging.getLogger(__name__)
class PreviewVideo:
@classmethod
def INPUT_TYPES(s):
return {"required": {
"video": ("VIDEO",),
}}
CATEGORY = "Comflowy"
DESCRIPTION = "Preview Video Node"
RETURN_TYPES = ()
OUTPUT_NODE = True
FUNCTION = "load_video"
def load_video(self, video):
logger.info(f"PreviewVideo.load_video called with video: {video}")
logger.info(f"Video type: {type(video)}")
# 确保视频路径是有效的字符串
if not video or not isinstance(video, str):
logger.error(f'Invalid video path or type: {video}')
return {"ui": {"video": ["error.mp4", "output"]}}
# 检查文件是否存在
if not os.path.exists(video):
logger.error(f'Video file does not exist at path: {video}')
return {"ui": {"video": ["error.mp4", "output"]}}
# 获取完整的视频文件名和目录
video_filename = os.path.basename(video)
video_dir = os.path.dirname(video)
logger.info(f'Video filename: {video_filename}')
logger.info(f'Video directory: {video_dir}')
logger.info(f'Full video path: {video}')
logger.info(f'File exists: {os.path.exists(video)}')
logger.info(f'File size: {os.path.getsize(video)} bytes')
result = {"ui": {"video": [video, video_dir]}}
logger.info(f'Returning result: {result}')
return result
+51 -24
View File
@@ -2,35 +2,59 @@ import json
import sys
import os
API_HOST = "https://app.comflowy.com"
API_HOST = "https://app.comflowy.com"
# API_HOST = "http://127.0.0.1:3000"
PPT_TOKEN = ""
RUN_ID = ""
ENV = "pro"
# ENV = "preview"
custom_node_api_config_inited = False
def _read_config():
try:
# 首先尝试从线程上下文获取
thread_context_module = sys.modules.get("flowy_execute_thread_context")
if thread_context_module and hasattr(thread_context_module, "get_run_context"):
options = thread_context_module.get_run_context("options")
if options:
print("get_run_context", options.get("custom_node_api_config", {}))
return options.get("custom_node_api_config", {})
except Exception as e:
print(f"Error getting context from thread: {e}")
def init_custom_node_api_config_from_file():
global API_HOST, PPT_TOKEN, RUN_ID, custom_node_api_config_inited
config_path = "/comfyui/custom_node_api_config.json"
if os.path.exists(config_path):
try:
# 回退到文件读取
try:
config_path = "/comfyui/custom_node_api_config.json"
if os.path.exists(config_path):
with open(config_path, "r") as f:
config = json.load(f)
API_HOST = config.get("domain", API_HOST)
PPT_TOKEN = config.get("ppt_token", PPT_TOKEN)
RUN_ID = config.get("run_id", RUN_ID)
custom_node_api_config_inited = True
print(f"Custom node API config initialized: API_HOST={API_HOST}, PPT_TOKEN={PPT_TOKEN}, RUN_ID={RUN_ID}")
except Exception as e:
print(f"Error reading custom node api config: {e}")
else:
print("Custom node API config file not found. Using default values.")
ret = json.load(f)
print("read_config", ret)
return ret
except Exception as e:
print(f"Error reading custom node api config file: {e}")
# 如果都失败了,返回空字典
return {}
init_custom_node_api_config_from_file()
def get_api_host():
if not custom_node_api_config_inited:
init_custom_node_api_config_from_file()
return API_HOST
config = _read_config()
return config.get("domain", API_HOST)
def get_modal_cloud_web_url():
config = _read_config()
env = config.get("env", ENV)
if env == "dev":
return "https://comflowy--cloud-web-dev.modal.run"
else:
return "https://comflowy--comflowyspacecloud-web-main.modal.run"
def get_ppt_token():
config = _read_config()
return config.get("ppt_token", PPT_TOKEN)
def get_run_id():
config = _read_config()
return config.get("run_id", RUN_ID)
FLOAT = (
"FLOAT",
@@ -68,7 +92,11 @@ LLM_MODELS = [
"internlm/internlm2_5-7b-chat"
]
SAFETY_TOLERANCE = ["1", "2", "3", "4", "5"]
SAFETY_TOLERANCE = ["1", "2", "3", "4", "5", "6"]
NUM_IMAGES = ["1", "2", "3", "4"]
OUTPUT_FORMAT = ["jpeg", "png"]
class AnyType(str):
"""A special class that is always equal in not equal comparisons. Credit to pythongosssss"""
@@ -80,4 +108,3 @@ class AnyType(str):
return False
any = AnyType("*")
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

+208
View File
@@ -0,0 +1,208 @@
import { app } from "../../../scripts/app.js";
import { api } from '../../../scripts/api.js'
function fitHeight(node) {
node.setSize([node.size[0], node.computeSize([node.size[0], node.size[1]])[1]])
node?.graph?.setDirtyCanvas(true);
}
function chainCallback(object, property, callback) {
if (object == undefined) {
//This should not happen.
console.error("Tried to add callback to non-existant object")
return;
}
if (property in object) {
const callback_orig = object[property]
object[property] = function () {
const r = callback_orig.apply(this, arguments);
callback.apply(this, arguments);
return r
};
} else {
object[property] = callback;
}
}
function addPreviewOptions(nodeType) {
chainCallback(nodeType.prototype, "getExtraMenuOptions", function (_, options) {
// The intended way of appending options is returning a list of extra options,
// but this isn't used in widgetInputs.js and would require
// less generalization of chainCallback
let optNew = []
try {
const previewWidget = this.widgets.find((w) => w.name === "videopreview");
let url = null
if (previewWidget.videoEl?.hidden == false && previewWidget.videoEl.src) {
//Use full quality video
//url = api.apiURL('/view?' + new URLSearchParams(previewWidget.value.params));
url = previewWidget.videoEl.src
}
if (url) {
optNew.push(
{
content: "Open preview",
callback: () => {
window.open(url, "_blank")
},
},
{
content: "Save preview",
callback: () => {
const a = document.createElement("a");
a.href = url;
a.setAttribute("download", new URLSearchParams(previewWidget.value.params).get("filename"));
document.body.append(a);
a.click();
requestAnimationFrame(() => a.remove());
},
}
);
}
if (options.length > 0 && options[0] != null && optNew.length > 0) {
optNew.push(null);
}
options.unshift(...optNew);
} catch (error) {
console.log(error);
}
});
}
function previewVideo(node, file, type) {
console.log("========== Preview Video Debug Info ==========");
console.log("Preview Video params:", { file, type });
console.log("Node:", node);
var element = document.createElement("div");
console.log("Created element:", element);
const previewNode = node;
var previewWidget = node.addDOMWidget("videopreview", "preview", element, {
serialize: false,
hideOnZoom: false,
getValue() {
return element.value;
},
setValue(v) {
element.value = v;
},
});
console.log("Created preview widget:", previewWidget);
previewWidget.computeSize = function (width) {
if (this.aspectRatio && !this.parentEl.hidden) {
let height = (previewNode.size[0] - 20) / this.aspectRatio + 10;
if (!(height > 0)) {
height = 0;
}
this.computedHeight = height + 10;
return [width, height];
}
return [width, -4];//no loaded src, widget should not display
}
// element.style['pointer-events'] = "none"
previewWidget.value = { hidden: false, paused: false, params: {} }
previewWidget.parentEl = document.createElement("div");
previewWidget.parentEl.className = "video_preview";
previewWidget.parentEl.style['width'] = "100%"
element.appendChild(previewWidget.parentEl);
previewWidget.videoEl = document.createElement("video");
previewWidget.videoEl.controls = true;
previewWidget.videoEl.loop = false;
previewWidget.videoEl.muted = false;
previewWidget.videoEl.style['width'] = "100%"
previewWidget.videoEl.addEventListener("loadedmetadata", () => {
previewWidget.aspectRatio = previewWidget.videoEl.videoWidth / previewWidget.videoEl.videoHeight;
fitHeight(previewNode);
});
previewWidget.videoEl.addEventListener("error", () => {
//TODO: consider a way to properly notify the user why a preview isn't shown.
previewWidget.parentEl.hidden = true;
fitHeight(previewNode);
});
let params = {
"filename": file,
"type": type,
}
console.log("Preview Video URL params:", params);
console.log("File path check:", {
exists: file ? "yes" : "no",
filePath: file,
type: type
});
previewWidget.parentEl.hidden = previewWidget.value.hidden;
console.log("Parent element hidden state:", previewWidget.parentEl.hidden);
previewWidget.videoEl.autoplay = !previewWidget.value.paused && !previewWidget.value.hidden;
console.log("Video autoplay state:", previewWidget.videoEl.autoplay);
let target_width = 256
if (element.style?.width) {
//overscale to allow scrolling. Endpoint won't return higher than native
target_width = element.style.width.slice(0, -2) * 2;
}
if (!params.force_size || params.force_size.includes("?") || params.force_size == "Disabled") {
params.force_size = target_width + "x?"
} else {
let size = params.force_size.split("x")
let ar = parseInt(size[0]) / parseInt(size[1])
params.force_size = target_width + "x" + (target_width / ar)
}
const apiUrl = api.apiURL('/view?' + new URLSearchParams(params));
console.log("Final video URL:", apiUrl);
console.log("API URL components:", {
baseUrl: api.apiURL(''),
params: new URLSearchParams(params).toString()
});
previewWidget.videoEl.src = apiUrl;
console.log("Set video element source:", previewWidget.videoEl.src);
previewWidget.videoEl.hidden = false;
previewWidget.parentEl.appendChild(previewWidget.videoEl);
// 添加视频加载状态监听
previewWidget.videoEl.addEventListener('loadstart', () => {
console.log('Video loading started');
});
previewWidget.videoEl.addEventListener('loadeddata', () => {
console.log('Video data loaded');
});
previewWidget.videoEl.addEventListener('error', (e) => {
console.error('Video loading error:', e);
console.error('Video error details:', previewWidget.videoEl.error);
});
console.log("========== End Preview Video Debug Info ==========");
}
app.registerExtension({
name: "Comflowy.VideoPreviewer",
async init() {
console.log("Comflowy Video Previewer Extension Initialized");
},
async setup() {
console.log("Comflowy Video Previewer Extension Setup");
},
async beforeRegisterNodeDef(nodeType, nodeData, app) {
console.log("Registering node def for:", nodeData?.name);
if (nodeData?.name === "Comflowy_Preview_Video") {
console.log("Configuring Preview Video node");
nodeType.prototype.onExecuted = function (data) {
console.log("Preview Video onExecuted called with data:", data);
previewVideo(this, data.video[0], data.video[1]);
}
addPreviewOptions(nodeType)
}
}
});
// 额外添加一个全局调试日志
console.log("Comflowy Video Previewer JS Loaded");