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 uploadYesYesComing soon
WorldYesYesComing soon
Lux3DYesYesComing soon
RenderCloud

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

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 (coming soon)

Requirements: Python ≥ 3.9

PackageDescription
manycore-aholo-sdk-assetFile upload
manycore-aholo-sdk-worldWorld reconstruction & generation
manycore-aholo-sdk-lux3dLux3D generation

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

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

Language guides


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