Replicate
Replicate lets you run machine learning models in the cloud with a simple API. Thousands of open-source models are available, and you can run your own custom models at scale. Run image generation, language models, audio synthesis, video generation, and more with a few lines of code. Replicate makes AI accessible to every software engineer.
1 APIs
16 Features
Artificial IntelligenceMachine LearningImage GenerationLanguage ModelsModel Deployment
Read a curated collection, confirm a chosen model, run its latest version, and poll the prediction.
ARAZZO
Pick hardware, create a deployment for a model version, then run a prediction via the deployment.
ARAZZO
Look up a model, pick its latest version, run a prediction, and poll to completion.
ARAZZO
Run a prediction against an official model by name, then poll until complete.
ARAZZO
Run a model version, then poll the prediction until it reaches a terminal state.
ARAZZO
Create a prediction, poll a bounded number of times, and cancel it if it has not finished.
ARAZZO
Read a deployment, update its version and instance bounds, then run a prediction through it.
ARAZZO
Search public models by query, run a prediction on the top match's latest version, and poll it.
ARAZZO
Start a fine-tuning run from a base model version, then poll until the training finishes.
ARAZZO
Retrieve the default webhook signing secret, then create a prediction that posts to a webhook.
ARAZZO
T4 GPU at $0.000225/sec (cheapest)
L40S GPU at $0.000975/sec
A100 80GB at $0.00140/sec
H100 at $0.001525/sec (highest performance)
Pay only for execution time (per second)
Default 10 predictions/sec; can be raised to 100 on paid
Other endpoints: 60 req/sec
Public model library with thousands of models
Cog framework for packaging your own models
Deployments for low-latency inference (charges idle time)
Webhooks for prediction completion
OAuth 2.0 and API tokens
Streaming output for LLM models
Files input via signed URLs
Training service for fine-tuning
Trainings billed at hardware rate
opencollection: 1.0.0
info:
name: Replicate
version: 1.0.0-a1
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Accounts
type: folder
items:
- info:
name: Get the Authenticated Account
type: http
http:
method: GET
url: https://api.replicate.com/v1/account
docs: "Returns information about the user or organization associated with the provided API token.\n\nExample cURL request:\n\
\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/account\n\
```\n\nThe response will be a JSON object describing the account:\n\n```json\n{\n \"type\": \"organization\",\n \"\
username\": \"acme\",\n \"name\": \"Acme Corp, Inc.\",\n \"github_url\": \"https://github.com/acme\",\n}\n```\n"
- info:
name: Collections
type: folder
items:
- info:
name: List Collections of Models
type: http
http:
method: GET
url: https://api.replicate.com/v1/collections
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/collections\n\
```\n\nThe response will be a paginated JSON list of collection objects:\n\n```json\n{\n \"next\": \"null\",\n \"\
previous\": null,\n \"results\": [\n {\n \"name\": \"Super resolution\",\n \"slug\": \"super-resolution\"\
,\n \"description\": \"Upscaling models that create high-quality images from low-quality images.\"\n }\n ]\n\
}\n```\n"
- info:
name: Get a Collection of Models
type: http
http:
method: GET
url: https://api.replicate.com/v1/collections/:collection_slug
params:
- name: collection_slug
value: ''
type: path
description: 'The slug of the collection, like `super-resolution` or `image-restoration`. See [replicate.com/collections](https://replicate.com/collections).
'
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/collections/super-resolution\n\
```\n\nThe response will be a collection object with a nested list of the models in that collection:\n\n```json\n{\n\
\ \"name\": \"Super resolution\",\n \"slug\": \"super-resolution\",\n \"description\": \"Upscaling models that create\
\ high-quality images from low-quality images.\",\n \"models\": [...]\n}\n```\n"
- info:
name: Deployments
type: folder
items:
- info:
name: List Deployments
type: http
http:
method: GET
url: https://api.replicate.com/v1/deployments
docs: "Get a list of deployments associated with the current account, including the latest release configuration for each\
\ deployment.\n\nExample cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\"\
\ \\\n https://api.replicate.com/v1/deployments\n```\n\nThe response will be a paginated JSON array of deployment objects,\
\ sorted with the most recent deployment first:\n\n```json\n{\n \"next\": \"http://api.replicate.com/v1/deployments?cursor=cD0yMDIzLTA2LTA2KzIzJTNBNDAlM0EwOC45NjMwMDAlMk"
- info:
name: Create a Deployment
type: http
http:
method: POST
url: https://api.replicate.com/v1/deployments
body:
type: json
data: '{}'
docs: "Create a new deployment:\n\nExample cURL request:\n\n```console\ncurl -s \\\n -X POST \\\n -H \"Authorization:\
\ Bearer $REPLICATE_API_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"my-app-image-generator\"\
,\n \"model\": \"stability-ai/sdxl\",\n \"version\": \"da77bc59ee60423279fd632efb4795ab731d9e3ca9705ef3341091fb989b7eaf\"\
,\n \"hardware\": \"gpu-t4\",\n \"min_instances\": 0,\n \"max_instances\": 3\n }' \\\n https://api.replicate.com/v1/deployments\n\
```\n\nThe res"
- info:
name: Get a Deployment
type: http
http:
method: GET
url: https://api.replicate.com/v1/deployments/:deployment_owner/:deployment_name
params:
- name: deployment_owner
value: ''
type: path
description: 'The name of the user or organization that owns the deployment.
'
- name: deployment_name
value: ''
type: path
description: 'The name of the deployment.
'
docs: "Get information about a deployment by name including the current release.\n\nExample cURL request:\n\n```console\n\
curl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/deployments/replicate/my-app-image-generator\n\
```\n\nThe response will be a JSON object describing the deployment:\n\n```json\n{\n \"owner\": \"acme\",\n \"name\"\
: \"my-app-image-generator\",\n \"current_release\": {\n \"number\": 1,\n \"model\": \"stability-ai/sdxl\",\n\
\ \"version\": \"da77bc59ee60423279fd632efb4795"
- info:
name: Update a Deployment
type: http
http:
method: PATCH
url: https://api.replicate.com/v1/deployments/:deployment_owner/:deployment_name
params:
- name: deployment_owner
value: ''
type: path
description: 'The name of the user or organization that owns the deployment.
'
- name: deployment_name
value: ''
type: path
description: 'The name of the deployment.
'
body:
type: json
data: '{}'
docs: "Update properties of an existing deployment, including hardware, min/max instances, and the deployment's underlying\
\ model [version](https://replicate.com/docs/how-does-replicate-work#versions).\n\nExample cURL request:\n\n```console\n\
curl -s \\\n -X PATCH \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H \"Content-Type: application/json\"\
\ \\\n -d '{\"min_instances\": 3, \"max_instances\": 10}' \\\n https://api.replicate.com/v1/deployments/acme/my-app-image-generator\n\
```\n\nThe response will be a JSON o"
- info:
name: Delete a Deployment
type: http
http:
method: DELETE
url: https://api.replicate.com/v1/deployments/:deployment_owner/:deployment_name
params:
- name: deployment_owner
value: ''
type: path
description: 'The name of the user or organization that owns the deployment.
'
- name: deployment_name
value: ''
type: path
description: 'The name of the deployment.
'
docs: "Delete a deployment\n\nDeployment deletion has some restrictions:\n\n- You can only delete deployments that have\
\ been offline and unused for at least 15 minutes.\n\nExample cURL request:\n\n```command\ncurl -s -X DELETE \\\n -H\
\ \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/deployments/acme/my-app-image-generator\n\
```\n\nThe response will be an empty 204, indicating the deployment has been deleted.\n"
- info:
name: Create a Prediction Using a Deployment
type: http
http:
method: POST
url: https://api.replicate.com/v1/deployments/:deployment_owner/:deployment_name/predictions
headers:
- name: Prefer
value: ''
params:
- name: deployment_owner
value: ''
type: path
description: 'The name of the user or organization that owns the deployment.
'
- name: deployment_name
value: ''
type: path
description: 'The name of the deployment.
'
body:
type: json
data: '{}'
docs: "Create a prediction for the deployment and inputs you provide.\n\nExample cURL request:\n\n```console\ncurl -s\
\ -X POST -H 'Prefer: wait' \\\n -d '{\"input\": {\"prompt\": \"A photo of a bear riding a bicycle over the moon\"\
}}' \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H 'Content-Type: application/json' \\\n https://api.replicate.com/v1/deployments/acme/my-app-image-generator/predictions\n\
```\n\nThe request will wait up to 60 seconds for the model to run. If this time is exceeded the prediction wi"
- info:
name: Hardware
type: folder
items:
- info:
name: List Available Hardware for Models
type: http
http:
method: GET
url: https://api.replicate.com/v1/hardware
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/hardware\n\
```\n\nThe response will be a JSON array of hardware objects:\n\n```json\n[\n {\"name\": \"CPU\", \"sku\": \"cpu\"\
},\n {\"name\": \"Nvidia T4 GPU\", \"sku\": \"gpu-t4\"},\n {\"name\": \"Nvidia A40 GPU\", \"sku\": \"gpu-a40-small\"\
},\n {\"name\": \"Nvidia A40 (Large) GPU\", \"sku\": \"gpu-a40-large\"},\n]\n```\n"
- info:
name: Models
type: folder
items:
- info:
name: List Public Models
type: http
http:
method: GET
url: https://api.replicate.com/v1/models
docs: "Get a paginated list of public models.\n\nExample cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization:\
\ Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/models\n```\n\nThe response will be a paginated JSON\
\ array of model objects:\n\n```json\n{\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"\
url\": \"https://replicate.com/acme/hello-world\",\n \"owner\": \"acme\",\n \"name\": \"hello-world\",\n \
\ \"description\": \"A tiny model that says hello\",\n \"visibility\": \"public\",\n "
- info:
name: Create a Model
type: http
http:
method: POST
url: https://api.replicate.com/v1/models
body:
type: json
data: '{}'
docs: "Create a model.\n\nExample cURL request:\n\n```console\ncurl -s -X POST \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\"\
\ \\\n -H 'Content-Type: application/json' \\\n -d '{\"owner\": \"alice\", \"name\": \"my-model\", \"description\"\
: \"An example model\", \"visibility\": \"public\", \"hardware\": \"cpu\"}' \\\n https://api.replicate.com/v1/models\n\
```\n\nThe response will be a model object in the following format:\n\n```json\n{\n \"url\": \"https://replicate.com/alice/my-model\"\
,\n \"owner\": \"alice\",\n \"name\": \"my-model\",\n \"desc"
- info:
name: Model
type: folder
items:
- info:
name: Get a Model
type: http
http:
method: GET
url: https://api.replicate.com/v1/models/:model_owner/:model_name
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/models/replicate/hello-world\n\
```\n\nThe response will be a model object in the following format:\n\n```json\n{\n \"url\": \"https://replicate.com/replicate/hello-world\"\
,\n \"owner\": \"replicate\",\n \"name\": \"hello-world\",\n \"description\": \"A tiny model that says hello\",\n\
\ \"visibility\": \"public\",\n \"github_url\": \"https://github.com/replicate/cog-examples\",\n \"paper_url\": null,\n\
\ \"li"
- info:
name: Delete a Model
type: http
http:
method: DELETE
url: https://api.replicate.com/v1/models/:model_owner/:model_name
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
docs: "Delete a model\n\nModel deletion has some restrictions:\n\n- You can only delete models you own.\n- You can only\
\ delete private models.\n- You can only delete models that have no versions associated with them. Currently you'll\
\ need to [delete the model's versions](#models.versions.delete) before you can delete the model itself.\n\nExample\
\ cURL request:\n\n```command\ncurl -s -X DELETE \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/models/replicate/hello-world\n\
```\n\nThe "
- info:
name: Create a Prediction Using an Official Model
type: http
http:
method: POST
url: https://api.replicate.com/v1/models/:model_owner/:model_name/predictions
headers:
- name: Prefer
value: ''
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
body:
type: json
data: '{}'
docs: "Create a prediction for the deployment and inputs you provide.\n\nExample cURL request:\n\n```console\ncurl -s\
\ -X POST -H 'Prefer: wait' \\\n -d '{\"input\": {\"prompt\": \"Write a short poem about the weather.\"}}' \\\n -H\
\ \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H 'Content-Type: application/json' \\\n https://api.replicate.com/v1/models/meta/meta-llama-3-70b-instruct/predictions\n\
```\n\nThe request will wait up to 60 seconds for the model to run. If this time is exceeded the prediction will be\
\ returne"
- info:
name: List Model Versions
type: http
http:
method: GET
url: https://api.replicate.com/v1/models/:model_owner/:model_name/versions
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/models/replicate/hello-world/versions\n\
```\n\nThe response will be a JSON array of model version objects, sorted with the most recent version first:\n\n```json\n\
{\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": \"5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa\"\
,\n \"created_at\": \"2022-04-26T19:29:04.418669Z\",\n \"cog_version\": \"0.3.0\""
- info:
name: Get a Model Version
type: http
http:
method: GET
url: https://api.replicate.com/v1/models/:model_owner/:model_name/versions/:version_id
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
- name: version_id
value: ''
type: path
description: 'The ID of the version.
'
docs: "Example cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/models/replicate/hello-world/versions/5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa\n\
```\n\nThe response will be the version object:\n\n```json\n{\n \"id\": \"5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa\"\
,\n \"created_at\": \"2022-04-26T19:29:04.418669Z\",\n \"cog_version\": \"0.3.0\",\n \"openapi_schema\": {...}\n\
}\n```\n\nEvery model describes its input"
- info:
name: Delete a Model Version
type: http
http:
method: DELETE
url: https://api.replicate.com/v1/models/:model_owner/:model_name/versions/:version_id
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
- name: version_id
value: ''
type: path
description: 'The ID of the version.
'
docs: 'Delete a model version and all associated predictions, including all output files.
Model version deletion has some restrictions:
- You can only delete versions from models you own.
- You can only delete versions from private models.
- You cannot delete a version if someone other than you has run predictions with it.
- You cannot delete a version if it is being used as the base model for a fine tune/training.
- You cannot delete a version if it has an associated deployment.
- You cannot delete '
- info:
name: Create a Training
type: http
http:
method: POST
url: https://api.replicate.com/v1/models/:model_owner/:model_name/versions/:version_id/trainings
params:
- name: model_owner
value: ''
type: path
description: 'The name of the user or organization that owns the model.
'
- name: model_name
value: ''
type: path
description: 'The name of the model.
'
- name: version_id
value: ''
type: path
description: 'The ID of the version.
'
body:
type: json
data: '{}'
docs: "Start a new training of the model version you specify.\n\nExample request body:\n\n```json\n{\n \"destination\"\
: \"{new_owner}/{new_name}\",\n \"input\": {\n \"train_data\": \"https://example.com/my-input-images.zip\",\n },\n\
\ \"webhook\": \"https://example.com/my-webhook\",\n}\n```\n\nExample cURL request:\n\n```console\ncurl -s -X POST\
\ \\\n -d '{\"destination\": \"{new_owner}/{new_name}\", \"input\": {\"input_images\": \"https://example.com/my-input-images.zip\"\
}}' \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H 'Cont"
- info:
name: Predictions
type: folder
items:
- info:
name: List Predictions
type: http
http:
method: GET
url: https://api.replicate.com/v1/predictions
docs: "Get a paginated list of all predictions created by the user or organization associated with the provided API token.\n\
\nThis will include predictions created from the API and the website. It will return 100 records per page.\n\nExample\
\ cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/predictions\n\
```\n\nThe response will be a paginated JSON array of prediction objects, sorted with the most recent prediction first:\n\
\n```json\n{\n \"next\":"
- info:
name: Create a Prediction
type: http
http:
method: POST
url: https://api.replicate.com/v1/predictions
headers:
- name: Prefer
value: ''
body:
type: json
data: '{}'
docs: "Create a prediction for the model version and inputs you provide.\n\nExample cURL request:\n\n```console\ncurl\
\ -s -X POST -H 'Prefer: wait' \\\n -d '{\"version\": \"5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa\"\
, \"input\": {\"text\": \"Alice\"}}' \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H 'Content-Type:\
\ application/json' \\\n https://api.replicate.com/v1/predictions\n```\n\nThe request will wait up to 60 seconds for\
\ the model to run. If this time is exceeded the prediction will "
- info:
name: Get a Prediction
type: http
http:
method: GET
url: https://api.replicate.com/v1/predictions/:prediction_id
params:
- name: prediction_id
value: ''
type: path
description: 'The ID of the prediction to get.
'
docs: "Get the current state of a prediction.\n\nExample cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization:\
\ Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/predictions/gm3qorzdhgbfurvjtvhg6dckhu\n```\n\nThe\
\ response will be the prediction object:\n\n```json\n{\n \"id\": \"gm3qorzdhgbfurvjtvhg6dckhu\",\n \"model\": \"\
replicate/hello-world\",\n \"version\": \"5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa\",\n \"\
input\": {\n \"text\": \"Alice\"\n },\n \"logs\": \"\",\n \"output\": \"hello Alice\",\n"
- info:
name: Cancel
type: folder
items:
- info:
name: Cancel a Prediction
type: http
http:
method: POST
url: https://api.replicate.com/v1/predictions/:prediction_id/cancel
params:
- name: prediction_id
value: ''
type: path
description: 'The ID of the prediction to cancel.
'
docs: Cancel a Prediction
- info:
name: Cancel a Training
type: http
http:
method: POST
url: https://api.replicate.com/v1/trainings/:training_id/cancel
params:
- name: training_id
value: ''
type: path
description: 'The ID of the training you want to cancel.
'
docs: Cancel a Training
- info:
name: Trainings
type: folder
items:
- info:
name: List Trainings
type: http
http:
method: GET
url: https://api.replicate.com/v1/trainings
docs: "Get a paginated list of all trainings created by the user or organization associated with the provided API token.\n\
\nThis will include trainings created from the API and the website. It will return 100 records per page.\n\nExample\
\ cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/trainings\n\
```\n\nThe response will be a paginated JSON array of training objects, sorted with the most recent training first:\n\
\n```json\n{\n \"next\": null,\n \""
- info:
name: Training
type: folder
items:
- info:
name: Get a Training
type: http
http:
method: GET
url: https://api.replicate.com/v1/trainings/:training_id
params:
- name: training_id
value: ''
type: path
description: 'The ID of the training to get.
'
docs: "Get the current state of a training.\n\nExample cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization:\
\ Bearer $REPLICATE_API_TOKEN\" \\\n https://api.replicate.com/v1/trainings/zz4ibbonubfz7carwiefibzgga\n```\n\nThe\
\ response will be the training object:\n\n```json\n{\n \"completed_at\": \"2023-09-08T16:41:19.826523Z\",\n \"created_at\"\
: \"2023-09-08T16:32:57.018467Z\",\n \"error\": null,\n \"id\": \"zz4ibbonubfz7carwiefibzgga\",\n \"input\": {\n\
\ \"input_images\": \"https://example.com/my-input-images.zip\"\n },\n \"logs\":"
- info:
name: Secrets
type: folder
items:
- info:
name: Get the Signing Secret for the Default Webhook
type: http
http:
method: GET
url: https://api.replicate.com/v1/webhooks/default/secret
docs: "Get the signing secret for the default webhook endpoint. This is used to verify that webhook requests are coming\
\ from Replicate.\n\nExample cURL request:\n\n```console\ncurl -s \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\"\
\ \\\n https://api.replicate.com/v1/webhooks/default/secret\n```\n\nThe response will be a JSON object with a `key`\
\ property:\n\n```json\n{\n \"key\": \"...\"\n}\n```\n"
bundled: true