openapi: 3.2.0 info: description: REST API for Adobe Substance 3D - Firefly Services. title: Adobe Substance 3D API - Firefly Services Scenes API version: 1.0.0 servers: - url: https://s3d.adobe.io security: - bearerAuth: [] ApiKeyAuth: [] tags: - name: Scenes paths: /v1/scenes/assemble: post: operationId: v1/scenes/assemble summary: Create 3D scene description: Assemble a 3D scene with the Substance 3D API. parameters: - name: wait in: query description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. schema: description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. type: boolean default: false explode: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/restv1beta.CreateSceneRequest' responses: '202': description: Accepted headers: Retry-After: schema: type: string content: application/json: schema: $ref: '#/components/schemas/restv1beta.CreateSceneResponse' '400': description: Bad Request content: application/json: examples: empty_input_body: value: error_code: empty_input_body message: '' invalid_json: value: error_code: invalid_json message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '403': description: Forbidden content: application/json: examples: access_error: value: error_code: access_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '408': description: Request Timeout content: application/json: examples: timeout_error: value: error_code: timeout_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '415': description: Unsupported Media Type content: application/json: examples: invalid_content_type: value: error_code: invalid_content_type message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '422': description: Unprocessable Entity content: application/json: examples: validation_error: value: error_code: validation_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '429': description: Too Many Requests content: application/json: examples: rate_limited: value: error_code: rate_limited message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '500': description: Internal Server Error content: application/json: examples: runtime_error: value: error_code: runtime_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' tags: - Scenes x-s3d-public: true /v1/scenes/convert: post: operationId: v1/scenes/convert summary: Convert 3D files description: Convert a 3D file into another 3D format with the Substance 3D API. parameters: - name: wait in: query description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. schema: description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. type: boolean default: false explode: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/restv1beta.ModelConvertRequest' responses: '202': description: Accepted headers: Retry-After: schema: type: string content: application/json: schema: $ref: '#/components/schemas/restv1beta.ModelConvertResponse' '400': description: Bad Request content: application/json: examples: empty_input_body: value: error_code: empty_input_body message: '' invalid_json: value: error_code: invalid_json message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '403': description: Forbidden content: application/json: examples: access_error: value: error_code: access_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '408': description: Request Timeout content: application/json: examples: timeout_error: value: error_code: timeout_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '415': description: Unsupported Media Type content: application/json: examples: invalid_content_type: value: error_code: invalid_content_type message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '422': description: Unprocessable Entity content: application/json: examples: validation_error: value: error_code: validation_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '429': description: Too Many Requests content: application/json: examples: rate_limited: value: error_code: rate_limited message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '500': description: Internal Server Error content: application/json: examples: runtime_error: value: error_code: runtime_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' tags: - Scenes x-s3d-public: true /v1/scenes/describe: post: operationId: v1/scenes/describe summary: Describe 3D scene description: Describe a 3D scene. parameters: - name: wait in: query description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. schema: description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. type: boolean default: false explode: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/restv1beta.SceneDescRequest' responses: '202': description: Accepted headers: Retry-After: schema: type: string content: application/json: schema: $ref: '#/components/schemas/restv1beta.SceneDescResponse' '400': description: Bad Request content: application/json: examples: empty_input_body: value: error_code: empty_input_body message: '' invalid_json: value: error_code: invalid_json message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '403': description: Forbidden content: application/json: examples: access_error: value: error_code: access_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '408': description: Request Timeout content: application/json: examples: timeout_error: value: error_code: timeout_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '415': description: Unsupported Media Type content: application/json: examples: invalid_content_type: value: error_code: invalid_content_type message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '422': description: Unprocessable Entity content: application/json: examples: validation_error: value: error_code: validation_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '429': description: Too Many Requests content: application/json: examples: rate_limited: value: error_code: rate_limited message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '500': description: Internal Server Error content: application/json: examples: runtime_error: value: error_code: runtime_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' tags: - Scenes x-s3d-public: true /v1/scenes/render: post: operationId: v1/scenes/render summary: Render 3D object description: Render a 3D object with the Substance 3D API. parameters: - name: wait in: query description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. schema: description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. type: boolean default: false explode: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/restv1beta.RenderSceneRequest' responses: '202': description: Accepted headers: Retry-After: schema: type: string content: application/json: schema: $ref: '#/components/schemas/restv1beta.RenderSceneResponse' '400': description: Bad Request content: application/json: examples: empty_input_body: value: error_code: empty_input_body message: '' invalid_json: value: error_code: invalid_json message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '403': description: Forbidden content: application/json: examples: access_error: value: error_code: access_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '408': description: Request Timeout content: application/json: examples: timeout_error: value: error_code: timeout_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '415': description: Unsupported Media Type content: application/json: examples: invalid_content_type: value: error_code: invalid_content_type message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '422': description: Unprocessable Entity content: application/json: examples: validation_error: value: error_code: validation_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '429': description: Too Many Requests content: application/json: examples: rate_limited: value: error_code: rate_limited message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '500': description: Internal Server Error content: application/json: examples: runtime_error: value: error_code: runtime_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' tags: - Scenes x-s3d-public: true /v1/scenes/render-basic: post: operationId: v1/scenes/render-basic summary: Render 3D object (basic version) description: Render a 3D object (basic version) with the Substance 3D API. parameters: - name: wait in: query description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. schema: description: Blocking mode (acts like a synchronous API call). Wait for the result before returning. ⚠️ Some operations are long, please be sure to configure your client timeout settings accordingly. type: boolean default: false explode: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/restv1beta.RenderModelRequest' responses: '202': description: Accepted headers: Retry-After: schema: type: string content: application/json: schema: $ref: '#/components/schemas/restv1beta.RenderModelResponse' '400': description: Bad Request content: application/json: examples: empty_input_body: value: error_code: empty_input_body message: '' invalid_json: value: error_code: invalid_json message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '403': description: Forbidden content: application/json: examples: access_error: value: error_code: access_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '408': description: Request Timeout content: application/json: examples: timeout_error: value: error_code: timeout_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '415': description: Unsupported Media Type content: application/json: examples: invalid_content_type: value: error_code: invalid_content_type message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '422': description: Unprocessable Entity content: application/json: examples: validation_error: value: error_code: validation_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '429': description: Too Many Requests content: application/json: examples: rate_limited: value: error_code: rate_limited message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' '500': description: Internal Server Error content: application/json: examples: runtime_error: value: error_code: runtime_error message: '' schema: $ref: '#/components/schemas/ffapierrors.FFAPIError' tags: - Scenes x-s3d-public: true components: schemas: types.SceneEnvironment: type: object properties: exposure: description: Exposure, in EV (0=neutral). type: number format: double default: 0 maximum: 10 minimum: -10 file: description: Path to the environment file in `sources`. If the value is `null`, the first found environment file will be used. type: string preserveLights: description: A scene may contain 3D lights, like area lights or spot lights. By default, all those lights are removed when a new environment is set. Set this option to `true` to preserve the scene 3D lights. type: boolean default: false rotation: description: Controls the orientation of the environment map. $ref: '#/components/schemas/types.Rotation' additionalProperties: false types.SceneStatsBoundingBox: type: object properties: max: type: - array - 'null' items: format: double type: number min: type: - array - 'null' items: format: double type: number additionalProperties: false required: - min - max restv1beta.CreateSceneJobResult: type: object properties: outputSpace: $ref: '#/components/schemas/rest_base.Space' sceneUrl: description: URL for the created scene. type: string additionalProperties: false required: - sceneUrl - outputSpace types.SceneStatsInfo: type: object properties: cameraNames: type: - array - 'null' items: type: string materialNames: type: - array - 'null' items: type: string metersPerSceneUnit: type: number format: double nodesHierarchy: $ref: '#/components/schemas/types.SceneStatsNode' numEquivalentTriangles: type: integer format: int64 numExtraPolygons: type: integer format: int64 numFaces: type: integer format: int64 numLines: type: integer format: int64 numMeshes: type: integer format: int64 numPoints: type: integer format: int64 numQuads: type: integer format: int64 numSubMeshes: type: integer format: int64 numTextures: type: integer format: int64 numTriangles: type: integer format: int64 numVertices: type: integer format: int64 sceneUpAxis: type: string additionalProperties: false required: - metersPerSceneUnit - sceneUpAxis - numVertices - numEquivalentTriangles - numPoints - numLines - numTriangles - numQuads - numExtraPolygons - numFaces - numMeshes - numSubMeshes - numTextures - cameraNames - materialNames - nodesHierarchy types.SceneBaseFile: type: object properties: file: description: Path to the scene file in `sources`. type: string modelsRootNodeName: description: Define root node for models in scene graph. If not found, the node which is parent of all models in the scene will be used. If this node doesn't exist, a new node will be created under global root. type: string additionalProperties: false required: - file types.SimpleSceneDescription: type: object properties: camera: description: Define a new camera for the scene. $ref: '#/components/schemas/types.SceneCamera' environment: description: Define the environment for the scene. Override the previous existing environment. $ref: '#/components/schemas/types.SceneEnvironment' formatOptions: description: Define options specific for the model file format. $ref: '#/components/schemas/types.FormatOptions' materialOverrides: description: Define material overrides. type: - array - 'null' items: $ref: '#/components/schemas/types.MaterialOverride' materials: description: Assign new materials to geometric primitives. type: - array - 'null' items: $ref: '#/components/schemas/types.MaterialAssign' metersPerUnit: description: Length of a scene unit, in meters. Defaults to 0.01 (centimeters). type: number format: double exclusiveMinimum: 0 modelFile: description: Path to the model file in `sources`. If the value is `null`, the first found model file will be used. type: string modelTransform: description: Transform applied on the model. $ref: '#/components/schemas/types.Transform' additionalProperties: false rest_base.SpaceFile: type: object properties: name: type: string size: type: integer format: int64 minimum: 0 url: type: string additionalProperties: false required: - url - name - size rest_base.SourceSpace: type: object properties: id: description: A space ID. type: string additionalProperties: false required: - id restv1beta.RenderSceneRequest: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.RenderSceneRequest.json readOnly: true autoFraming: description: Auto-framing related options. $ref: '#/components/schemas/types.AutoFramingOptions' background: description: Background related options. $ref: '#/components/schemas/types.BackgroundOptions' cameraName: description: If set, this camera is used to perform the render. The camera has to be defined in the scene. type: string extraOutputs: description: Request additional outputs from the renderer. $ref: '#/components/schemas/types.RenderExtraOutputs' groundPlane: description: Options related to the ground plane. $ref: '#/components/schemas/types.GroundPlaneOptions' scene: description: Define rendering scene primitives. $ref: '#/components/schemas/types.SceneDescription' size: description: Render size related options. $ref: '#/components/schemas/types.SizeOptions' sources: description: List of sources to aggregate and run the job against. type: array items: $ref: '#/components/schemas/rest_base.MountedSource' maxItems: 16 minItems: 1 additionalProperties: false examples: - scene: models: imports: - file: WaterBottle.glb sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb - scene: models: imports: - file: WaterBottle.glb sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb required: - scene - sources restv1beta.SceneDescResponse: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.SceneDescResponse.json readOnly: true bugReportUrl: description: URL to report a bug about this job. type: string error: description: Potential error that happened during the job processing. type: string id: description: Unique identifier of the job. type: string result: description: Result when the job is successfully finished. $ref: '#/components/schemas/restv1beta.SceneDescJobResult' status: description: Status of the job. Can be `not_started`, `running`, `succeeded`, or `failed`. type: string url: description: URL to fetch/poll for the job result, in case the job is not finished yet. type: string additionalProperties: false required: - url - id - status - bugReportUrl ffapierrors.FFAPIError: description: The error within the error response. type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/ffapierrors.FFAPIError.json readOnly: true error_code: description: Associated error code. type: string error_details: description: Optional list of individual error details. type: array items: type: object message: description: Error message. type: string additionalProperties: false required: - error_code rest_base.Space: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/rest_base.Space.json readOnly: true expiry: description: time at which the space will be deleted type: string format: date-time files: description: List of all files contained in Space, ordered by name. type: - array - 'null' items: $ref: '#/components/schemas/rest_base.SpaceFile' id: description: Unique identifier of this Space. type: string url: description: URL to the full description of this Space. type: string archiveUrl: description: URL to fetch the whole space as an archive (usually a ZIP file). additionalProperties: false required: - url - id - expiry - files types.TRS: type: object properties: rotation: $ref: '#/components/schemas/types.Rotation' scale: type: - array - 'null' items: format: double type: number maxItems: 3 minItems: 3 translation: type: - array - 'null' items: format: double type: number examples: - - 0 - 0 - 0 maxItems: 3 minItems: 3 additionalProperties: false required: - translation - rotation - scale restv1beta.SceneDescJobResult: type: object properties: stats: $ref: '#/components/schemas/types.SceneStatsInfo' additionalProperties: false required: - stats types.SceneModels: type: object properties: imports: description: List of model import definitions. type: - array - 'null' items: $ref: '#/components/schemas/types.SceneModel' modelsRootNodeTransform: description: Global transformation applied on the models root node defined in the scene. Overrides the previous value, if it exists. $ref: '#/components/schemas/types.Transform' additionalProperties: false types.SceneModel: type: object properties: anchorName: description: Node name in scene graph which used as parent for the model. If anchor is not found, a node with the anchor name will be generated under models root node. And If value is `null`, a node will be generated under models root node. type: string file: description: Path to the model file in `sources`. If the value is `null`, the first found model file will be used. type: string formatOptions: description: Define options specific for the model file format. $ref: '#/components/schemas/types.FormatOptions' materialOverrides: description: Define material overrides. type: - array - 'null' items: $ref: '#/components/schemas/types.MaterialOverride' transform: description: Transform applied on the anchor node. Overrides the previous value, if it exists. $ref: '#/components/schemas/types.Transform' additionalProperties: false types.Rotation: type: object properties: euler: description: Euler angles in degrees. type: array items: format: double type: number examples: - - 0 - 0 - 0 maxItems: 3 minItems: 3 quaternion: description: In W,X,Y,Z order. type: array items: format: double type: number examples: - - 1 - 0 - 0 - 0 maxItems: 4 minItems: 4 additionalProperties: false types.SceneStatsNode: type: object properties: assignedMaterialName: type: string cameraStats: $ref: '#/components/schemas/types.CameraStats' children: type: - array - 'null' items: $ref: '#/components/schemas/types.SceneStatsNode' name: type: string type: type: string variants: type: - array - 'null' items: $ref: '#/components/schemas/types.SceneStatsNodeVariant' worldSpaceBoundingBox: $ref: '#/components/schemas/types.SceneStatsBoundingBox' additionalProperties: false required: - name - type restv1beta.RenderSceneResponse: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.RenderSceneResponse.json readOnly: true bugReportUrl: description: URL to report a bug about this job. type: string error: description: Potential error that happened during the job processing. type: string id: description: Unique identifier of the job. type: string result: description: Result when the job is successfully finished. $ref: '#/components/schemas/restv1beta.RenderSceneJobResult' status: description: Status of the job. Can be `not_started`, `running`, `succeeded`, or `failed`. type: string url: description: URL to fetch/poll for the job result, in case the job is not finished yet. type: string additionalProperties: false required: - url - id - status - bugReportUrl types.SolidColorMaterial: type: object properties: color: description: RGB color of the solid material, each component has to be in the [0,1] range. type: - array - 'null' items: format: double type: number default: - 0 - 0 - 0 maxItems: 3 minItems: 3 metallicFactor: description: Metallic factor of the solid material, has to be in the [0,1] range. type: number format: double maximum: 1 minimum: 0 roughnessFactor: description: Roughness factor of the solid material, has to be in the [0,1] range. type: number format: double maximum: 1 minimum: 0 additionalProperties: false required: - color rest_base.MountedSource: type: object properties: frame.io: description: Fetch content from a Frame.io folder. ⚠️ All sources are exclusive. $ref: '#/components/schemas/rest_base.SourceFrameIO' deprecated: true mountPoint: description: Where to mount the content of the source in the virtual job working directory. type: string default: / next.frame.io: description: Fetch content from a next.frame.io folder. ⚠️ All sources are exclusive. $ref: '#/components/schemas/rest_base.SourceFrameIOV4' space: description: Read content from an existing space (can be another job's output, or uploaded manually with the space API). ⚠️ All sources are exclusive.' $ref: '#/components/schemas/rest_base.SourceSpace' url: description: Fetch content from a URL. ⚠️ All sources are exclusive. $ref: '#/components/schemas/rest_base.SourceURL' additionalProperties: false types.CameraStats: type: object properties: aspectRatio: type: number format: double fStop: type: number format: double focalLength: type: number format: double focusDistance: type: number format: double horizontalAperture: type: number format: double horizontalApertureOffset: type: number format: double name: type: string projection: type: string verticalAperture: type: number format: double verticalApertureOffset: type: number format: double additionalProperties: false required: - name - focalLength - horizontalAperture - verticalAperture - aspectRatio - horizontalApertureOffset - verticalApertureOffset - fStop - focusDistance - projection types.MaskNameToFileBinding: type: object properties: fileName: description: The file name. type: string name: description: The name in the 3D scene. type: string additionalProperties: false required: - name - fileName rest_base.SourceFrameIO: type: object properties: accessToken: description: Frame.io access token or Developer token. See https://developer.frame.io/docs/getting-started/authentication for obtaining a token. type: string folderId: description: Frame.io folder ID containing the assets. This should be the ID of the folder (not an asset ID). For best performance and to avoid [size limitations](/#what-is-the-maximum-size-of-assets-i-can-process), use the folder ID closest to your target assets. The system will retrieve all content from the specified folder, so choosing a parent folder with many subfolders may exceed the maximum retrieval size limit type: string additionalProperties: false required: - folderId - accessToken restv1beta.RenderSceneJobResult: type: object properties: distanceToCameraUrl: description: URL to the distance-to-camera map in NumPy .npy format, present when exportDistanceToCamera was requested type: string materialIds: $ref: '#/components/schemas/types.IdsMapData' materialMasks: type: array items: $ref: '#/components/schemas/types.MaskNameToFileBinding' matteUrl: description: URL to the matte grayscale image, present when exportMatte was requested type: string objectIds: $ref: '#/components/schemas/types.IdsMapData' objectMasks: type: array items: $ref: '#/components/schemas/types.MaskNameToFileBinding' outputSpace: $ref: '#/components/schemas/rest_base.Space' renderUrl: description: URL to the rendered scene. type: string warnings: type: - array - 'null' items: $ref: '#/components/schemas/types.Warning' additionalProperties: false required: - renderUrl - outputSpace types.AutoFramingOptions: type: object properties: algorithm: type: string default: auto enum: - auto - bounding_cylinder - frustum_fit zoomFactor: description: A value of 1 indicates tight framing. Less than 1 is a zoom-out. Greater than 1 is a zoom-in. type: number format: double default: 0.8 maximum: 100 minimum: 0.001 additionalProperties: false restv1beta.SceneDescRequest: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.SceneDescRequest.json readOnly: true sceneFile: description: Path to the scene file in `sources`. If the value is `null`, the first found scene file will be used. type: string sources: description: List of sources to aggregate and run the job against. type: array items: $ref: '#/components/schemas/rest_base.MountedSource' maxItems: 16 minItems: 1 additionalProperties: false examples: - sources: - url: url: https://cdn.substance3d.com/v2/files/public/stepladder.usdz - sources: - url: url: https://cdn.substance3d.com/v2/files/public/stepladder.usdz required: - sources types.SceneDescription: type: object properties: baseFile: description: Define a scene from a file. If value is `null`, an empty scene will be created. $ref: '#/components/schemas/types.SceneBaseFile' camera: description: Define a new camera for the scene. $ref: '#/components/schemas/types.SceneCamera' environment: description: Define the environment for the scene. Override the previous existing environment. $ref: '#/components/schemas/types.SceneEnvironment' formatOptions: description: define options specific for model file format $ref: '#/components/schemas/types.FormatOptions' materials: description: Assign new materials to geometric primitives. type: - array - 'null' items: $ref: '#/components/schemas/types.MaterialAssign' metersPerUnit: description: Length of a scene unit, in meters. Defaults to `baseFile` meters per unit if any, or 0.01 (centimeters) otherwise. type: number format: double exclusiveMinimum: 0 models: description: Define additional models for the scene. $ref: '#/components/schemas/types.SceneModels' additionalProperties: false types.GroundPlaneOptions: type: object properties: autoGroundScene: description: Automatically position the scene on the ground plane. Moves the scene along the vertical axis. type: boolean default: true enable: description: Enable/disable the ground plane. type: boolean default: true reflections: description: Enable/disable reflections onto the ground plane. type: boolean default: false reflectionsOpacity: description: Controls the opacity of the reflections. Useful for compositing purposes. type: number format: double default: 1 maximum: 1 minimum: 0 reflectionsRoughness: description: Controls the roughness of the reflections. Useful for compositing purposes. type: number format: double default: 0 maximum: 1 minimum: 0 shadows: description: Controls whether the ground plane catches shadows or not. type: boolean default: true shadowsOpacity: description: Controls the opacity of cast shadows. Only has effect if shadows are enabled. type: number format: double default: 1 maximum: 1 minimum: 0 additionalProperties: false types.UsdOptions: type: object properties: variants: description: List of USD variants definition applied on USD primitives. type: - array - 'null' items: $ref: '#/components/schemas/types.UsdVariant' additionalProperties: false required: - variants types.SizeOptions: type: object properties: height: description: Render height. type: integer format: int64 maximum: 2304 minimum: 16 width: description: Render width. type: integer format: int64 maximum: 3840 minimum: 16 additionalProperties: false required: - width - height restv1beta.RenderModelResponse: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.RenderModelResponse.json readOnly: true bugReportUrl: description: URL to report a bug about this job. type: string error: description: Potential error that happened during the job processing. type: string id: description: Unique identifier of the job. type: string result: description: Result when the job is successfully finished. $ref: '#/components/schemas/restv1beta.RenderSceneJobResult' status: description: Status of the job. Can be `not_started`, `running`, `succeeded`, or `failed`. type: string url: description: URL to fetch/poll for the job result, in case the job is not finished yet. type: string additionalProperties: false required: - url - id - status - bugReportUrl rest_base.SourceFrameIOV4: type: object properties: accessToken: description: Frame.io access token. See https://developer.adobe.com/frameio/guides/Authentication/ for obtaining a token. type: string accountId: description: Frame.io account ID. This is the account identifier for the next.frame.io account owner. To find your account ID, log in to next.frame.io, navigate to your inbox, and extract the UUID from the URL (e.g., in https://next.frame.io/inbox/abcdefgh-1234-1234-1234-abcdefghijk, the account ID is abcdefgh-1234-1234-1234-abcdefghijk) type: string folderId: description: Frame.io folder ID containing the assets. This should be the ID of the folder (not an asset ID). For best performance and to avoid [size limitations](/#what-is-the-maximum-size-of-assets-i-can-process), use the folder ID closest to your target assets. The system will retrieve all content from the specified folder, so choosing a parent folder with many subfolders may exceed the maximum retrieval size limit type: string additionalProperties: false required: - folderId - accountId - accessToken types.Warning: type: object properties: context: type: string message: type: string additionalProperties: false required: - context - message types.MaterialOverride: type: object properties: absorptionColorFactor: description: RGB float color value, for example white is [1.0,1.0,1.0]. type: array items: format: double type: number default: - 0 - 0 - 0 maxItems: 3 minItems: 3 absorptionColorTexture: type: string absorptionDistanceFactor: type: number format: double minimum: 0 absorptionDistanceTexture: type: string baseColorFactor: description: RGB float color value, for example white is [1.0,1.0,1.0]. type: array items: format: double type: number default: - 0 - 0 - 0 maxItems: 3 minItems: 3 baseColorTexture: type: string coatColorFactor: description: RGB float color value, for example white is [1.0,1.0,1.0]. type: array items: format: double type: number default: - 0 - 0 - 0 maxItems: 3 minItems: 3 coatColorTexture: type: string coatOpacityFactor: type: number format: double maximum: 1 minimum: 0 coatOpacityTexture: type: string coatRoughnessFactor: type: number format: double maximum: 1 minimum: 0 coatRoughnessTexture: type: string materialName: type: string metallicFactor: type: number format: double maximum: 1 minimum: 0 metallicTexture: type: string normalFactor: type: array items: format: double type: number maxItems: 3 minItems: 3 normalTexture: type: string opacityFactor: type: number format: double minimum: 0 opacityTexture: type: string pbrMaterial: $ref: '#/components/schemas/types.SbsMaterial' roughnessFactor: type: number format: double maximum: 1 minimum: 0 roughnessTexture: type: string translucencyFactor: type: number format: double maximum: 1 minimum: 0 translucencyTexture: type: string volumeThicknessFactor: type: number format: double minimum: 0 volumeThicknessTexture: type: string additionalProperties: false required: - materialName restv1beta.CreateSceneResponse: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.CreateSceneResponse.json readOnly: true bugReportUrl: description: URL to report a bug about this job. type: string error: description: Potential error that happened during the job processing. type: string id: description: Unique identifier of the job. type: string result: description: Result when the job is successfully finished. $ref: '#/components/schemas/restv1beta.CreateSceneJobResult' status: description: Status of the job. Can be `not_started`, `running`, `succeeded`, or `failed`. type: string url: description: URL to fetch/poll for the job result, in case the job is not finished yet. type: string additionalProperties: false required: - url - id - status - bugReportUrl types.FormatOptions: type: object properties: usd: description: options specific to USD file format $ref: '#/components/schemas/types.UsdOptions' additionalProperties: false required: - usd types.UsdVariant: type: object properties: primName: description: name of the USD prim on which the variant is defined type: string variant: description: name of the variant option to apply from the variant set type: string variantSet: description: name of the variant set to select from type: string additionalProperties: false required: - primName - variantSet - variant types.AzimuthAltitude: type: object properties: altitude: description: Altitude, in degrees, from -90 to 90 degrees. type: number format: double maximum: 90 minimum: -90 azimuth: description: Rotation around the vertical axis, in degrees. type: number format: double lookAt: description: Look at point coordinates. type: - array - 'null' items: format: double type: number maxItems: 3 minItems: 3 radius: description: Distance to the `lookAt` point. type: number format: double minimum: 0 additionalProperties: false required: - azimuth - altitude - lookAt - radius types.RenderExtraOutputs: type: object properties: exportDistanceToCamera: description: export a distance-to-camera map as a NumPy .npy file (float32 2D array) type: boolean default: false exportMaterialIds: description: Export an image with one color per material. type: boolean default: false exportMaterialMasks: description: Export one mask per material. $ref: '#/components/schemas/types.ExportMasksOptions' exportMatte: description: export compositing matte for a selection of objects $ref: '#/components/schemas/types.RenderExtraOutputExportMatte' exportObjectIds: description: Export an image with one color per object. type: boolean default: false exportObjectMasks: description: Export one mask per object. $ref: '#/components/schemas/types.ExportMasksOptions' additionalProperties: false restv1beta.CreateSceneRequest: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.CreateSceneRequest.json readOnly: true encoding: description: Encoding output format. type: string enum: - glb - gltf - fbx - usdz - usda - usdc - obj fileBaseName: description: Output filename. type: string minLength: 1 scene: $ref: '#/components/schemas/types.SceneDescription' sources: description: List of sources to aggregate and run the job against. type: array items: $ref: '#/components/schemas/rest_base.MountedSource' maxItems: 16 minItems: 1 additionalProperties: false examples: - encoding: usdz fileBaseName: scene scene: models: imports: - file: WaterBottle.glb - file: WaterBottle.glb transform: trs: rotation: euler: - 30 - 0 - 0 scale: - 1 - 1 - 1 translation: - 0.15 - 0 - 0 sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb - encoding: usdz fileBaseName: scene scene: models: imports: - file: WaterBottle.glb - file: WaterBottle.glb transform: trs: rotation: euler: - 30 - 0 - 0 scale: - 1 - 1 - 1 translation: - 0.15 - 0 - 0 sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb required: - scene - sources - encoding - fileBaseName types.SceneStatsNodeVariant: type: object properties: currentValue: type: string name: type: string values: type: - array - 'null' items: type: string additionalProperties: false required: - name - values - currentValue types.IdsMapData: type: object properties: fileName: description: The Ids map file name. type: string ids: description: List of name to color bindings. type: - array - 'null' items: $ref: '#/components/schemas/types.NameToColorBinding' additionalProperties: false required: - fileName - ids types.SbsMaterial: type: object properties: preset: description: Select a preset to be used for the substance material rendering. type: string resolution: description: Substance material render resolution. This should be a power of two. type: integer format: int64 enum: - 16 - 32 - 64 - 128 - 256 - 512 - 1024 - 2048 - 4096 maximum: 4096 minimum: 16 rotation: description: Texture space rotation. type: number format: double sbsar: description: Path to a substance material; if not set, the first substance 3D material found in sources will be used. type: string scale: description: Texture space scale. type: array items: format: double type: number maxItems: 2 minItems: 2 translation: description: Texture space translation. type: array items: format: double type: number maxItems: 2 minItems: 2 additionalProperties: false restv1beta.ModelConvertRequest: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.ModelConvertRequest.json readOnly: true format: description: Output format. type: string enum: - glb - gltf - fbx - usdz - usda - usdc - obj examples: - glb modelEntrypoint: description: Conversion usually takes the first file that's considered a valid 3D model. Define this entry point to disambiguate when there are multiple options. type: string sources: description: List of sources to aggregate and run the job against. type: array items: $ref: '#/components/schemas/rest_base.MountedSource' maxItems: 16 minItems: 1 additionalProperties: false examples: - format: glb sources: - url: url: https://cdn.substance3d.com/v2/files/public/stepladder.usdz - format: glb sources: - url: url: https://cdn.substance3d.com/v2/files/public/stepladder.usdz - format: glb sources: - url: url: https://cdn.substance3d.com/v2/files/public/stepladder.usdz required: - format - sources types.Transform: type: object properties: azimuthAltitude: description: Transform is defined by azimuth, altitude and radius terms. If set, do not set `matrix` or `trs`. $ref: '#/components/schemas/types.AzimuthAltitude' matrix: description: Transform is defined as a matrix. If set, do not set `trs` or `azimuthAltitude`. type: array items: format: double type: number maxItems: 16 minItems: 16 trs: description: Transform is defined by translation, rotation and scale terms. If set, do not set `matrix` or `azimuthAltitude`. $ref: '#/components/schemas/types.TRS' additionalProperties: false types.Material: type: object properties: sbs: description: The PBR material definition. $ref: '#/components/schemas/types.SbsMaterial' solidColor: description: The solid color material definition. $ref: '#/components/schemas/types.SolidColorMaterial' additionalProperties: false types.ExportMasksOptions: type: object properties: selection: description: The list of masks to be exported, accepts glob expressions. If empty, all masks will be exported. type: - array - 'null' items: type: string additionalProperties: false types.NameToColorBinding: type: object properties: color: description: Corresponding color in the ID map. type: string default: - 0 - 0 - 0 contentEncoding: base64 name: description: Name in 3D scene. type: string additionalProperties: false required: - name - color types.BackgroundOptions: type: object properties: backgroundColor: description: RGBA background color. Has an effect only if `showEnvironment` is `false`. Each component has to be in the [0,1] range. type: - array - 'null' items: format: double type: number default: - 0 - 0 - 0 - 0 examples: - - 0 - 0 - 0 - 0 maxItems: 4 minItems: 4 backgroundImage: description: Path to a background image. If set, will be used as the background. type: string showEnvironment: description: Show the environment map as the background. type: boolean default: false additionalProperties: false restv1beta.RenderModelRequest: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.RenderModelRequest.json readOnly: true autoFraming: description: Options related to auto-framing. $ref: '#/components/schemas/types.AutoFramingOptions' background: description: Options related to the background. $ref: '#/components/schemas/types.BackgroundOptions' cameraName: description: If set, this camera is used to perform the render. The camera has to be defined in the scene. type: string extraOutputs: description: Request additional outputs from the renderer. $ref: '#/components/schemas/types.RenderExtraOutputs' groundPlane: description: Options related to the ground plane. $ref: '#/components/schemas/types.GroundPlaneOptions' scene: description: Define rendering scene primitives. $ref: '#/components/schemas/types.SimpleSceneDescription' size: description: Options related to the render size. $ref: '#/components/schemas/types.SizeOptions' sources: description: List of sources to aggregate and run the job against. type: array items: $ref: '#/components/schemas/rest_base.MountedSource' maxItems: 16 minItems: 1 additionalProperties: false examples: - scene: modelFile: WaterBottle.glb sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb - scene: modelFile: WaterBottle.glb sources: - url: url: https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb required: - scene - sources restv1beta.ModelConvertResponse: type: object properties: $schema: description: A URL to the JSON schema for this object. type: string format: uri examples: - https://s3d.adobe.io/schemas/restv1beta.ModelConvertResponse.json readOnly: true bugReportUrl: description: URL to report a bug about this job. type: string error: description: Potential error that happened during the job processing. type: string id: description: Unique identifier of the job. type: string result: description: Result when the job is successfully finished. $ref: '#/components/schemas/restv1beta.ModelConvertJobResult' status: description: Status of the job. Can be `not_started`, `running`, `succeeded`, or `failed`. type: string url: description: URL to fetch/poll for the job result, in case the job is not finished yet. type: string additionalProperties: false required: - url - id - status - bugReportUrl restv1beta.ModelConvertJobResult: type: object properties: outputSpace: $ref: '#/components/schemas/rest_base.Space' additionalProperties: false required: - outputSpace types.RenderExtraOutputExportMatte: type: object properties: includeNodes: description: Nodes to be included into the matte, the list can contain glob patterns. If empty, the matte will contain all scene objects. type: - array - 'null' items: type: string additionalProperties: false required: - includeNodes types.MaterialAssign: type: object properties: material: description: The material definition. $ref: '#/components/schemas/types.Material' materialName: description: Desired material name, it will be sanitized to make a valid USD prim name. type: string nodeList: description: List of nodes under which geometric primitives will have this material assigned. Each entry can be a full node name or a glob expression. type: - array - 'null' items: type: string assignByDefault: description: Set to true to assign this material by default to all geometric primitives. excludeFromDefault: description: List of nodes to exclude from default assignment. additionalProperties: false required: - materialName - material - nodeList rest_base.SourceURL: type: object properties: filename: description: Filename override. If unset, the service will try to detect the filename from the content disposition header, then the URL itself. type: string url: description: URL to fetch content from. type: string examples: - https://cdn.substance3d.com/v2/files/public/stepladder.usdz additionalProperties: false required: - url types.SceneCamera: type: object properties: focal: description: Camera focal length, in mm. type: number format: double default: 50 maximum: 1000 minimum: 10 sensorWidth: description: Camera sensor width, in mm. type: number format: double default: 36 maximum: 100 minimum: 1 transform: description: Controls the position and angle of the camera. $ref: '#/components/schemas/types.Transform' additionalProperties: false securitySchemes: bearerAuth: description: 'Adobe service-to-service (S2S) access token. Pass `Authorization: Bearer `. The token is not a JWT.' scheme: bearer type: http ApiKeyAuth: type: apiKey in: header name: x-api-key description: 'Your client ID, which acts as the API key. Pass `x-api-key: ` using `` as the placeholder in examples.'