The i23d API vs CSM comparison: PixelAPI's image-to-3D API turns a single product photo into a production-ready 3D mesh. One POST call, async polling, GLB or OBJ output. $0.010 per model — half the price of Meshy API, and significantly cheaper than CSM's subscription tiers. 5,000 free trial credits (7 days), no credit card.
Sign up, copy your key from the dashboard, and POST your product photo. The endpoint returns a job_id immediately. Poll GET /v1/3d/status/{job_id} until status=completed, then download the GLB or OBJ from output_url. Typical generation: 60–120 seconds.
# Step 1 — submit image curl -X POST https://api.pixelapi.dev/v1/3d/generate \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "[email protected]" \ -F "format=glb" \ -F "texture_size=1024" # Response: {"id":"uuid","status":"queued","credits_used":10,"estimated_seconds":90,"poll_url":"/v1/3d/status/uuid"} # Step 2 — poll until completed curl https://api.pixelapi.dev/v1/3d/status/UUID \ -H "Authorization: Bearer YOUR_API_KEY" # Response: {"id":"uuid","status":"completed","output_url":"https://..."}
pip install pixelapi
---
from pixelapi import PixelAPI
client = PixelAPI(api_key="YOUR_API_KEY")
job = client.image_to_3d(
image="product.jpg",
format="glb",
texture_size=1024
)
job.wait() # polls automatically
job.save("product.glb") # downloads GLB when completed
npm install pixelapi
---
import { PixelAPI } from "pixelapi";
const client = new PixelAPI({ apiKey: process.env.PIXELAPI_KEY });
const job = await client.imageTo3d({
image: "./product.jpg",
format: "glb",
textureSize: 1024,
});
await job.wait(); // polls until completed
await job.save("product.glb"); // saves GLB locally
composer require pixelapi/pixelapi
---
<?php
use PixelAPI\Client;
$client = new Client(getenv("PIXELAPI_KEY"));
$job = $client->imageTo3d([
"image" => "product.jpg",
"format" => "glb",
"texture_size" => 1024,
]);
$job->wait();
file_put_contents("product.glb", $job->getBody());
gem install pixelapi
---
require "pixelapi"
client = PixelAPI::Client.new(api_key: ENV["PIXELAPI_KEY"])
job = client.image_to_3d(
image: "product.jpg",
format: "glb",
texture_size: 1024
)
job.wait
File.binwrite("product.glb", job.body)
go get github.com/pixelapi/pixelapi-go
---
import "github.com/pixelapi/pixelapi-go"
client := pixelapi.New("YOUR_API_KEY")
job, err := client.ImageTo3D(pixelapi.ImageTo3DParams{
Image: "product.jpg",
Format: "glb",
TextureSize: 1024,
})
if err != nil { panic(err) }
job.Wait()
job.Save("product.glb")
The i23d API vs CSM pricing gap is significant. PixelAPI charges $0.010 per 3D model on a pure pay-as-you-go basis with no monthly minimum. CSM requires a subscription for API access — see their pricing page for current rates. Meshy API is the cheapest open-access competitor at $0.02/model; PixelAPI is exactly half that.
| Provider | Free tier | Per-model price | Output format | Image input |
|---|---|---|---|---|
| PixelAPI (i23d API) | 5,000 credits (7-day trial), no card | $0.010 | GLB · OBJ | ✓ |
| CSM (Common Sense Machines) | Subscription tiers | See csm.ai/pricing | GLB · OBJ · FBX · USD | ✓ |
| Meshy | Limited free credits | $0.020 (pay-as-you-go) | GLB · FBX · OBJ · USDZ · STL | ✓ |
| Tripo3D | Limited free credits on signup | See developers.tripo3d.ai/en/pricing | GLB · FBX · OBJ · USDZ | ✓ |
| Rodin (Hyper3D) | Business plan from $120/mo | See hyper3d.ai/pricing | GLB · FBX · OBJ | ✓ |
Meshy API pay-as-you-go pricing verified from docs.meshy.ai/en/api/pricing, October 2026. PixelAPI price from canonical pricing audit — exactly half the cheapest public rival rate. CSM, Tripo, and Rodin use subscription or tiered credit models; see each provider's pricing page for current per-call rates.
Every successful image-to-3D call returns an output_url pointing to a 3D mesh file, plus a job_id for audit and re-fetch.
Loads directly into Unity, Unreal Engine, Blender, Three.js, Babylon.js, and every major WebXR and AR framework. One self-contained file — no companion textures or material files needed.
Pass format=obj for a Wavefront OBJ with accompanying MTL and texture map. Accepted by virtually every 3D application, slicer, and CAD tool. Pass format=all to receive both GLB and OBJ in one call.
Choose texture_size=512 (default, fastest) for rapid prototyping, 1024 for product catalog quality, or 2048 for AR viewers and game asset pipelines where texture detail matters.
The POST returns a job_id in milliseconds. Poll GET /v1/3d/status/{id} on your own schedule — works inside Lambda, serverless, or long-running batch jobs without an open HTTP connection.
If the 3D reconstruction fails our output-quality check, credits are refunded automatically. You never pay for a broken or empty mesh.
The pipeline reconstructs geometry and bakes diffuse textures directly from the input image. Meshes are watertight and scaled for standard AR product viewer conventions (meters, Y-up).
The i23d API fits naturally into product photography pipelines, ecommerce AR, and game asset workflows. Each integration is a few lines of code on top of the same REST endpoint.
Convert flat product photos into 3D models for WebGL product viewers, AR Quick Look (iOS), and Scene Viewer (Android). Shoppers interact with products in their own space before buying.
Ingest your existing product image library and generate a 3D asset for every SKU in bulk. Batch jobs queue through the async endpoint — no worker management needed.
Photograph a physical object or use a product render, then generate a 3D mesh for rapid prototyping in Unity or Unreal. GLB imports drag-and-drop into both engines.
Generate 3D stand-in meshes from product photos for WebXR virtual staging and virtual try-on experiences. Replace with hand-modeled hero assets at final production.
Turn photos of physical objects, equipment, or real estate fixtures into lightweight 3D representations for simulation, visualization, and inspection pipelines.
Use the OBJ or GLB as a starting mesh in Blender or PrusaSlicer. Texture-2048 output gives enough surface detail for FDM and resin printers at standard small-object sizes.
More workflows: all industries →
Auto-generate 3D product models from uploaded photos via webhook — no manual modeling needed.
3D asset generation wired into the BC product catalog API on SKU upload.
WordPress plugin pattern for on-demand 3D model generation from product gallery images.
No-code trigger: new product image → 3D model → store to Dropbox or Google Drive.
Drag-and-drop 3D generation inside Make scenarios for content and ecommerce pipelines.
Adobe Commerce / Magento 2 plugin pattern for catalog 3D asset generation on publish.
CSM offers high-quality image-to-3D with more output formats and a managed studio workflow. PixelAPI is pure REST pay-as-you-go with no subscription floor — $0.010/model starting today.
Meshy offers more output formats (STL, USDZ). PixelAPI is half the Meshy pay-as-you-go price: $0.010 vs $0.020 per model.
Tripo3D provides very detailed meshes with FBX/USDZ export. PixelAPI is transparent on per-call REST pricing without subscription bundles.
Rodin requires a $120+/mo Business plan for API access. PixelAPI is pure pay-as-you-go from $0.010/model with no plan minimum.
The image-to-3D API is rate-limited per plan. 3D generation is compute-intensive — limits keep latency predictable for all users. When a limit is hit, the API returns HTTP 429 with a Retry-After header.
| Plan | Concurrent 3D jobs | Requests / min |
|---|---|---|
| Free trial | 5 | 10 |
| Starter | 20 | 30 |
| Pro | 50 | 60 |
| Scale | 100 | 120 |
Recommended retry strategy: exponential backoff starting at 5s, doubling on each 429 up to 60s. Python and Node.js SDKs handle this automatically.
# Python SDK — auto-retries 429 with backoff
from pixelapi import PixelAPI
client = PixelAPI(api_key="...", max_retries=4)
job = client.image_to_3d(image="product.jpg", format="glb") # auto-retries on 429
job.wait()
job.save("product.glb")
If a generation fails server-side, the job returns status=failed with an error_message. Credits are automatically refunded — poll the status endpoint to confirm. HTTP 400 is returned for unsupported image formats or out-of-range texture_size values.
The i23d API (image-to-3D API) is PixelAPI's REST endpoint for generating a 3D mesh from a single photograph or product image. POST your image file to POST /v1/3d/generate, receive a GLB or OBJ file. No 3D modeling software or point-cloud capture required.
PixelAPI's i23d API costs $0.010 per model on a pure pay-as-you-go basis with no subscription requirement. CSM (Common Sense Machines) is a well-regarded image-to-3D platform with richer output format support and a managed creation studio — see csm.ai/pricing for current rates. PixelAPI's focus is the developer REST endpoint: simple, cheap, and automatable.
$0.010 per generated 3D model (10 credits × $0.001/credit). New accounts receive 5,000 free credits across a 7-day trial window — enough for 500 test models before any purchase. See pixelapi.dev/pricing for full plan details.
GLB (binary glTF) by default — the industry standard for Unity, Unreal Engine, Three.js, Babylon.js, AR Quick Look, and Scene Viewer. Pass format=obj for Wavefront OBJ with MTL and texture file, or format=all to receive both GLB and OBJ from a single API call.
POST your image (JPEG, PNG, or WebP) to https://api.pixelapi.dev/v1/3d/generate with form fields image, format (glb/obj/all), and optional texture_size (512/1024/2048). The response returns a job_id immediately. Poll GET /v1/3d/status/{job_id} until status=completed, then download the 3D file from output_url. See Quick Start above for code in 6 languages.
60–120 seconds end-to-end under typical load. The pipeline reconstructs geometry and bakes textures from the input photo in one pass. Jobs queue immediately with no cold-start delays. If the service is under heavy load, estimated_seconds in the queued response adjusts dynamically.
JPEG, PNG, and WebP are accepted. For the best mesh quality, use a product photo with a plain or light background, even frontal lighting, and minimal motion blur. Resolution of 512×512 or higher is recommended — the API accepts images up to 10 MP. The API returns HTTP 400 for unsupported formats.
Yes — pass texture_size=512 (default, fastest), texture_size=1024 for medium detail, or texture_size=2048 for highest-quality textures. The 2048 setting is recommended for AR product viewers and game art pipelines where texture sharpness is visible. Higher settings increase generation time by 20–40 seconds.
Yes — pip install pixelapi (Python), npm install pixelapi (Node.js), PHP (Composer), Ruby (Gem), and Go (go get). All SDKs handle API key authentication, async polling, exponential-backoff on 429, and binary file download automatically.
5 concurrent jobs / 10 req/min on the free trial; 20/30 on Starter; 50/60 on Pro; 100/120 on Scale. HTTP 429 with Retry-After on overrun. Higher limits for batch pipelines — contact support@pixelapi.dev with your expected volume.
Yes. PixelAPI's paid plans include a commercial-use license for all generated 3D assets. The GLB and OBJ outputs are import-ready in Unity and Unreal Engine for game production, and load directly into WebXR AR product viewers for ecommerce. See pixelapi.dev/terms for full IP ownership terms.