Connect Renderly to your workflow.
Use the Renderly HTTP API from your server, terminal scripts or application workflows.
Last updated:
Start with the public API.
The Renderly API supports public model discovery, authenticated balance and history reads, price quotes, job creation, input uploads and completed artifact downloads. It uses the same account balance as the workspace.
Use ordinary HTTPS requests from your server. The API guide includes JavaScript, Python and cURL examples, plus a model selector that loads the current input contract. Select an available model there instead of guessing field names or using a display name as its ID.
Read the catalog from a terminal.
This public read does not need an API key and does not spend credits. The example uses cURL in a POSIX shell; on Windows, run curl.exe with the URL on one line.
curl --fail-with-body "https://woovhhwoevjoipwltiwy.supabase.co/functions/v1/core-api/catalog"Check an authenticated connection.
Create a key in Settings → API access. A read-only key is sufficient for this wallet check. Store RENDERLY_API_KEY in your server environment or secret store, then run this example in Node.js 22 or later. It reads your balance and ledger without creating a job or spending credits.
A new key is shown once. Keep it private, choose an expiry that suits your project and revoke it from Settings when it is no longer needed. Never embed a key in browser code, a public repository or a shared chat.
const base = "https://woovhhwoevjoipwltiwy.supabase.co/functions/v1/core-api";
const key = process.env.RENDERLY_API_KEY;
if (!key) throw new Error("Set RENDERLY_API_KEY on your server.");
const response = await fetch(base + "/wallet", {
headers: { Authorization: "Bearer " + key },
signal: AbortSignal.timeout(60000)
});
const data = await response.json();
if (!response.ok) {
throw new Error(data.error?.message || "Renderly request failed");
}
console.log(data);Build around the quote and job flow.
Use the model-specific examples in the API guide for generation. Required fields and settings vary by model. A quote is a separate step from submission so your application can obtain price approval before creating work.
- Read GET /catalog and select an available model with a creation contract.
- Upload required reference files and use their inputAssetId values in the model’s input fields.
- Send the model ID, operation, SKU and complete input to POST /quotes.
- Review the maximum credit amount, then send the quote ID, the same input and a saved unique request ID to POST /jobs.
- Poll GET /jobs/{id} at a modest interval until completed or refunded.
- For a completed job, request each artifact’s temporary download URL and save the file.
Make automated requests deliberate.
Keep approval and spending controls in your application. Separate read operations from job creation, restrict who can authorize a submission and set your own per-task budget. API keys cannot authorize payments or change account settings.
Persist the request ID and exact submission body before sending. If the response is uncertain, retry those same values. Handle rate limits by slowing requests, and get a new approved quote when its price or validity changes. An unfinished job should be polled again instead of immediately submitted as a new job.
Bring your integration question.
For connection problems, include the HTTP status, error code, endpoint and a redacted request body. For a job issue, include its job ID and approximate submission time. Remove API keys, authorization headers and unnecessary personal information.
If you need a specific development tool or a workflow that the API guide does not cover, describe the desired outcome and environment when contacting us so we can assess the fit.