Rage3D API

Transform 2D images into high-quality 3D models using advanced AI. Our API produces industry-leading results with 4K textures, PBR materials, and optimized geometry suitable for 3D printing, game development, e-commerce, and visualization.

💡
New to Rage3D?

Start with the Quickstart guide to generate your first 3D model in under 5 minutes.

What you can build

  • E-commerce product visualization — Convert product photos to interactive 3D models
  • 3D printing services — Generate print-ready STL files from any image
  • Game asset creation — Create game-ready models with PBR textures
  • AR/VR applications — Build immersive experiences with AI-generated 3D content

Key features

  • 4K HD Textures — Ultra-detailed PBR materials
  • Multiple input support — Single image or multi-view (up to 4 images)
  • 3D print ready — Automatic STL conversion
  • Fast processing — Most models ready in under 2 minutes

Quickstart

Generate your first 3D model in 4 simple steps.

1
Get your API key

Sign in to your dashboard and copy your API key.

2
Submit an image for 3D generation
curl -X POST https://rage3d-api-797053387346.asia-south1.run.app/generate-3d \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "images=@photo.jpg"
import requests

response = requests.post(
    "https://rage3d-api-797053387346.asia-south1.run.app/generate-3d",
    headers={"X-API-Key": "YOUR_API_KEY"},
    files={"images": open("photo.jpg", "rb")}
)

task_id = response.json()["task_id"]
print(f"Task ID: {task_id}")
const fs = require('fs');
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('images', fs.createReadStream('photo.jpg'));

const response = await axios.post(
    'https://rage3d-api-797053387346.asia-south1.run.app/generate-3d',
    form,
    { headers: { 'X-API-Key': 'YOUR_API_KEY', ...form.getHeaders() } }
);

console.log('Task ID:', response.data.task_id);
3
Poll for completion

Generation takes 1-3 minutes. Poll until status is "success".

curl https://rage3d-api-797053387346.asia-south1.run.app/task/YOUR_TASK_ID \
  -H "X-API-Key: YOUR_API_KEY"
import time

while True:
    status = requests.get(
        f"https://rage3d-api-797053387346.asia-south1.run.app/task/{task_id}",
        headers={"X-API-Key": "YOUR_API_KEY"}
    ).json()
    
    print(f"Progress: {status['progress']}%")
    
    if status["status"] == "success":
        print("Done!", status['pbr_model_url'])
        break
    elif status["status"] == "failed":
        print("Failed")
        break
    
    time.sleep(5)
4
Download your 3D model
curl https://rage3d-api-797053387346.asia-south1.run.app/download/YOUR_TASK_ID/glb \
  -H "X-API-Key: YOUR_API_KEY" \
  -o model.glb

Authentication

All API requests require an API key in the X-API-Key header.

X-API-Key: hyp3d_your_api_key_here

Getting your API key

  1. Sign in to your dashboard
  2. Copy your API key from the "API Access" section
⚠️
Keep your API key secure

Never share it publicly or commit to version control. Use environment variables.

Base URL

https://rage3d-api-797053387346.asia-south1.run.app

Pricing

₹99 INR
Per 3D Model Generation
Includes HD GLB model, 4K PBR textures, and STL conversion

How billing works

  • Prepaid wallet — Add funds from dashboard
  • Per-generation — ₹99 deducted when you submit
  • No hidden fees — STL conversion and downloads are free
  • Failed generations — Not charged if generation fails

How It Works

The generation pipeline

  1. Image upload — Your image is validated
  2. AI analysis — AI understands 3D structure
  3. Geometry generation — Optimized mesh created
  4. Texture creation — 4K PBR textures generated
  5. Model packaging — GLB file with embedded textures

Asynchronous processing

3D generation takes 1-3 minutes. The API returns a task_id immediately, then poll GET /task/{task_id} to check progress.

Image Requirements

