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.
- GitHub: manycoretech/aholo-spatial-sdk
Capability matrix
| Capability | TypeScript | Java | Python |
|---|---|---|---|
| Asset upload | Yes | Yes | Coming soon |
| World | Yes | Yes | Coming soon |
| Lux3D | Yes | Yes | Coming soon |
| RenderCloud | — | — | — |
RenderCloud has no SDK wrapper yet. See the RenderCloud sections in API Reference.
Quick install
- TypeScript
- Java
- Python
# Install only the packages you need
npm install @manycore/aholo-sdk-asset
npm install @manycore/aholo-sdk-world
npm install @manycore/aholo-sdk-lux3d
<!-- pom.xml — add as needed -->
<dependency>
<groupId>com.manycoreapis</groupId>
<artifactId>aholo-sdk-asset</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.manycoreapis</groupId>
<artifactId>aholo-sdk-world</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.manycoreapis</groupId>
<artifactId>aholo-sdk-lux3d</artifactId>
<version>1.2.0</version>
</dependency>
The Python SDK is under development. Follow progress on GitHub.
Packages
TypeScript / Node.js
Requirements: Node.js ≥ 18
| Package | npm |
|---|---|
@manycore/aholo-sdk-asset | |
@manycore/aholo-sdk-world | |
@manycore/aholo-sdk-lux3d | |
@manycore/aholo-sdk-core |
Java
Requirements: Java 8+, Maven ≥ 3.6 (JDK 17 or 21 recommended when building from source)
| Artifact | Maven Central |
|---|---|
com.manycoreapis:aholo-sdk-asset | View |
com.manycoreapis:aholo-sdk-world | View |
com.manycoreapis:aholo-sdk-lux3d | View |
com.manycoreapis:aholo-sdk-core | View |
Python (coming soon)
Requirements: Python ≥ 3.9
| Package | Description |
|---|---|
manycore-aholo-sdk-asset | File upload |
manycore-aholo-sdk-world | World reconstruction & generation |
manycore-aholo-sdk-lux3d | Lux3D 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.
Never hardcode API keys in source code, packages, or public repositories.
Apply for an API key: Global · China
Region
| Value | Description | API endpoint |
|---|---|---|
cn | China | https://api.aholo3d.cn |
com | Global | https://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
| Phase | Status | Description |
|---|---|---|
| In progress | PENDING | Queued |
| In progress | PREPROCESSING | Preprocessing |
| In progress | RUNNING | Running |
| Success | SUCCEEDED | Done — read assets.splats.urls (incl. lodMetaPath), assets.imagery.panoUrl (generation), assets.semanticsMetadata.upAxis |
| Failed | FAILED | Failed |
| Failed | CANCELED | Canceled |
| Failed | TIMEOUT | Timed out |
| Failed | REJECTED | Rejected |
waitFor(worldId) returns details on SUCCEEDED; failure terminal states throw PollingFailedError (Java: AholoException).
Lux3D task status
| Value | Description |
|---|---|
0 | Initializing |
1 | Running |
3 | Success (outputs[n].content is a download URL, valid ~2 hours) |
4 | Failed |
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.