Image to 3D

Use model_generate_fromimage when you want to generate a 3D model from a reference image.

When To Use

  • converting concept art or sketches into 3D
  • turning product or object images into initial 3D assets
  • keeping shape cues from a visual reference

Expected outcome: GLB outputs retrievable by asset_id after flow completion.

Inputs

  • required input data type: image data URL or base64 payload in JSON
  • supported formats: image/png, image/jpg, image/tiff, image/webp
  • recommended: centered subject, clear silhouette, minimal visual noise

Minimal input object:

{
  "data": "data:image/png;base64,<base64-image>"
}

Parameters

NameTypeDefaultAllowed valuesPractical guidance
qualitystringhighlow, highUse high when visual fidelity matters.
seedinteger-1integerFix seed for repeatability across tests.
texturebooleantruetrue, falseKeep true for textured output in most cases.

Minimal Runnable Payload

from pathlib import Path
from base64 import b64encode

def image_to_data_url(path: Path) -> str:
    encoded = b64encode(path.read_bytes()).decode()
    return f"data:image/png;base64,{encoded}"

payload = {
    "template": "model_generate_fromimage",
    "parameters": {
        "quality": "high",
        "texture": True,
        "seed": -1
    },
    "inputs": [
        {
            "data": image_to_data_url(Path("input.png"))
        }
    ]
}

Polling And Output Retrieval

  1. Create flow with POST /flows.
  2. Poll until completed, failed, or aborted.
  3. On completed, list outputs and fetch by asset_id.

Use shared implementation from Template Helpers.

Common Failure Modes

  • unsupported MIME type or malformed data URL
  • image too large or low-quality reference
  • attempting output retrieval before completion

Recovery:

  1. verify data URL format and MIME
  2. use cleaner, smaller, and better-lit input images
  3. wait for completed state before download

See Troubleshooting for full error handling guidance.