Texture generator API
A seamless PBR texture set from a description: base colour, normal, height, roughness and metallic at 2048 pixels.
Tool id texture-generator on the REST API (POST https://3dvalley.com/api/v1/jobs); MCP tool generate_texture on https://3dvalley.com/mcp. Paid in credits (1 credit = $0.01), taken when the job starts and given back if it fails. The general rules (keys, idempotency, waiting, webhooks) are in the API docs.
Models and prices
| Model | Name | Price | Time | What it is |
|---|---|---|---|---|
flux-2-klein-material (default) | FLUX.2 klein | 2 credits | about 25 s | A 2048-pixel surface from a description that tiles by construction, with its normal, height, roughness and metallic maps. |
muse-image-material | Muse Image | 5 credits | about 55 s | Meta's image model paints the surface, then its edges are joined so it tiles. Realistic at the lowest price. |
gpt-image-2-5-material | GPT Image 2.5 | 8 credits | about 50 s | OpenAI's image model paints the surface at 2048 pixels, then its edges are joined so it tiles. The flattest, most even light of the models tried. |
Input
| Field | Required | |
|---|---|---|
prompt | yes | The surface: "mossy cobblestones", "brushed steel". |
Options
| Option | Type | Values | |
|---|---|---|---|
seed | integer | from 0 to 2147483647 | Fixes the randomness, so the same input makes the same result. |
Output
Files: base_color, normal, height, roughness, metallic.
Example
curl -X POST https://3dvalley.com/api/v1/jobs \
-H "Authorization: Bearer $THREEDVALLEY_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Prefer: wait=50" \
-H "Content-Type: application/json" \
-d '{"tool":"texture-generator","input":{"prompt":"mossy cobblestones"}}'
From an MCP client:
generate_texture({"prompt":"mossy cobblestones"})
Limits
max_prompt: 1,000