PixelAPI's t23d API (text-to-3D) converts a text prompt into a downloadable GLB 3D model in one async REST call. At $0.010 per model — exactly half Meshy's price — it is the lowest-cost text-to-3D API available without a volume commitment. Send a prompt, poll for the job, download the GLB. 300 free credits, no credit card.
Sign up, copy your key, and POST a text prompt. The endpoint returns a job_id immediately. Poll GET /v1/3d/text-status/{job_id} every few seconds until status=completed, then download the GLB from output_url.
# Step 1 — submit the job
curl -X POST https://api.pixelapi.dev/v1/3d/text-generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "prompt=a wooden treasure chest with iron bands" \
-F "resolution=256"
# Response: {"job_id": "uuid", "status": "queued", "estimated_seconds": 75}
# Step 2 — poll until completed
curl https://api.pixelapi.dev/v1/3d/text-status/UUID \
-H "Authorization: Bearer YOUR_API_KEY"
# Response: {"status": "completed", "output_url": "https://cdn.pixelapi.dev/..."}
pip install pixelapi
---
import time
from pixelapi import PixelAPI
client = PixelAPI(api_key="YOUR_API_KEY")
job = client.text_to_3d(prompt="a wooden treasure chest with iron bands", resolution=256)
print(f"Job queued: {job.job_id}")
# Poll until done (SDK handles this automatically)
result = client.wait_for_job(job.job_id, timeout=120)
result.save("chest.glb") # downloads GLB to disk
npm install pixelapi
---
import { PixelAPI } from "pixelapi";
import { writeFileSync } from "fs";
const client = new PixelAPI({ apiKey: process.env.PIXELAPI_KEY });
const job = await client.textTo3D({ prompt: "a wooden treasure chest with iron bands", resolution: 256 });
const result = await job.wait({ timeoutMs: 120_000 });
writeFileSync("chest.glb", await result.bytes());
composer require pixelapi/pixelapi
---
<?php
use PixelAPI\Client;
$client = new Client(getenv("PIXELAPI_KEY"));
$job = $client->textTo3D([
"prompt" => "a wooden treasure chest with iron bands",
"resolution" => 256,
]);
$result = $client->waitForJob($job["job_id"], 120);
file_put_contents("chest.glb", $result->getBody());
gem install pixelapi
---
require "pixelapi"
client = PixelAPI::Client.new(api_key: ENV["PIXELAPI_KEY"])
job = client.text_to_3d(prompt: "a wooden treasure chest with iron bands", resolution: 256)
result = client.wait_for_job(job["job_id"], timeout: 120)
File.binwrite("chest.glb", result.body)
go get github.com/pixelapi/pixelapi-go
---
import "github.com/pixelapi/pixelapi-go"
client := pixelapi.New("YOUR_API_KEY")
job, err := client.TextTo3D("a wooden treasure chest with iron bands", 256)
if err != nil { panic(err) }
result, err := client.WaitForJob(job.JobID, 120)
if err != nil { panic(err) }
result.Save("chest.glb")
PixelAPI prices at exactly half the cheapest mainstream rival per tool — not arbitrarily lower (which signals low quality) and not higher (not competitive). The cheapest mainstream rival for text-to-3D API is Meshy at $0.02 per model. PixelAPI's t23d API therefore costs $0.010 per model.
| Provider | Free tier | Per-model cost | Output formats | Async API |
|---|---|---|---|---|
| PixelAPI t23d | 300 credits, no card | $0.010 | GLB | ✓ |
| Meshy (text-to-3D) | 200 free credits/mo | $0.020 | GLB · OBJ · FBX · USDZ | ✓ |
| Tripo3D | Limited trial | $0.10–$0.20 | GLB · OBJ · FBX · STL | ✓ |
| Rodin (Hyper3D) | Subscription only | See hyper3d.ai/pricing | GLB · OBJ · FBX | ✓ |
| Luma Genie | — | No text-to-3D API (image & video only) | — | — |
Pricing verified from each rival's public pricing page, November 2026. Meshy: docs.meshy.ai/en/api/pricing. Tripo3D: developers.tripo3d.ai. Rodin: hyper3d.ai/pricing. Luma: lumalabs.ai/api/pricing (no text-to-3D endpoint available). PixelAPI's per-model price is set at exactly half the cheapest mainstream rival per our published pricing policy.
A single self-contained file with mesh, UV map, and material data. Loads directly into Unity (GLTFast/UnityGLTF), Unreal Engine, Blender, Three.js, Babylon.js, and any WebGL renderer. No separate texture downloads.
Pass resolution=128 for lightweight meshes (prototypes, mobile assets) or resolution=256 for denser geometry (hero props, 3D print prep). Both values return the same GLB format.
Your POST returns a job_id within milliseconds. Poll GET /v1/3d/text-status/{job_id} at your own cadence — no held connections, no timeouts. Typical completion: 60–90 seconds.
If a job ends in status=failed, credits are automatically refunded to your account. You are never charged for a generation that did not produce a downloadable file.
The t23d API (text-to-3D) fits anywhere a developer needs 3D assets on demand without a 3D artist in the loop.
Generate prop assets, environmental details, and prototype meshes from design briefs. Pipe directly into Unity or Unreal asset import. Great for rapid prototyping and game jams where budget is tight and timelines are short.
WebXR and ARKit/ARCore apps need GLB natively — no conversion step. Generate room decoration assets, branded objects, or interactive props from product descriptions without a modelling contractor.
Convert text descriptions of physical objects — jewelry, figurines, enclosures — into printable mesh files. Use resolution=256 for the denser geometry that slicers (Cura, PrusaSlicer) need for clean STL conversion.
Concept exploration and early-stage previz at zero per-asset cost. Generate 10 variations of a prop in 15 minutes, pick the direction, then hand the best mesh to a finishing modeller. Cuts first-pass modelling cost significantly.
These are the most common developer patterns for the t23d API — from rapid prototyping to fully automated asset pipelines.
Submit 20 prompts in parallel (up to your concurrency limit). Collect job IDs, poll in a single loop, download when complete. Produces a full prop library overnight with no manual modelling.
Let customers describe a custom product (a personalized trophy, a branded keychain) and generate a preview mesh before they place the order. Removes the design bottleneck entirely.
When a new product SKU is added, trigger the t23d API with the product title as the prompt. Store the GLB alongside the 2D images for WebGL viewers (model-viewer, Three.js) and AR Quick Look.
Integrate the API into your CI/CD build — designers describe props in YAML, the pipeline calls the t23d API and imports GLBs into the game's asset registry. No artist needed for iteration.
Feed user-submitted room descriptions into the API to populate virtual environments. Each new user generates a unique set of objects — no two rooms are the same, at $0.010 per object.
Customer submits a description ("a chess piece shaped like a robot"), API returns GLB, your backend converts to STL and sends to the printer. Full end-to-end automation for custom merchandise.
Use the t23d API inside your existing tools and no-code platforms:
Trigger 3D generation on new product creation. Store GLB as a product media file for 3D viewer and AR.
No-code text-to-3D workflow. Trigger from Google Sheets, Airtable, or a form submission.
Auto-generate GLBs for Webflow CMS product pages. Embed with model-viewer or Spline.
Catalog automation: generate 3D assets for every new SKU via BigCommerce webhook.
Server-side 3D generation in a Next.js API route. Stream progress to the client via SSE.
Connect text-to-3D to 6,000+ apps in a no-code Zapier zap. No code required.
PixelAPI costs $0.010 vs Meshy's $0.020 — exactly half. Meshy has a richer GUI and more export formats; PixelAPI is built for headless developer pipelines and batch automation.
Tripo3D starts at $0.10 per model — 10× PixelAPI's price. Good mesh quality but significantly more expensive for high-volume pipelines.
Rodin uses subscription pricing with no published per-call rate. PixelAPI offers transparent pay-per-call pricing with no monthly commitment required.
Luma's current API covers image and video generation only — no text-to-3D endpoint is available as of November 2026. PixelAPI ships a dedicated text-to-3D pipeline today.
Rate limits apply per API key: 20 requests/minute on the free trial, 60 on Starter, 120 on Pro, and 300 on Scale. Parallel jobs per key: 3 / 10 / 20 / 50. Exceeding the limit returns HTTP 429 with a Retry-After header. Recommended backoff: start at 5s, double on each retry up to 60s. The PixelAPI SDKs handle this automatically.
# Python SDK — automatic retry on 429
from pixelapi import PixelAPI
client = PixelAPI(api_key="...", max_retries=4)
# Submit and wait — retries 429 with backoff automatically
result = client.text_to_3d(prompt="a low-poly oak tree", resolution=256)
result.save("tree.glb")
If your job returns status=failed, credits are refunded automatically and error_message in the status response explains why. Common causes: prompts that describe complex multi-object scenes (use single-object prompts for best results), or prompts that trigger the content safety filter.
PixelAPI's t23d API generates GLB 3D models from text prompts at $0.010 per model — exactly half Meshy's $0.02 price. Both deliver downloadable 3D mesh files via a REST API. Meshy offers more export formats (OBJ, FBX, USDZ) and a GUI editor; PixelAPI is optimized for headless developer pipelines and batch automation.
$0.010 per 3D model. That is exactly half Meshy's $0.02 per-model price. New accounts get 300 free credits — enough for 30 free 3D generations — with no credit card required.
The API returns a GLB file (binary glTF). GLB is the industry-standard format for real-time 3D: it loads natively in Unity, Unreal Engine, Blender, Three.js, Babylon.js, and <model-viewer>. It is self-contained — mesh, texture, and materials in one download, no sidecar files.
POST your prompt to https://api.pixelapi.dev/v1/3d/text-generate with your Bearer token. The response returns a job_id immediately. Poll GET /v1/3d/text-status/{job_id} every 5–10 seconds until status=completed, then fetch the GLB from output_url. See the Quick Start section above for copy-paste code in 6 languages.
Most jobs complete in 60–90 seconds. The pipeline converts your text description to an intermediate image, then extracts the 3D mesh. The API is fully async — your POST returns in milliseconds so there is no timeout risk on your HTTP client.
Single-object prompts with clear shape and material descriptions produce the cleanest meshes: "a futuristic sci-fi helmet", "a ceramic coffee mug with a curved handle", "a low-poly pine tree". Prompts must be 3–500 characters. Avoid describing full scenes with multiple objects or backgrounds — those tend to produce muddy geometry.
Yes. New accounts receive 300 free credits — enough for 30 text-to-3D models — with no credit card required. The trial is per-account and covers any tool on PixelAPI, not just the t23d endpoint.
20 requests/minute on the free trial, 60 on Starter, 120 on Pro, and 300 on Scale. Parallel concurrent jobs: 3/10/20/50 respectively. HTTP 429 responses include a Retry-After header. The Python and Node.js SDKs handle retry with exponential backoff automatically — no extra code needed.
Yes. POST an image to https://api.pixelapi.dev/v1/3d/generate to generate a 3D mesh from a photo. That endpoint uses the same async polling pattern and also returns GLB, at $0.010 per model. See the API docs for the full endpoint reference.
Yes. GLB is the preferred 3D import format for both Unity (via the GLTFast or UnityGLTF package) and Unreal Engine (via the glTF importer plugin). It also loads natively in Blender, Three.js, Babylon.js, and any <model-viewer> WebGL renderer. No conversion step required.
If a job ends with status=failed, your credits are automatically refunded. You are never charged for a generation that did not produce a downloadable file. The error_message field in the status response explains the failure reason.
Yes — pip install pixelapi. The SDK handles authentication, async polling, retry-on-429, and returns the GLB bytes for direct file saving. Official SDKs also cover Node.js (npm install pixelapi), PHP (Composer), Ruby (Gem), and Go (go get).