From prompt to GLBin a few API calls

No complex setup. No 3D expertise required. Create a flow, poll until it finishes, then download the model.

Read the Quickstart ->
quickstart.py
import base64
import requests
import time

API_KEY = "your-api-key-here"
BASE_URL = "https://flows.generio.ai"
headers = {"Authorization": f"Bearer {API_KEY}"}

payload = {
    "template": "model_generate_fromprompt",
    "parameters": {"quality": "high"},
    "inputs": [{"data": "A modern office chair", "additional": None}],
    "additional": None,
}

# 1. Create a flow
response = requests.post(f"{BASE_URL}/flows", headers=headers, json=payload)
flow_id = response.json()["flow_id"]

# 2. Poll until complete
while True:
    status = requests.get(
        f"{BASE_URL}/flows/{flow_id}", headers=headers
    ).json()
    if status["state"] in ["completed", "failed", "aborted"]:
        break
    time.sleep(5)

if status["state"] != "completed":
    raise SystemExit(status["state"])

# 3. Download your GLB (per-output asset_id)
outputs = requests.get(
    f"{BASE_URL}/flows/{flow_id}/outputs", headers=headers
).json()["outputs"]
asset_id = outputs[0]["asset_id"]
r = requests.get(
    f"{BASE_URL}/flows/{flow_id}/outputs/{asset_id}?include_data=true",
    headers=headers,
)
data_uri = r.json()["data"]
binary = base64.b64decode(data_uri.split(",", 1)[1])
with open(f"model_{asset_id}.glb", "wb") as f:
    f.write(binary)

Community & Support

Join the community or reach out - we're here to help

Discord

Get help, share your creations, and connect with other developers building with Generio.

Join Discord ->
GitHub

Report issues, request features, or contribute to the ecosystem.

View on GitHub ->
Email Support

Stuck? Reach out directly. We typically respond within 24 hours.

Contact Us ->