Evaluating the t23d API vs Tripo for your pipeline? PixelAPI's text3d-v1 converts any text prompt into a production-ready GLB mesh for $0.015/model — true pay-per-call, no monthly subscription, no credit bundles to pre-buy. POST a prompt, poll for completion, download your 3D file. 500 free credits, no credit card required.
Sign up, copy your key from the dashboard, and POST your prompt. The endpoint returns a job_id immediately; poll GET /v1/3d/text-status/{job_id} until status=completed, then download the GLB from output_url.
curl -X POST https://api.pixelapi.dev/v1/3d/text-generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "prompt=a red leather office chair with chrome legs" \
-F "resolution=128"
# Response: {"id": "uuid", "status": "queued", "poll_url": "/v1/3d/text-status/uuid", ...}
# Poll until completed (~75s)
curl https://api.pixelapi.dev/v1/3d/text-status/UUID \
-H "Authorization: Bearer YOUR_API_KEY"
# Response: {"status": "completed", "output_url": "https://...model.glb"}
pip install pixelapi
---
import time
from pixelapi import PixelAPI
client = PixelAPI(api_key="YOUR_API_KEY")
# Submit generation
job = client.text_to_3d(
prompt="a red leather office chair with chrome legs",
resolution=128,
)
# Poll until done
while job.status != "completed":
time.sleep(5)
job = client.get_3d_status(job.id)
job.save("chair.glb") # downloads the GLB
npm install pixelapi
---
import { PixelAPI } from "pixelapi";
const client = new PixelAPI({ apiKey: process.env.PIXELAPI_KEY });
const job = await client.textTo3d({
prompt: "a red leather office chair with chrome legs",
resolution: 128,
});
// SDK polls automatically
const result = await job.waitForCompletion();
await result.save("chair.glb");
composer require pixelapi/pixelapi
---
<?php
use PixelAPI\Client;
$client = new Client(getenv("PIXELAPI_KEY"));
$job = $client->textTo3d([
"prompt" => "a red leather office chair with chrome legs",
"resolution" => 128,
]);
// Poll until completed
do {
sleep(5);
$status = $client->get3dStatus($job->id);
} while ($status->status !== "completed");
file_put_contents("chair.glb", file_get_contents($status->output_url));
gem install pixelapi
---
require "pixelapi"
require "open-uri"
client = PixelAPI::Client.new(api_key: ENV["PIXELAPI_KEY"])
job = client.text_to_3d(
prompt: "a red leather office chair with chrome legs",
resolution: 128
)
loop do
sleep 5
status = client.get_3d_status(job.id)
break if status.completed?
end
File.binwrite("chair.glb", URI.open(status.output_url).read)
go get github.com/pixelapi/pixelapi-go
---
import (
"time"
"github.com/pixelapi/pixelapi-go"
)
client := pixelapi.New("YOUR_API_KEY")
job, err := client.TextTo3D(pixelapi.Text3DParams{
Prompt: "a red leather office chair with chrome legs",
Resolution: 128,
})
if err != nil { panic(err) }
for job.Status != "completed" {
time.Sleep(5 * time.Second)
job, err = client.Get3DStatus(job.ID)
if err != nil { panic(err) }
}
job.Save("chair.glb")
PixelAPI is the only text-to-3D generator with a true pay-per-call REST API — no subscriptions, no seat limits. Rivals require monthly plans before your first API call.
| Provider | Free tier | Pricing model | Per-model cost | Output |
|---|---|---|---|---|
| PixelAPI text3d-v1 | 500 credits, no card | Pay-per-call | $0.015 | GLB |
| Tripo3D | Limited trial credits | Subscription + credits | see platform.tripo3d.ai/pricing | GLB, OBJ, FBX |
| Meshy | No API access on free tier | Subscription ($25+/mo) | see meshy.ai/pricing | GLB, OBJ, FBX, STL |
| Luma Genie | Limited generations/mo | Subscription ($30+/mo) | see lumalabs.ai/pricing | GLB, USDZ |
| Rodin | Limited trial | Subscription + credits | see hyper.ai/rodin | GLB, OBJ, FBX |
Pricing verified from each rival's public pricing page in May 2026. PixelAPI rivals use subscription-based billing that bundles monthly credits — per-model costs depend on plan tier and usage volume. PixelAPI's $0.015 is a flat pay-per-call rate with no monthly commitment.
Every successful generation returns a signed download URL for a binary GLB file. The same URL is also stored in your account's generation history for 30 days.
Binary GL Transmission Format. Loads natively in Three.js, Babylon.js, model-viewer, Unity (via glTFast), Unreal Engine, Blender, and any GLTF-compatible viewer. No conversion needed.
Pass resolution=128 (default) for lighter geometry with faster load times, or resolution=256 for denser mesh detail on complex shapes. Both cost the same $0.015.
Every job is logged in your dashboard with the prompt, resolution, generation time, and output URL. Re-download any model from the past 30 days without re-generating.
If a generation fails at any stage, credits are automatically returned to your account. You never pay for a job that returns status=failed.
| Method | Path | Purpose |
|---|---|---|
POST | /v1/3d/text-generate | Submit text-to-3D job. Returns job_id and poll_url immediately. |
GET | /v1/3d/text-status/{job_id} | Check job status. Returns queued | processing | completed | failed and output_url when done. |
GET | /v1/3d/text-pricing | Returns current credit cost, resolution options, and average generation time. No auth required. |
| Parameter | Type | Required | Values |
|---|---|---|---|
prompt | string (form) | Yes | 3–500 characters. Describe the object clearly — shape, material, color, style. |
resolution | integer (form) | No | 128 (default) or 256. Controls mesh density. |
The text-to-3D API is the foundation for these production pipelines. Each links to a full setup guide:
Generate on-demand 3D from product descriptions. Drop straight into a WebGL viewer.
Room planning tools. Generate chair, table, and shelving GLBs from catalog copy.
Ring, pendant, and bracelet previews from text before physical prototyping.
Bag, shoe, and hat 3D previews for AR try-on and lookbook production.
Generate furniture and prop GLBs for virtual staging without 3D artists.
Prototype figurine and collectible designs from text before committing to tooling.
Auto-generate product GLBs on catalog import. Serve via Shopify's 3D media API.
Server-side generation with React Three Fiber viewer for zero-CLS 3D product pages.
No-code automation: trigger 3D generation from a spreadsheet or form submission.
Connect to 5,000+ apps. Generate a GLB whenever a new product is added anywhere.
CMS-driven 3D model viewer for product pages. Embed the model-viewer web component.
Auto-generate and attach GLBs to WooCommerce products via webhook + plugin.
PixelAPI: flat $0.015/model, no subscription. Tripo3D: credit bundles on monthly plans. Both produce GLB output.
Meshy requires a $25+/month plan for API access. PixelAPI: 500 free credits, then $0.015 — no plan required.
Luma Dream Machine focuses on video; Genie 3D is subscription-gated. PixelAPI is purpose-built text-to-3D with pay-per-call billing.
Rodin (Hyper.ai) specializes in high-poly character meshes with subscription credits. PixelAPI fits lower-cost prop and product asset generation at scale.
3D generation jobs run concurrently, not sequentially. The rate limit governs concurrent active jobs, not requests per second.
Retry-After header value (seconds)Recommended polling strategy: check every 5 seconds for the first 60 seconds, then every 10 seconds up to 5 minutes. The Python and Node SDKs implement this automatically with waitForCompletion().
# Python: poll with backoff
import time
from pixelapi import PixelAPI
client = PixelAPI(api_key="YOUR_API_KEY")
job = client.text_to_3d(prompt="a wooden treasure chest", resolution=128)
interval = 5
for _ in range(60): # max ~5 minutes
time.sleep(interval)
status = client.get_3d_status(job.id)
if status.status == "completed":
status.save("chest.glb")
break
if status.status == "failed":
raise RuntimeError(f"Generation failed: {status.error_message}")
interval = min(interval * 1.5, 15) # gentle backoff
PixelAPI's text3d-v1 is a true pay-per-call REST API at $0.015/model — no monthly subscription, no minimum spend. Tripo3D uses a subscription credit model; see platform.tripo3d.ai/pricing for current rates. PixelAPI accepts prompts up to 500 characters and returns a downloadable GLB in approximately 75 seconds.
$0.015 per 3D model. New accounts get 500 free credits (enough for 33 test models) with no credit card required. There are no monthly minimums, seat fees, or prepaid credit bundles. You only pay for what you generate.
The text-to-3D endpoint returns a GLB file — the binary runtime format for 3D scenes. GLB is natively supported by Three.js, Babylon.js, model-viewer, Unity (via glTFast), Unreal Engine, Blender, and every major WebGL renderer. No conversion step required.
POST your text prompt to https://api.pixelapi.dev/v1/3d/text-generate. You immediately get back a job_id. Poll GET /v1/3d/text-status/{job_id} every 5 seconds until status=completed, then download the GLB from output_url. See the Quick Start section above for code in six languages.
Two options: resolution=128 (default, lighter mesh, faster download, better for web viewers) and resolution=256 (denser geometry, more surface detail, better for 3D printing or close-up renders). Both cost the same $0.015/model.
Yes — pip install pixelapi. The SDK handles authentication, async job polling, retry-on-429, and binary GLB download. Official SDKs are also available for Node.js (npm install pixelapi), PHP, Ruby, Go, and Java/Kotlin.
Average ~75 seconds end-to-end. The pipeline converts your text prompt to an intermediate image and then constructs a 3D mesh from it. Queue wait is typically under 10 seconds on paid tiers. Poll every 5 seconds for the first minute, then every 10 seconds. The SDK waitForCompletion() handles this automatically.
Default 10 concurrent 3D jobs on the free tier, 30 on paid tiers. Because each job takes ~75 seconds, this translates to roughly 14–40 models per hour at standard limits. Need higher throughput? Email [email protected] with expected volume.
Yes. Three.js's GLTFLoader and Babylon.js's SceneLoader.ImportMesh both load GLB files natively. Pass the output_url directly as the source — no intermediate conversion needed. The model-viewer web component also loads GLB URLs directly.
Credits are automatically refunded to your account. The poll endpoint returns status=failed with an error_message field. Common causes: prompt too vague (add more detail), content policy violation (the API checks prompts before billing). You never pay for a failed job.
E-commerce teams building interactive product viewers, game developers prototyping prop libraries without manual modeling, jewelry and fashion brands creating AR previews, furniture retailers building room-planning tools, and real estate platforms generating virtual staging assets.
Yes. PixelAPI is a registered Indian business. We issue GST invoices — 18% IGST for international clients, CGST/SGST for domestic. Invoice download is built into the billing dashboard.