Skip to main content

Function: createAsset()

createAsset(client, props): Promise<{ id: number; name: string; type: "MODEL" | "MATERIAL" | "IMAGE" | "SCENE" | "ENVMAP" | "CAD" | "LIGHT"; visibility: "PRIVATE" | "PUBLIC" | "UNLISTED"; projectId: number; projectName: string; orgId: number; orgName: string; description: string; keywords: string; shareLicense: "NONE" | "CC_0" | "CC_BY" | "CC_BY_SA" | "CC_BY_NC" | "CC_BY_NC_SA" | "CC_BY_ND" | "CC_BY_NC_ND"; aiUsage: "UNDISCLOSED" | "AI_USED" | "AI_FREE"; commentMode: "NONE" | "ENABLED" | "MEMBERS_ONLY"; reported: boolean; likeCount: number; shareCount: number; createdAt: string; updatedAt: string; archived: boolean; metadata: string; originalSize?: number | null; width?: number | null; height?: number | null; depth?: number | null; version: string; latestVersion: string; versionId: number; originalExtension: string; fileOid: string; thumbnailOid?: string | null; analysis?: { schemaVersion: 1; sourceFileOid: string; analyzerId: string; analyzerVersion: string; status: "unsupported" | "pending" | "running" | "succeeded" | "failed"; analyzedAt: string | null; data: { kind: "model"; dimensions: { widthMeters: number; depthMeters: number; heightMeters: number; unitSource: "unknown" | "format-defined" | "declared" | "assumed"; measurementBasis: string; } | null; meshCount: number; geometryCount: number; triangleCount: number; vertexCount: number; materialCount: number; textureCount: number; textures: object[]; } | { version?: string; colorspace?: string; materials: object[]; nodeGraphCount: number; topLevelNodeCount: number; referencedTextures: string[]; warnings: string[]; kind: "material"; nodeCount: number; textureCount: number; textures: object[]; } | { version: string; metadata: Record<string, string>; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; warnings: string[]; kind: "light"; luminousFluxLumens: number | null; efficacyLumensPerWatt: number | null; beamAngleDegrees: number | null; fieldAngleDegrees: number | null; declaredLampFluxLumens?: number | null; downwardFluxLumens?: number | null; upwardFluxLumens?: number | null; metricsTiltDegrees?: number; beamAngles?: object[]; metricsStatus: "unavailable" | "supported" | "unsupported"; } | { kind: "envmap"; widthPixels: number; heightPixels: number; format: string; colorSpace: string; projection: "unknown" | "equirectangular"; brightnessUnit: "relative" | "cd/m2"; calibration: string | null; minimumBrightness: number; maximumBrightness: number; averageBrightness: number; percentile01Brightness: number; percentile99Brightness: number; dynamicRangeStops: number | null; } | null; validation: { status: "valid" | "invalid" | "unassessed"; validator: string; validatorVersion: string; rules: string[]; issues: object[]; } | null; diagnostics: object[]; } | null; analysisSummary?: { schemaVersion: 1; sourceFileOid: string; analyzerId: string; analyzerVersion: string; status: "unsupported" | "pending" | "running" | "succeeded" | "failed"; analyzedAt: string | null; validationStatus: "valid" | "invalid" | "unassessed" | null; errorCount: number; warningCount: number; data: { kind: "envmap"; widthPixels: number; heightPixels: number; format: string; colorSpace: string; projection: "unknown" | "equirectangular"; brightnessUnit: "relative" | "cd/m2"; calibration: string | null; minimumBrightness: number; maximumBrightness: number; averageBrightness: number; percentile01Brightness: number; percentile99Brightness: number; dynamicRangeStops: number | null; } | { kind: "model"; dimensions: { widthMeters: number; depthMeters: number; heightMeters: number; unitSource: "unknown" | "format-defined" | "declared" | "assumed"; measurementBasis: string; } | null; meshCount: number; geometryCount: number; triangleCount: number; vertexCount: number; materialCount: number; textureCount: number; } | { version?: string; colorspace?: string; nodeGraphCount: number; topLevelNodeCount: number; kind: "material"; nodeCount: number; textureCount: number; materialCount: number; } | { version: string; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; kind: "light"; luminousFluxLumens: number | null; efficacyLumensPerWatt: number | null; beamAngleDegrees: number | null; fieldAngleDegrees: number | null; declaredLampFluxLumens?: number | null; downwardFluxLumens?: number | null; upwardFluxLumens?: number | null; metricsTiltDegrees?: number; metricsStatus: "unavailable" | "supported" | "unsupported"; } | null; } | null; materialInfo?: { version?: string; colorspace?: string; materials: object[]; nodeGraphCount: number; topLevelNodeCount: number; referencedTextures: string[]; warnings: string[]; }; lightInfo?: { version: string; metadata: Record<string, string>; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; warnings: string[]; }; }>