RequirementValue
FormatsJPEG, PNG, WebP
Max file size10 MB per image
Min resolution256 × 256 pixels
Recommended1024 × 1024 or higher
Number of images1-4 per request

Tips for best results

  • Clear subject with good lighting
  • Simple or white backgrounds
  • For complex objects, provide 2-4 views

Output Formats

GLB (default)

Binary glTF with embedded 4K PBR textures. Industry standard for web 3D.

STL (optional)

Geometry-only format for 3D printing. Use POST /task/{id}/convert-stl.

Files expire after 7 days

Download your models before they expire.

Generate 3D Model

POST /generate-3d

Submits an image for 3D model generation. Returns a task ID for polling.

Request

Content-Type: multipart/form-data

ParameterTypeDescription
imagesrequired File 1-4 image files (JPEG, PNG, WebP). Max 10MB each.
Response 200 OK
{
  "task_id": "42539d4f-9ce0-4599-8da5-21c58477562c",
  "status": "queued",
  "message": "Task submitted. Use GET /task/{task_id} to check status.",
  "balance_after": 1881.0,
  "cost": 99.0
}

Get Task Status

GET /task/{task_id}

Get task status. Poll until status is "success" or "failed".

Response (success)
{
  "task_id": "42539d4f-9ce0-4599-8da5-21c58477562c",
  "status": "success",
  "progress": 100,
  "model_url": "https://...",
  "pbr_model_url": "https://...",
  "rendered_image_url": "https://...",
  "expires_at": "2026-03-21T12:00:00+00:00"
}

Status values

StatusDescription
queuedWaiting in queue
runningIn progress (check progress)
successComplete. Download URLs available.
failedFailed. Check error field.

Convert to STL

POST /task/{task_id}/convert-stl

Convert completed model to STL format for 3D printing.

curl -X POST https://rage3d-api-797053387346.asia-south1.run.app/task/YOUR_TASK_ID/convert-stl \
  -H "X-API-Key: YOUR_API_KEY"

Download File

GET /download/{task_id}/{file_type}

Download generated 3D model file.

ParameterDescription
task_idTask UUID
file_typeglb or stl
# Download GLB
curl https://rage3d-api-797053387346.asia-south1.run.app/download/TASK_ID/glb \
  -H "X-API-Key: YOUR_API_KEY" -o model.glb

# Download STL
curl https://rage3d-api-797053387346.asia-south1.run.app/download/TASK_ID/stl \
  -H "X-API-Key: YOUR_API_KEY" -o model.stl

List Generations

GET /generations

List your previous generations with status and output URLs.

curl https://rage3d-api-797053387346.asia-south1.run.app/generations?limit=10 \
  -H "X-API-Key: YOUR_API_KEY"

Get Wallet Balance

GET /wallet/balance
curl https://rage3d-api-797053387346.asia-south1.run.app/wallet/balance \
  -H "X-API-Key: YOUR_API_KEY"

# Response:
{
  "balance": 1980.0,
  "message": "You can generate 20 models with current balance"
}

Get Profile

GET /auth/me
curl https://rage3d-api-797053387346.asia-south1.run.app/auth/me \
  -H "X-API-Key: YOUR_API_KEY"

# Response:
{
  "email": "user@example.com",
  "name": "John Doe",
  "balance": 1980.0,
  "total_generations": 24,
  "generation_cost": 99.0
}

Error Handling

{
  "detail": "Insufficient balance. Required: ₹99, Available: ₹50"
}
CodeMeaningWhat to do
400Bad RequestCheck parameters
401UnauthorizedCheck API key
402Payment RequiredRecharge wallet
429Rate LimitedWait and retry

Best Practices

Polling strategy

  • Poll every 5-10 seconds
  • Stop when status is "success" or "failed"
  • Implement exponential backoff for rate limits

Image optimization

  • Use 1024×1024 or higher resolution
  • Good lighting, clear subject
  • Plain backgrounds work best

Security

  • Never hardcode API keys
  • Use environment variables
  • Separate keys for dev/production