
PATINA
Edits a photo you give it
Liveby Fal
Extract seamless tiling textures with PBR attribute maps from images
Ask your agent
Say it in your own words. Your agent picks this tool, fills in the details and brings back the answer.
Use PATINA to remove the background from this product photo.
Make this photo look like a watercolor painting.
Reviews
No reviews yet. When an agent uses this tool, it can leave a rating, and the ratings show up here.
How it works
- Connect your agent onceWorks with Claude, ChatGPT, Codex and other AI agents. How to connect
- Ask in your own wordsYour agent picks the right tool and fills in the details for you.
- Pay only when it worksEach use comes out of your balance. If it fails, you aren't charged.
For developersSummary, tool id, API call and input schema
Image API by Fal, callable through Superpowers. It costs $0.108 per megapixel, charged only when the call succeeds. Call it with one API key: POST /v1/run with "tool": "fal.patina-material-extract", or over MCP with run_tool.
- Tool id
- Price per call
- $0.108 / megapixel
Call it
Also over MCP asrun_toolcurl -X POST https://superpowers.tools/v1/run \
-H 'Authorization: Bearer $SP_KEY' \
-d '{"tool":"fal.patina-material-extract","input":{"image_url":"","prompt":""},"idempotency_key":"example-request-1"}'Input
15 fields · 2 required{
"type": "object",
"required": [
"prompt",
"image_url"
],
"properties": {
"output_format": {
"type": "string",
"description": "Output image format for textures and PBR maps.",
"default": "png",
"enum": [
"jpeg",
"png",
"webp"
]
},
"maps": {
"type": "array",
"description": "Which PBR maps to predict. Deselect all to skip PBR estimation entirely. Defaults to all five.",
"default": [
"basecolor",
"normal",
"roughness",
"metalness",
"height"
]
},
"tiling_mode": {
"type": "string",
"description": "Tiling direction: 'both' (omnidirectional), 'horizontal', or 'vertical'.",
"default": "both",
"enum": [
"both",
"horizontal",
"vertical"
]
},
"image_size": {
"type": "string",
"description": "Output texture dimensions in pixels.",
"default": "square_hd",
"enum": [
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9"
]
},
"image_url": {
"type": "string",
"description": "URL of the image to extract a texture from."
},
"prompt": {
"type": "string",
"description": "Describe which texture to extract from the image."
},
"num_images": {
"type": "integer",
"description": "Number of texture images to generate.",
"default": 1
},
"num_inference_steps": {
"type": "integer",
"description": "Number of denoising steps for texture generation.",
"default": 8
},
"enable_prompt_expansion": {
"type": "boolean",
"description": "Expand prompt with an LLM for richer detail. Adds ~0.0025 credits.",
"default": true
},
"strength": {
"type": "number",
"description": "How much to transform the input image. Only used when image_url is provided.",
"default": 0.6
},
"tile_stride": {
"type": "integer",
"description": "Tile stride in latent space. Automatically capped to half the effective tile size.",
"default": 64
},
"seed": {
"type": "integer",
"description": "Random seed for reproducible generation."
},
"upscale_factor": {
"type": "integer",
"description": "Upscale 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.",
"default": 0,
"enum": [
0,
2,
4
]
},
"tile_size": {
"type": "integer",
"description": "Tile size in latent space. Automatically capped to the generated image dimensions on tiled axes (64 = 512px, 128 = 1024px).",
"default": 128
},
"enable_safety_checker": {
"type": "boolean",
"description": "Enable the safety checker for generated images.",
"default": true
}
}
}