Creates a new asset in a project.

Parameters​

client​

ApiClient

The API client instance

props​

The request properties

params​

{ orgName: string; projectName: string; } = createAssetParamsSchema

Path parameters (orgName, projectName)

params.orgName​

string = orgNameSchema

params.projectName​

string = projectNameSchema

body​

{ version?: string; name: string; description?: string; type: "MODEL" | "MATERIAL" | "IMAGE" | "SCENE" | "ENVMAP" | "CAD" | "LIGHT"; uploadToken: string; visibility: "PRIVATE" | "PUBLIC" | "UNLISTED"; shareLicense: "NONE" | "CC_0" | "CC_BY" | "CC_BY_SA" | "CC_BY_NC" | "CC_BY_NC_SA" | "CC_BY_ND" | "CC_BY_NC_ND"; aiUsage?: "UNDISCLOSED" | "AI_USED" | "AI_FREE"; commentMode?: "NONE" | "ENABLED" | "MEMBERS_ONLY"; metadata?: string; } = createAssetBodySchema

Request body with asset details

body.version?​

string = ...

body.name​

string = ...

body.description?​

string = ...

body.type​

"MODEL" | "MATERIAL" | "IMAGE" | "SCENE" | "ENVMAP" | "CAD" | "LIGHT" = ...

body.uploadToken​

string = ...

body.visibility​

"PRIVATE" | "PUBLIC" | "UNLISTED" = ...

body.shareLicense​

"NONE" | "CC_0" | "CC_BY" | "CC_BY_SA" | "CC_BY_NC" | "CC_BY_NC_SA" | "CC_BY_ND" | "CC_BY_NC_ND" = ...

body.aiUsage?​

"UNDISCLOSED" | "AI_USED" | "AI_FREE" = ...

body.commentMode?​

"NONE" | "ENABLED" | "MEMBERS_ONLY" = ...

body.metadata?​

string = ...

Returns​

