REST API · Live

i23d API vs CSM — Image to 3D API

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.

$0.010 / model GLB + OBJ output 5,000 free credits (7-day trial) No credit card Texture up to 2048px SOC2-aligned infra
Get an API key (free) Quick start See pricing API docs

Quick start — image to 3D in one API call

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")

i23d API vs CSM — Pricing comparison

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.

ProviderFree tierPer-model priceOutput formatImage 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.

What you get back

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.

GLB — binary glTF, industry standard

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.

OBJ — broad compatibility

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.

Texture size control

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.

Async job model — no hanging connections

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.

Automatic credit refund on failure

If the 3D reconstruction fails our output-quality check, credits are refunded automatically. You never pay for a broken or empty mesh.

Production-ready mesh quality

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).

Common workflows for the image-to-3D API

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.

Ecommerce AR product viewers

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.

Product catalog 3D automation

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.

Game asset prototyping

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.

Virtual try-on staging

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.

Digital twin creation

Turn photos of physical objects, equipment, or real estate fixtures into lightweight 3D representations for simulation, visualization, and inspection pipelines.

3D printing prep

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 →

Integrations & SDKs

Shopify

Auto-generate 3D product models from uploaded photos via webhook — no manual modeling needed.

BigCommerce

3D asset generation wired into the BC product catalog API on SKU upload.

WooCommerce

WordPress plugin pattern for on-demand 3D model generation from product gallery images.

Zapier

No-code trigger: new product image → 3D model → store to Dropbox or Google Drive.

Make.com

Drag-and-drop 3D generation inside Make scenarios for content and ecommerce pipelines.

Magento

Adobe Commerce / Magento 2 plugin pattern for catalog 3D asset generation on publish.

Comparison vs alternatives

vs CSM (Common Sense Machines)

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.

vs Meshy

Meshy offers more output formats (STL, USDZ). PixelAPI is half the Meshy pay-as-you-go price: $0.010 vs $0.020 per model.

vs Tripo3D

Tripo3D provides very detailed meshes with FBX/USDZ export. PixelAPI is transparent on per-call REST pricing without subscription bundles.

vs Rodin (Hyper3D)

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.

Rate limits & error handling

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.

PlanConcurrent 3D jobsRequests / min
Free trial510
Starter2030
Pro5060
Scale100120

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.

Frequently asked questions

What is the i23d API?

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.

How does the PixelAPI i23d API compare to CSM?

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.

What does the image-to-3D API cost?

$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.

What output formats does the image-to-3D API return?

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.

How do I generate a 3D model from an image via API?

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.

How long does image-to-3D generation take?

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.

What image formats are accepted as input?

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.

Can I control the texture resolution of the output?

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.

Are there SDKs for the image-to-3D API?

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.

What rate limits apply to the image-to-3D API?

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.

Can I use the API for commercial projects like ecommerce AR or game dev?

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.

Start free — 5,000 credits, no card Read full API docs Compare all plans