---
title: Replicate
description: "Run machine learning tasks easily at scale"
---
## Installation
To get started with the Replicate integration on Trigger.dev, you need to install the `@trigger.dev/replicate` package.
You can do this using npm, pnpm, or yarn:
```bash npm
npm install @trigger.dev/replicate@latest
```
```bash pnpm
pnpm add @trigger.dev/replicate@latest
```
```bash yarn
yarn add @trigger.dev/replicate@latest
```
## Authentication
To use the Replicate API with Trigger.dev, you have to provide an API Key.
### API Key
You can create an API Key in your [Account Settings](https://replicate.com/account/api-tokens).
```ts
import { Replicate } from "@trigger.dev/replicate";
//this will use the passed in API key (defined in your environment variables)
const replicate = new Replicate({
id: "replicate",
apiKey: process.env["REPLICATE_API_KEY"],
});
```
## Usage
Include the Replicate integration in your Trigger.dev job.
```ts
client.defineJob({
id: "replicate-cinematic-prompt",
name: "Replicate - Cinematic Prompt",
version: "0.1.0",
integrations: { replicate },
trigger: eventTrigger({
name: "replicate.cinematic",
schema: z.object({
prompt: z.string().default("rick astley riding a harley through post-apocalyptic miami"),
version: z
.string()
.default("af1a68a271597604546c09c64aabcd7782c114a63539a4a8d14d1eeda5630c33"),
}),
}),
run: async (payload, io, ctx) => {
//wait for prediction completion (uses remote callbacks internally)
const prediction = await io.replicate.predictions.createAndAwait("await-prediction", {
version: payload.version,
input: {
prompt: `${payload.prompt}, cinematic, 70mm, anamorphic, bokeh`,
width: 1280,
height: 720,
},
});
return prediction.output;
},
});
```
### Pagination
You can paginate responses:
- Using the `getAll` helper
- Using the `paginate` helper
```ts
client.defineJob({
id: "replicate-pagination",
name: "Replicate Pagination",
version: "0.1.0",
integrations: {
replicate,
},
trigger: eventTrigger({
name: "replicate.paginate",
}),
run: async (payload, io, ctx) => {
// getAll - returns an array of all results (uses paginate internally)
const all = await io.replicate.getAll(io.replicate.predictions.list, "get-all");
// paginate - returns an async generator, useful to process one page at a time
for await (const predictions of io.replicate.paginate(
io.replicate.predictions.list,
"paginate-all"
)) {
await io.logger.info("stats", {
total: predictions.length,
versions: predictions.map((p) => p.version),
});
}
return { count: all.length };
},
});
```
## Tasks
### Collections
| Function Name | Description |
| ------------------ | ---------------------------------------------------------------------- |
| `collections.get` | Gets a collection. |
| `collections.list` | Returns the first page of all collections. Use with pagination helper. |
### Deployments
| Function Name | Description |
| ---------------------------------------- | --------------------------------------------------------- |
| `deployments.predictions.create` | Creates a new prediction with a deployment. |
| `deployments.predictions.createAndAwait` | Creates and waits for a new prediction with a deployment. |
### Models
| Function Name | Description |
| ----------------- | ------------------------ |
| `models.get` | Gets a model. |
| `models.versions` | Gets a model version. |
| `models.versions` | Gets all model versions. |
### Predictions
| Function Name | Description |
| ---------------------------- | ---------------------------------------------------------------------- |
| `predictions.cancel` | Cancels a prediction. |
| `predictions.create` | Creates a prediction. |
| `predictions.createAndAwait` | Creates and waits for a prediction. |
| `predictions.get` | Gets a prediction. |
| `predictions.list` | Returns the first page of all predictions. Use with pagination helper. |
### Trainings
| Function Name | Description |
| -------------------------- | -------------------------------------------------------------------- |
| `trainings.cancel` | Cancels a training. |
| `trainings.create` | Creates a training. |
| `trainings.createAndAwait` | Creates and waits for a training. |
| `trainings.get` | Gets a training. |
| `trainings.list` | Returns the first page of all trainings. Use with pagination helper. |
### Misc
| Function Name | Description |
| ------------- | --------------------------------------------------- |
| `getAll` | Pagination helper that returns an array of results. |
| `paginate` | Pagination helper that returns an async generator. |
| `request` | Sends authenticated requests to the Replicate API. |
| `run` | Creates and waits for a prediction. |