Documentation

Quick Start

Generate your first image in under 2 minutes. All you need is an API key.

1

Get Your API Key

Create an API key from the Dashboard → API Keys. Store it as an environment variable:

export RENDERFUL_API_KEY="rf_your_key_here"
2

Submit a Task

Send a POST request to create a generation. The API returns a task ID immediately.

curl -X POST https://api.renderful.ai/api/v1/generations \
  -H "Authorization: Bearer $RENDERFUL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "text-to-image",
    "model": "flux-dev",
    "prompt": "A beautiful sunset over mountains"
  }'

type is required. If omitted, the API returns 400 Bad Request.

3

Poll for the Result

Generation is async. Poll GET /api/v1/generations/:id until status is completed or failed.

# Replace gen_abc123 with your task ID
while true; do
  RESULT=$(curl -s -H "Authorization: Bearer $RENDERFUL_API_KEY" \
    https://api.renderful.ai/api/v1/generations/gen_abc123)
  STATUS=$(echo $RESULT | grep -o '"status":"[^"]*"' | head -1 | cut -d'"' -f4)
  echo "Status: $STATUS"
  [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] && break
  sleep 3
done
echo $RESULT

API Reference

Base URLhttps://api.renderful.ai/api/v1
Auth HeaderAuthorization: Bearer YOUR_API_KEY
Content-Typeapplication/json
Create taskPOST /api/v1/generations
Get resultGET /api/v1/generations/:id

Status Values

StatusDescription
queuedTask received, waiting for a worker
processingGeneration in progress
completedDone — outputs array contains result URLs
failedError — check error field for details

Supported type Values

text-to-image      image-to-image     text-to-video
image-to-video     video-to-video     reference-to-video
subject-to-video   upscale            face-swap
lip-sync           text-to-music      text-to-audio
audio-to-audio     speech-to-text     text-to-3d
image-to-3d        text-to-text

List available models: GET /api/v1/models?type=text-to-image

LLM Quick Start (text-to-text)

LLM calls use the same endpoint with type: "text-to-text".

curl -X POST https://api.renderful.ai/api/v1/generations \
  -H "Authorization: Bearer $RENDERFUL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "text-to-text",
    "model": "kimi-k2.5",
    "prompt": "Summarize this article in 5 bullets",
    "system_prompt": "You are a concise assistant.",
    "max_tokens": 512,
    "temperature": 0.7
  }'

OpenAI-style messages array is also supported. Use /api/v1/generations (not /v1/chat/completions).