πŸ”ƒCompress

Learn how to compress assets with a query.

The Compress API is available in the Custom plan.

​Compress a 3D asset

POST https://api.echo3D.com/compress

This endpoint allows you to compress a 3D model.

Request Body

NameTypeDescription

key*

string

Your API key.

hologramFileType*

string

A type of hologram. Only 2 form MODEL_HOLOGRAM is supported.

ratio

number

A value between 0 to 1 that represents the compression ratio where 1 the original model and 0 is an empty model. For example, 0.3. Default is 1.

fileToCompress

string

The model file to compress. Supported formats include .obj, .fbx, .gltf, and .glb.

compressGlb

boolean

True if the output file should go through lossless compression which dramatically reduces file size but only supports a .glb output and selected 3D players. Default is false.

gltfpack

boolean

True if the output should include an optimize version of the file using glftpack. Default is false.

tags

string

Command-line parameters for gltfpack. Only cc (produce compressed output) and tc (compress textures) are supported. Use cc,tc to include both.

modelName

string

The name to set for the output file.

modelId

string

The entry ID of the model file to compress.

resize

boolean

True if the output file should be resized. Default is false.

gltftransform

string

The gltf-transform command to run (list of commands can be found here).

secKey

string

Your Secret key. Only if enabled through the Security page.

ultimateCompress

boolean

True if the output should include an optimize version of the file using echo3D Ultimate Compression. Default is false.

N/A

Action Descriptions and Priority

1. Resizing

If a Compress API call is sent with resize=true,the model will be resized based on the ratio value given.

2. Polygon Reduction

If a Compress API call is sent with no resize parameter or with resize=false, the model will be decimated (poly reduced) based on the ratio value given.

3. echo3d Ultimate Compression

If a Compress API call is sent with no resize parameter or with resize=false and ultimateCompress=true, the model will go through extensive compression which dramatically reduces file size. When compressing a file directly (not an entry), only .gltf and .glb files are supported. Only supports a .glb output and works with selected 3D players. Note that this compression may be lossy.

4. Draco Compression

If a Compress API call is sent with no resize parameter or with resize=false and compressGlb=true, the model will go through lossless Draco compression which reduces file size. Only supports a .glb output and works with selected 3D players.

5. gltfpack

If a Compress API call is sent with no resize parameter or with resize=false, no compressGlb parameter or compressGlb=false, and gltfpack=true, the model will be optimized using the glftpack tool. You should send the file (in .gltf or .glb format) using the fileToCompress parameter, or the entry ID or the Poly model ID using the modelId parameter. You can also add command-line parameters for gltfpack:

  • cc to produce a compressed output.

  • tc to compress textures.

6. gltf-transform

If a Compress API call is sent with no resize parameter or with resize=false, no compressGlb parameter or compressGlb=false, and gltfpack=false, the model will be optimized using the gltf-transform tool. You should set the gltf-transform parameter as the command to run with gltftransform=<COMMAND> (list can be found here), and send the file (in .gltf or .glb format) using the fileToCompress parameter. You can also add command-line parameters for gltftransform, for example:

  • gltftransform set to resize.

  • width set to 256.

  • height set to 256.

Last updated