Run a model from Python
Learn how to run a model on Replicate from within your Python code. It could be an app, a notebook, an evaluation script, or anywhere else you want to use machine learning.
👋 Check out an interactive version of this tutorial on Google Colab.
Install the Python library
We maintain an open-source Python client for the API. Install it with pip:
pip install replicate
Authenticate
Authenticate by setting your token in an environment variable:
Run predictions
You can run any public model on Replicate from your Python code. The following example runs stability-ai/stable-diffusion:
import replicate
replicate.run(
"stability-ai/stable-diffusion:27b93a2413e7f36cd83da926f3656280b2931564ff050bf9575f1fdf9bcd7478",
input={"prompt": "a 19th century portrait of a wombat gentleman"}
)
# ['https://replicate.com/api/models/stability-ai/stable-diffusion/files/50fcac81-865d-499e-81ac-49de0cb79264/out-0.png']
Some models, like replicate/resnet in the following example, receive images as inputs. To pass a file as an input, use a file handle or URL:
image = open("mystery.jpg", "rb")
# or...
image = "https://example.com/mystery.jpg"
replicate.run(
"replicate/resnet:dd782a3d531b61af491d1026434392e8afb40bfb53b8af35f727e80661489767",
input={"image": image}
)
URLs are more efficient if your file is already in the cloud somewhere, or it is a large file. Files are output as URLs.
Some models stream output as the model is running. They will return an iterator, and you can iterate over that output:
iterator = replicate.run(
"pixray/text2image:5c347a4bfa1d4523a58ae614c2194e15f2ae682b57e3797a5bb468920aa70ebf",
input={"prompts": ["robots talking to robots"]},
)
for image in iterator:
print(image)
# https://...
# https://...
# https://...
Next steps
Read the full Python client documentation on GitHub.
You can also run models with the raw HTTP API. Refer to the HTTP API reference for more details.