Promise<{ id: number; name: string; type: "MODEL" | "MATERIAL" | "IMAGE" | "SCENE" | "ENVMAP" | "CAD" | "LIGHT"; visibility: "PRIVATE" | "PUBLIC" | "UNLISTED"; projectId: number; projectName: string; orgId: number; orgName: string; description: string; keywords: string; shareLicense: "NONE" | "CC_0" | "CC_BY" | "CC_BY_SA" | "CC_BY_NC" | "CC_BY_NC_SA" | "CC_BY_ND" | "CC_BY_NC_ND"; aiUsage: "UNDISCLOSED" | "AI_USED" | "AI_FREE"; commentMode: "NONE" | "ENABLED" | "MEMBERS_ONLY"; reported: boolean; likeCount: number; shareCount: number; createdAt: string; updatedAt: string; archived: boolean; metadata: string; originalSize?: number | null; width?: number | null; height?: number | null; depth?: number | null; version: string; latestVersion: string; versionId: number; originalExtension: string; fileOid: string; thumbnailOid?: string | null; analysis?: { schemaVersion: 1; sourceFileOid: string; analyzerId: string; analyzerVersion: string; status: "unsupported" | "pending" | "running" | "succeeded" | "failed"; analyzedAt: string | null; data: { kind: "model"; dimensions: { widthMeters: number; depthMeters: number; heightMeters: number; unitSource: "unknown" | "format-defined" | "declared" | "assumed"; measurementBasis: string; } | null; meshCount: number; geometryCount: number; triangleCount: number; vertexCount: number; materialCount: number; textureCount: number; textures: object[]; } | { version?: string; colorspace?: string; materials: object[]; nodeGraphCount: number; topLevelNodeCount: number; referencedTextures: string[]; warnings: string[]; kind: "material"; nodeCount: number; textureCount: number; textures: object[]; } | { version: string; metadata: Record<string, string>; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; warnings: string[]; kind: "light"; luminousFluxLumens: number | null; efficacyLumensPerWatt: number | null; beamAngleDegrees: number | null; fieldAngleDegrees: number | null; declaredLampFluxLumens?: number | null; downwardFluxLumens?: number | null; upwardFluxLumens?: number | null; metricsTiltDegrees?: number; beamAngles?: object[]; metricsStatus: "unavailable" | "supported" | "unsupported"; } | { kind: "envmap"; widthPixels: number; heightPixels: number; format: string; colorSpace: string; projection: "unknown" | "equirectangular"; brightnessUnit: "relative" | "cd/m2"; calibration: string | null; minimumBrightness: number; maximumBrightness: number; averageBrightness: number; percentile01Brightness: number; percentile99Brightness: number; dynamicRangeStops: number | null; } | null; validation: { status: "valid" | "invalid" | "unassessed"; validator: string; validatorVersion: string; rules: string[]; issues: object[]; } | null; diagnostics: object[]; } | null; analysisSummary?: { schemaVersion: 1; sourceFileOid: string; analyzerId: string; analyzerVersion: string; status: "unsupported" | "pending" | "running" | "succeeded" | "failed"; analyzedAt: string | null; validationStatus: "valid" | "invalid" | "unassessed" | null; errorCount: number; warningCount: number; data: { kind: "envmap"; widthPixels: number; heightPixels: number; format: string; colorSpace: string; projection: "unknown" | "equirectangular"; brightnessUnit: "relative" | "cd/m2"; calibration: string | null; minimumBrightness: number; maximumBrightness: number; averageBrightness: number; percentile01Brightness: number; percentile99Brightness: number; dynamicRangeStops: number | null; } | { kind: "model"; dimensions: { widthMeters: number; depthMeters: number; heightMeters: number; unitSource: "unknown" | "format-defined" | "declared" | "assumed"; measurementBasis: string; } | null; meshCount: number; geometryCount: number; triangleCount: number; vertexCount: number; materialCount: number; textureCount: number; } | { version?: string; colorspace?: string; nodeGraphCount: number; topLevelNodeCount: number; kind: "material"; nodeCount: number; textureCount: number; materialCount: number; } | { version: string; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; kind: "light"; luminousFluxLumens: number | null; efficacyLumensPerWatt: number | null; beamAngleDegrees: number | null; fieldAngleDegrees: number | null; declaredLampFluxLumens?: number | null; downwardFluxLumens?: number | null; upwardFluxLumens?: number | null; metricsTiltDegrees?: number; metricsStatus: "unavailable" | "supported" | "unsupported"; } | null; } | null; materialInfo?: { version?: string; colorspace?: string; materials: object[]; nodeGraphCount: number; topLevelNodeCount: number; referencedTextures: string[]; warnings: string[]; }; lightInfo?: { version: string; metadata: Record<string, string>; photometricType: number; photometricTypeName: "A" | "B" | "C"; photometry: "absolute" | "relative"; manufacturer: string; luminaire: string; lightSource: string; lampCatalog: string; lampCount: number; lumensPerLamp: number; inputWatts: number; peakCandela: number; verticalAngles: number; horizontalAngles: number; units: "feet" | "meters"; dimensions: { width: number; length: number; height: number; }; hasTilt: boolean; warnings: string[]; }; }>

Promise resolving to the created asset

Operation Id​

create-asset

Example​

const asset = await createAsset(client, {
params: { orgName: 'my-org', projectName: 'my-project' },
body: {
name: 'my-asset',
type: 'MODEL',
uploadToken: '...',
visibility: 'PUBLIC',
shareLicense: 'CC_BY'
}
});