Material
A material as returned by the API. Use prefix_id in URLs. Besides the fields below the object carries
URL fields for every stored file: {slot}_url, {slot}_{res}_url and {slot}_ktx2_{res}_url for
slot in color_map, normal_map, roughness_map, metalness_map, splat_map, sky_map and res in 512, 1k, 2k,
4k, 8k; {slot}_url for occlusion_map, orm_map, emissive_map, opacity_map, displacement_map;
height_map_url and height_map_{256|512|1k|2k|4k}_url. Each is null when the file is missing.
material_abc123Internal numeric id; use prefix_id.
Possible values: [private, organization, unlisted, public]
Possible values: [opengl, directx]
Counts changes of what the stable links serve.
parameters object
glTF 2.0 metallic-roughness factors and settings (KHR_materials_* names, as three.js MeshStandardMaterial uses them). Factors multiply the textures; without a texture the factor is the value. Unknown keys, wrong types and out-of-range values are rejected (422). On update a key set to null returns to its default.
Linear RGBA, multiplies base_color. Default [1, 1, 1, 1].
Possible values: >= 4, <= 4
Multiplies orm.B. Default 1 with a metalness or orm source, else 0.
Possible values: >= 0 and <= 1
Multiplies orm.G. Default 1.
Possible values: >= 0 and <= 1
Strength of the normal texture. Default 1.
Possible values: >= -10 and <= 10
How much orm.R darkens. Default 1.
Possible values: >= 0 and <= 1
Linear RGB, multiplies emissive. Default [0, 0, 0], or [1, 1, 1] with an emissive map.
Possible values: >= 3, <= 3
KHR_materials_emissive_strength. Default 1.
Possible values: >= 0 and <= 1000
Default OPAQUE, or MASK with an opacity map.
Possible values: [OPAQUE, MASK, BLEND]
Cutoff for MASK. Default 0.5.
Possible values: >= 0 and <= 1
Default false.
Metres the displacement texture moves vertices (three.js, not glTF core). Default 0.02.
Possible values: >= -100 and <= 100
Metres added to the displacement. Default 0.
Possible values: >= -100 and <= 100
effective_parameters object
glTF 2.0 metallic-roughness factors and settings (KHR_materials_* names, as three.js MeshStandardMaterial uses them). Factors multiply the textures; without a texture the factor is the value. Unknown keys, wrong types and out-of-range values are rejected (422). On update a key set to null returns to its default.
Linear RGBA, multiplies base_color. Default [1, 1, 1, 1].
Possible values: >= 4, <= 4
Multiplies orm.B. Default 1 with a metalness or orm source, else 0.
Possible values: >= 0 and <= 1
Multiplies orm.G. Default 1.
Possible values: >= 0 and <= 1
Strength of the normal texture. Default 1.
Possible values: >= -10 and <= 10
How much orm.R darkens. Default 1.
Possible values: >= 0 and <= 1
Linear RGB, multiplies emissive. Default [0, 0, 0], or [1, 1, 1] with an emissive map.
Possible values: >= 3, <= 3
KHR_materials_emissive_strength. Default 1.
Possible values: >= 0 and <= 1000
Default OPAQUE, or MASK with an opacity map.
Possible values: [OPAQUE, MASK, BLEND]
Cutoff for MASK. Default 0.5.
Possible values: >= 0 and <= 1
Default false.
Metres the displacement texture moves vertices (three.js, not glTF core). Default 0.02.
Possible values: >= -100 and <= 100
Metres added to the displacement. Default 0.
Possible values: >= -100 and <= 100
metadata object
Runtime textures the material has sources for.
Possible values: [base_color, orm, normal, emissive, displacement, sky]
links object
Stable links per available texture, e.g. {"base_color":{"ktx2":"/m/material_abc123/base_color.ktx2","webp":"/m/material_abc123/base_color.webp"}}.
property name* object
/m/material_abc123.jsonvariants object[]
mvar_abc123Possible values: [pending, processing, ready, failed]
metadata object
The encoded KTX2 file, once ready.
A material as returned by the API. Use prefix_id in URLs. Besides the fields below the object carries
URL fields for every stored file: {slot}_url, {slot}_{res}_url and {slot}_ktx2_{res}_url for
slot in color_map, normal_map, roughness_map, metalness_map, splat_map, sky_map and res in 512, 1k, 2k,
4k, 8k; {slot}_url for occlusion_map, orm_map, emissive_map, opacity_map, displacement_map;
height_map_url and height_map_{256|512|1k|2k|4k}_url. Each is null when the file is missing.
{
"prefix_id": "material_abc123",
"id": 0,
"user_id": 0,
"name": "string",
"status": "string",
"visibility": "private",
"organization_id": 0,
"organization_prefix_id": "string",
"y_flip": true,
"normal_convention": "opengl",
"content_version": 0,
"parameters": {
"baseColorFactor": [
0
],
"metallicFactor": 0,
"roughnessFactor": 0,
"normalScale": 0,
"occlusionStrength": 0,
"emissiveFactor": [
0
],
"emissiveStrength": 0,
"alphaMode": "OPAQUE",
"alphaCutoff": 0,
"doubleSided": true,
"displacementScale": 0,
"displacementBias": 0
},
"effective_parameters": {
"baseColorFactor": [
0
],
"metallicFactor": 0,
"roughnessFactor": 0,
"normalScale": 0,
"occlusionStrength": 0,
"emissiveFactor": [
0
],
"emissiveStrength": 0,
"alphaMode": "OPAQUE",
"alphaCutoff": 0,
"doubleSided": true,
"displacementScale": 0,
"displacementBias": 0
},
"metadata": {},
"available_textures": [
"base_color"
],
"links": {},
"manifest_path": "/m/material_abc123.json",
"variants": [
{
"prefix_id": "mvar_abc123",
"texture": "string",
"encoding": "string",
"block": "string",
"quality": 0,
"effort": 0,
"max_size": 0,
"y_flip": true,
"status": "pending",
"preferred": true,
"width": 0,
"height": 0,
"mip_levels": 0,
"byte_size": 0,
"psnr": 0,
"metadata": {},
"url": "string",
"superseded_at": "2024-07-29T15:51:28.071Z",
"created_at": "2024-07-29T15:51:28.071Z",
"updated_at": "2024-07-29T15:51:28.071Z"
}
],
"material_preview_url": "string",
"material_preview_thumb_url": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"updated_at": "2024-07-29T15:51:28.071Z"
}