Skip to main content

SDK Overview

Aholo provides official SDKs in three languages. They wrap authentication, multipart upload, task polling, and other details so you can integrate without hand-writing HTTP.

Capability matrix​

CapabilityTypeScriptJavaPython
Asset uploadYesYesYes
WorldYesYesYes
Lux3DYesYesYes
RenderCloud———

RenderCloud has no SDK wrapper yet. See the RenderCloud sections in API Reference.

Versions: Lux3D SDK is at v1.7.0 for TypeScript, Java, and Python. It adds multimodal-to-image, prompt-capable four-view, and STL/3MF export. Generation versions are G1 / G1-Turbo. World is v1.3.0; Asset and core remain v1.2.0. MCP is @manycore/aholo-sdk-mcp@1.7.0.

Quick install​

# Install only the packages you need
npm install @manycore/aholo-sdk-asset
npm install @manycore/aholo-sdk-world
npm install @manycore/aholo-sdk-lux3d

Packages​

TypeScript / Node.js​

Requirements: Node.js ≥ 18

Packagenpm
@manycore/aholo-sdk-assetnpm
@manycore/aholo-sdk-worldnpm
@manycore/aholo-sdk-lux3dnpm
@manycore/aholo-sdk-corenpm

Java​

Requirements: Java 8+, Maven ≥ 3.6 (JDK 17 or 21 recommended when building from source)

ArtifactMaven Central
com.manycoreapis:aholo-sdk-assetView
com.manycoreapis:aholo-sdk-worldView
com.manycoreapis:aholo-sdk-lux3dView
com.manycoreapis:aholo-sdk-coreView

Python​

Requirements: Python ≥ 3.9

PackagePyPI
manycore-aholo-sdk-assetPyPI
manycore-aholo-sdk-worldPyPI
manycore-aholo-sdk-lux3dPyPI
manycore-aholo-sdk-corePyPI

Authentication​

All SDKs read your API key as follows:

Recommended: environment variable (SDK reads AHOLO_API_KEY automatically)

export AHOLO_API_KEY=your_api_key_here

You can also pass the key explicitly in code — see each language guide below.

Security

Never hardcode API keys in source code, packages, or public repositories.

Apply for an API key: Global · China

Region​

ValueDescriptionAPI endpoint
cnChinahttps://api.aholo3d.cn
comGlobalhttps://api.aholo3d.com

Async tasks & status​

World and Lux3D are async: after creation, poll until a terminal state. Each SDK provides waitFor / tasks.waitFor helpers.

World task status​

PhaseStatusDescription
In progressPENDINGQueued
In progressPREPROCESSINGPreprocessing
In progressRUNNINGRunning
SuccessSUCCEEDEDDone — read assets.splats.urls (incl. lodMetaPath), assets.imagery.panoUrl (generation), assets.semanticsMetadata.upAxis
FailedFAILEDFailed
FailedCANCELEDCanceled
FailedTIMEOUTTimed out
FailedREJECTEDRejected

waitFor(worldId) returns details on SUCCEEDED; failure terminal states throw PollingFailedError (Java: AholoException).

Lux3D task status​

ValueDescription
0Initializing
1Running
3Success (outputs[n].content is a download URL, valid ~2 hours)
4Failed
6Canceled

Image/text generation supports zip / glb / ply; material transfer supports zip / glb / usdz / obj zip / fbx zip; multi-format export supports usdz / obj zip / fbx zip / stl / 3mf.

tasks.waitFor(taskId) returns when status === 3; throws on status === 4 or 6.

Language guides​


GitHub README is for installation only. If it conflicts with this page, this page wins. Source and runnable examples: GitHub.