API reference · patina

patina/material

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

IMAGEAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDpatina/material
01

Input Schema

13 parameters · 2 required · 11 optional

ParameterTypeRequiredDescription
imagestringRequiredURL of an input image for image-to-image or inpainting. When provided without mask_url, performs image-to-image; with mask_url, performs inpainting.
promptstringRequiredThe text prompt describing the material/texture to generate.
mapsstring[]OptionalWhich PBR maps to predict. Deselect all to skip PBR estimation entirely. Defaults to all five. · Default: ["basecolor","normal","roughness","metalness","height"]
maskstringOptionalURL of a mask image for inpainting. White regions are regenerated, black regions are preserved. Requires image_url.
seedintegerOptionalRandom seed for reproducible generation.
strengthnumberOptionalHow much to transform the input image. Only used when image_url is provided. · Max: 1 · Default: 0.6
tile_sizeintegerOptionalTile size in latent space (64 = 512px, 128 = 1024px). · Min: 32 · Max: 256 · Default: 128
tile_strideintegerOptionalTile stride in latent space. · Min: 16 · Max: 128 · Default: 64
tiling_modestringOptionalTiling direction: 'both' (omnidirectional), 'horizontal', or 'vertical'. · Options: both, horizontal, vertical · Default: "both"
bothhorizontalvertical
aspect_ratiostringOptionalThe aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16
21:916:93:24:35:41:14:53:42:39:16
output_formatstringOptionalOutput image format for textures and PBR maps. · Options: jpeg, png · Default: "png"
jpegpng
upscale_factorintegerOptionalUpscale factor for predicted PBR maps via SeedVR seamless upscaling. 0 = no upscaling, 2 = 2× resolution, 4 = 4× resolution. The base texture image is not upscaled. · Options: 0, 2, 4 · Default: 0
024
num_inference_stepsintegerOptionalNumber of denoising steps for texture generation. · Min: 1 · Max: 8 · Default: 8
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "patina/material",
  "maps": [
    "basecolor",
    "normal",
    "roughness",
    "metalness",
    "height"
  ],
  "prompt": "mossy stone wall",
  "strength": 0.6,
  "tile_size": 128,
  "tile_stride": 64,
  "tiling_mode": "both",
  "output_format": "png",
  "upscale_factor": 0,
  "num_inference_steps": 8
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"