Skip to content

Engineering Details

Vite Build Configuration

Since UMD does not support multiple entry points, we use the BUILD_TARGET environment variable to distinguish between two builds:

bash
# ESM Build (including type declarations)
vite build

# UMD Build
BUILD_TARGET=umd vite build

# Build both formats at once
pnpm build   # = vite build && BUILD_TARGET=umd vite build
Build TargetEntryArtifactDescription
ESMsrc/index.tsdist/index.es.js + dist/index.d.tsTerser compression enabled, drop_console
UMDsrc/umd.tsdist/index.umd.jsUncompressed (for easier debugging), mounts window.GeneratorSDK

Development Commands

bash
cd SDK

pnpm install     # Install dependencies
pnpm build       # Build ESM + UMD
pnpm build:esm   # Build ESM only
pnpm build:umd   # Build UMD only
pnpm dev         # ESM watch mode
pnpm dev:umd     # UMD watch mode
pnpm type-check  # TypeScript type check

Backend API Mapping Table

The SDK reuses existing backend interfaces directly, with no new additions required except for the credits deduction interface.

Unified Request Format

http
POST /ai/v5/artimind/generator
uToken: {uToken}
lang: en
Content-Type: application/json

{ ... }

Unified Response Format

json
{ "code": 0, "msg": "success", "data": { ... } }

Interface List

SDK ModuleMethodHTTP MethodPathStatus
AuthHandled internally by passport-clientExisting
Cloudsave (Create)POST/ai/v5/artimind/generatorExisting
Cloudsave (Update)PUT/ai/v5/artimind/generatorExisting
CloudrestoreGET/ai/v5/artimind/generator/:idExisting
ClouddeleteDELETE/ai/v5/artimind/generator/:idExisting
HistorygetListPOST/ai/v5/artimind/generator/typeExisting
HistorygetDetailGET/ai/v5/artimind/generator/:idExisting (Reuses Cloud)
HistorydeleteDELETE/ai/v5/artimind/generator/:idExisting (Reuses Cloud)
CreditsgetBalanceGET/ai/v1/credit/getBalanceExisting
CreditsconsumePOST/sdk/v1/credits/consumePending backend addition
BillinggetUsageGET/ai/v5/artimind/free_trial/count?module=generator_{appKey}Existing
BillingconsumePOST/ai/v5/artimind/free_trialExisting
ExportPure frontend operation + OSS uploadExisting

MIT Licensed