Skip to main content
Glama

configureImageLayer

Apply image textures to 3D materials in Spline scenes by setting image URLs, adjusting tiling, offset, and rotation parameters for visual customization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sceneIdYesScene ID
materialIdYesMaterial ID
layerIdYesLayer ID
imageUrlYesURL to image
tilingNoImage tiling
offsetNoImage offset
rotationNoRotation in degrees

Implementation Reference

  • Handler function that configures an image layer on a material by sending a PUT request to the API with image URL, tiling, offset, and rotation parameters.
    async ({ sceneId, materialId, layerId, imageUrl, tiling, offset, rotation }) => { try { const layerParams = { imageUrl, ...(tiling && { tiling }), ...(offset && { offset }), ...(rotation !== undefined && { rotation }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Image layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring image layer: ${error.message}` } ], isError: true }; } }
  • Zod schema defining the input parameters for the configureImageLayer tool, including sceneId, materialId, layerId, imageUrl, and optional tiling, offset, rotation.
    { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), imageUrl: z.string().url().describe('URL to image'), tiling: z.object({ x: z.number().min(0).default(1).describe('X tiling'), y: z.number().min(0).default(1).describe('Y tiling'), }).optional().describe('Image tiling'), offset: z.object({ x: z.number().default(0).describe('X offset'), y: z.number().default(0).describe('Y offset'), }).optional().describe('Image offset'), rotation: z.number().default(0).describe('Rotation in degrees'), },
  • Registration of the configureImageLayer tool using server.tool(), including schema and handler.
    'configureImageLayer', { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), imageUrl: z.string().url().describe('URL to image'), tiling: z.object({ x: z.number().min(0).default(1).describe('X tiling'), y: z.number().min(0).default(1).describe('Y tiling'), }).optional().describe('Image tiling'), offset: z.object({ x: z.number().default(0).describe('X offset'), y: z.number().default(0).describe('Y offset'), }).optional().describe('Image offset'), rotation: z.number().default(0).describe('Rotation in degrees'), }, async ({ sceneId, materialId, layerId, imageUrl, tiling, offset, rotation }) => { try { const layerParams = { imageUrl, ...(tiling && { tiling }), ...(offset && { offset }), ...(rotation !== undefined && { rotation }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Image layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring image layer: ${error.message}` } ], isError: true }; } } );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aydinfer/spline-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server