Model Upload
Upload and manage your custom AI models on the Runware platform. Integrate your own checkpoints, LoRAs, and other model types into your workflow.
Introduction
The Model Upload API lets you integrate custom models into the Runware platform. Upload your own checkpoints, LoRAs, or other supported model types and use them in generation tasks just like any other model on the platform.
Uploaded models are automatically optimized for the Sonic Inference Engine®, enhancing speed and efficiency without compromising output quality. Once processed, models are distributed across our infrastructure and can be referenced by their assigned identifiers in any API request.
Supported model categories
- Checkpoints: Base models across multiple architectures including Stable Diffusion (1.x, 2.x, XL, 3.x) and FLUX.
- LoRAs: Low-Rank Adaptation models for style and concept fine-tuning.
- LyCORIS: An advanced alternative to LoRA for model fine-tuning.
- VAE: Variational Autoencoder models for image encoding and decoding.
- Embeddings: Textual Inversion embeddings for custom concepts and styles.
Visibility and versioning
You have full control over who can access your models. Set them as public (accessible to all platform users) or private (restricted to your organization). The API also supports multiple versions of the same model, allowing you to iterate on weights or configurations while maintaining a clean version history.
Storage pricing
Model upload is currently in beta and free of charge. There are no costs for uploading or storing models during this period.
After the beta period, storage will be charged at $0.05 per GB per month, rounded up to the nearest GB and calculated daily. We will not retroactively charge for storage used during the beta. A positive account balance is required to upload new models.
Request
Our API always accepts an array of objects as input, where each object represents a specific task to be performed. The structure of the object varies depending on the type of the task. For this section, we will focus on the parameters related to the model upload task.
The following JSON snippet shows the basic structure of a request object.
[
{
"taskType": "modelUpload",
"taskUUID": "b92ea202-349f-4560-adae-abb55a8146ee",
"category": "checkpoint",
"architecture": "flux",
"format": "safetensors",
"air": "myorg:42@1",
"uniqueIdentifier": "abc123def456",
"name": "My Custom Model",
"version": "v1",
"downloadURL": "https://example.com/models/my-model.safetensors",
"private": true
}
]-
taskType
const:modelUpload required value: modelUpload -
The type of task to perform.
-
taskUUID
string UUID v4 -
UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
-
category
string required -
Category of the model.
Allowed values 5 values
-
format
string required -
Format of the model file.
Allowed values 1 value
-
air
string -
Artificial Intelligence Resource identifier.
-
uniqueIdentifier
string -
Unique identifier for the model.
-
name
string required -
Name of the model.
-
version
string required -
Version of the model.
-
downloadURL
string required URI -
URL where the model file is hosted.
-
private
boolean default: false -
Whether the model should be private.
-
heroImageURL
string URI -
URL of the hero image.
-
tags
array of strings -
Tags associated with the model.
-
shortDescription
string -
Short description of the model.
-
comment
string -
Additional comments or notes.
Checkpoints
When category is set to checkpoint, the following additional parameters are available:
-
type
string -
Type of the model (specific to category).
Allowed values 3 values
-
architecture
string required -
Architecture of the model.
Allowed values 19 values
-
defaultScheduler
string -
Default scheduler.
-
defaultSteps
integer min: 1 -
Default number of inference steps.
-
defaultCFG
float min: 0 -
Default classifier-free guidance scale.
-
defaultStrength
float min: 0 max: 1 -
Default strength for img2img.
LoRAs
When category is set to lora, the following additional parameters are available:
-
type
string -
Type of the model (specific to category).
Allowed values 2 values
-
architecture
string required -
Architecture of the model.
Allowed values 35 values
-
defaultWeight
float -
Default weight for the model.
-
positiveTriggerWords
string -
List of positive trigger words.
LyCORIS
When category is set to lycoris, the following additional parameters are available:
-
type
string -
Type of the model (specific to category).
Allowed values 2 values
-
architecture
string required -
Architecture of the model.
Allowed values 35 values
-
defaultWeight
float -
Default weight for the model.
-
positiveTriggerWords
string -
List of positive trigger words.
VAE
When category is set to vae, the following additional parameters are available:
-
architecture
string required -
Architecture of the model.
Allowed values 13 values
Embeddings
When category is set to embeddings, the following additional parameters are available:
-
type
string -
Type of the model (specific to category).
Allowed values 2 values
-
architecture
string required -
Architecture of the model.
Allowed values 13 values
Response
The API streams a sequence of status messages as your model progresses through the upload pipeline. Each message uses the same structure but indicates the current processing phase:
- Validated: Model parameters and configuration have been verified.
- Downloaded: Model file has been retrieved from the provided URL.
- Optimized: Model has been optimized for the Sonic Inference Engine.
- Stored: Model has been uploaded to distributed storage.
- Ready: Model is deployed and available for use in generation tasks.
{
"data": [
{
"taskType": "modelUpload",
"taskUUID": "b92ea202-349f-4560-adae-abb55a8146ee",
"status": "ready",
"message": "Model successfully deployed and ready for use.",
"air": "myorg:42@1"
}
]
}-
taskType
string value: modelUpload -
Identifier for the type of task being performed
-
taskUUID
string required UUID v4 -
UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
-
status
string required -
Status of the upload operation phase.
Possible values 6 values
-
message
string required -
Status message or error details.
-
air
string -
The AIR identifier of the uploaded model.