Skip to content

3D Generation

Generate a Hyper3D or Hitem3D mesh asynchronously through BytePlus ModelArk.

POST /v1/3d/generations returns a job_id immediately. Poll GET /v1/jobs/{job_id} until it completes. Every request needs a plm_ API key.

POST/v1/3d/generations

Submit a job#

ParameterTypeRequiredDescription
modelstringOptional3D model ID. Defaults to Hyper3d-Rodin-Gen2.
promptstring | nullOptionalText description. Up to 4,000 characters, or 400 for Hyper3D. Either prompt or images is required.
imagesstring[]OptionalHTTP(S) image-reference URLs. The global ceiling is 5; Hitem3D requires 1–4.
generation_modestandard_white | standard_textured | high_precision_white | high_precision_texturedOptionalRequired Hitem3D price mode. It atomically fixes the matching resolution/request_type.
mesh_optionsobjectOptionalStructured Hyper3D-only mesh controls (material, mesh_mode, quality_override, and more). It cannot be combined with Hitem3D generation_mode.
output_formatglb | obj | stl | fbx | usdzOptionalPreferred result file format.
seedintegerOptionalHyper3D-only seed from 0 to 65,535. It cannot be sent to Hitem3D.
charge_amount_krwinteger | nullOptionalFixed KRW settlement amount. Normal API keys cannot use it; only first-party delegated keys may.
request
curl https://router.pleum.ai/v1/3d/generations \
  -H "Authorization: Bearer $PLEUM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: product-mesh-001" \
  -d '{
    "model": "Hitem3d-2.0",
    "images": ["https://example.com/product.png"],
    "generation_mode": "high_precision_textured",
    "output_format": "glb"
  }'
200 OK
{
  "job_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "status": "processing",
  "model": "Hitem3d-2.0",
  "result_url": null,
  "cost": null,
  "error": null,
  "assets": []
}

BytePlus ModelArk model rules#

Model-specific inputs, formats, and price modes are validated before a credit hold is created. Unsupported combinations return 400 with no charge.

ParameterTypeRequiredDescription
Hyper3D Rodin Gen2text-to-3D / image-to-3DOptionalAccepts a prompt or up to five image references. generation_mode is not allowed; Hyper3D mesh_options and seed are available.
Hitem3D 2.0image-to-3DOptionalRequires both 1–4 image references and generation_mode. Choosing standard/high-precision × white/textured fixes the official variant and price together.

Poll a job#

GET/v1/jobs/{job_id}

POST initially returns processing. GET /v1/jobs/{job_id} returns the same job shape; on success, assets can contain GLB/OBJ/STL/FBX/USDZ files and result_url is the representative URL.

succeeded
{
  "job_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "status": "succeeded",
  "model": "Hitem3d-2.0",
  "result_url": "https://cdn.pleum.ai/3d/f47ac10b-58cc-4372-a567-0e02b2c3d479.glb",
  "cost": {"krw": 2900},
  "error": null,
  "assets": [
    {"type": "3d", "url": "https://cdn.pleum.ai/3d/f47ac10b-58cc-4372-a567-0e02b2c3d479.glb", "format": "glb"}
  ]
}

Settlement and BYOK#

An async 3D job snapshots its selected offering, variant, FX rate, and markup at submission, then settles from that snapshot on completion. Idempotency-Key is optional (max 128 chars) and replays the same body for 24 hours.

Async generation such as 3D and video does not support BYOK. A BYOK-key request returns 400; a missing or not-owned job_id returns 404.