openapi: 3.1.0 info: contact: email: team@replicate.com description: AI can do extraordinary things, but its still too hard to use. We don't believe AI is inherently hard. We just don't have the right tools and abstractions yet. Were building tools so all software engineers can use AI as if it were normal software. You should be able to import an image generator the same way you import an npm package. You should be able to customize a model as easily as you can fork something on GitHub. termsOfService: https://replicate.com/terms title: Replicate Accounts Models API version: 1.0.0-a1 servers: - url: https://api.replicate.com/v1 security: - bearerAuth: [] tags: - name: Models paths: /models: query: description: "Get a list of public models matching a search query.\n\nExample cURL request:\n\n```console\ncurl -s -X QUERY \\\n -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" \\\n -H \"Content-Type: text/plain\" \\\n -d \"hello\" \\\n https://api.replicate.com/v1/models\n```\n\nThe response will be a paginated JSON object containing an 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 \"github_url\": \"https://github.com/replicate/cog-examples\",\n \"paper_url\": null,\n \"license_url\": null,\n \"run_count\": 5681081,\n \"cover_image_url\": \"...\",\n \"default_example\": {...},\n \"latest_version\": {...}\n }\n ]\n}\n```\n\nThe `cover_image_url` string is an HTTPS URL for an image file. This can be:\n\n- An image uploaded by the model author.\n- The output file of the example prediction, if the model author has not set a cover image.\n- The input file of the example prediction, if the model author has not set a cover image and the example prediction has no output file.\n- A generic fallback image.\n" operationId: models.search requestBody: content: text/plain: schema: description: The search query type: string required: true responses: '200': description: Success summary: Search Public Models tags: [] get: description: "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 \"github_url\": \"https://github.com/replicate/cog-examples\",\n \"paper_url\": null,\n \"license_url\": null,\n \"run_count\": 5681081,\n \"cover_image_url\": \"...\",\n \"default_example\": {...},\n \"latest_version\": {...}\n }\n ]\n}\n```\n\nThe `cover_image_url` string is an HTTPS URL for an image file. This can be:\n\n- An image uploaded by the model author.\n- The output file of the example prediction, if the model author has not set a cover image.\n- The input file of the example prediction, if the model author has not set a cover image and the example prediction has no output file.\n- A generic fallback image.\n" operationId: models.list responses: '200': description: Success summary: List Public Models tags: - Models post: description: "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 \"description\": \"An example model\",\n \"visibility\": \"public\",\n \"github_url\": null,\n \"paper_url\": null,\n \"license_url\": null,\n \"run_count\": 0,\n \"cover_image_url\": null,\n \"default_example\": null,\n \"latest_version\": null,\n}\n```\n\nNote that there is a limit of 1,000 models per account. For most purposes, we recommend using a single model and pushing new [versions](https://replicate.com/docs/how-does-replicate-work#versions) of the model as you make changes to it.\n" operationId: models.create requestBody: content: application/json: schema: properties: cover_image_url: description: A URL for the model's cover image. This should be an image file. type: string description: description: A description of the model. type: string github_url: description: A URL for the model's source code on GitHub. type: string hardware: description: The SKU for the hardware used to run the model. Possible values can be retrieved from the `hardware.list` endpoint. type: string license_url: description: A URL for the model's license. type: string name: description: The name of the model. This must be unique among all models owned by the user or organization. type: string owner: description: The name of the user or organization that will own the model. This must be the same as the user or organization that is making the API request. In other words, the API token used in the request must belong to this user or organization. type: string paper_url: description: A URL for the model's paper. type: string visibility: description: Whether the model should be public or private. A public model can be viewed and run by anyone, whereas a private model can be viewed and run only by the user or organization members that own the model. enum: - public - private type: string required: - owner - name - visibility - hardware type: object required: true responses: '201': description: Success summary: Create a Model tags: - Models components: securitySchemes: bearerAuth: bearerFormat: 'All API requests must include a valid API token in the `Authorization` request header. The token must be prefixed by "Bearer", followed by a space and the token value. Example: `Authorization: Bearer r8_Hw***********************************` Find your tokens at https://replicate.com/account/api-tokens ' scheme: bearer type: http externalDocs: description: Replicate HTTP API url: https://replicate.com/docs/reference/http