Meshy V7 Text To 3d API Documentation

Meshy V7 Text To 3d API Documentation

Playground

Try it on WaveSpeedAI!

Meshy V7 Text-to-3D turns text prompts into textured, PBR-ready 3D models with configurable geometry, topology, rigging, and animation for game assets, product visualization, 3D design, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Meshy V7 Text to 3D generates a 3D model directly from a text prompt. Describe the object you want to create, choose preview or full mode, configure geometry settings, and optionally enable PBR materials, Ultra Mode, and humanoid rigging.


Why Choose This?

  • Text-to-3D generation
    Create a 3D model from a written object description.

  • Preview and full modes
    Use preview for untextured geometry or full for a textured model.

  • Flexible geometry controls
    Configure topology, target polygon count, remeshing, symmetry, and model type.

  • Multiple model types
    Choose standard, lowpoly, or smart-topology depending on your downstream workflow.

  • Texture guidance in full mode
    Use texture_prompt or texture_image to guide texture appearance when generating a full textured model.

  • Optional PBR and rigging
    Generate PBR material maps in full mode and optionally rig suitable humanoid characters.


Parameters

ParameterRequiredDescription
promptYesDescribe the object to generate as a 3D model. Length: 1–600 characters.
modeNoGeneration mode: preview or full. preview returns untextured geometry; full returns a textured model. Default: full.
model_typeNoGeometry generation mode: standard, lowpoly, or smart-topology. Default: standard. smart-topology supports up to 15000 target polygons.
topologyNoMesh topology for remeshed output: quad or triangle. Default: triangle.
target_polycountNoTarget polygon count. Range: 100–300000. Default: 30000. smart-topology accepts at most 15000.
should_remeshNoEnable remeshing for cleaner topology. Default: true.
symmetry_modeNoControls symmetry during model generation: off, auto, or on. Default: auto.
enable_pbrNoGenerate metallic, roughness, and normal maps in full mode. Default: false.
pose_modeNoOptional humanoid pose: a-pose or t-pose. Leave unselected for no specific pose.
texture_promptNoOptional text guidance for texture generation in full mode. Maximum length: 600 characters.
texture_imageNoOptional image to guide texture generation in full mode.
ultra_modeNoEnable higher-fidelity standard geometry. Default: false. Cannot be combined with lowpoly or smart-topology.
enable_riggingNoAutomatically rig a suitable humanoid character. Default: false.
rigging_height_metersNoApproximate character height in meters when rigging is enabled. Minimum: 0.01. Default: 1.7.
seedNoRandom seed for reproducible results. Use -1 for a random seed. Default: -1.

How to Use

  1. Write your prompt — Describe the object, shape, material, style, and important visual details.
  2. Choose mode — Use preview for quick untextured geometry or full for textured output.
  3. Select model type — Choose standard, lowpoly, or smart-topology.
  4. Configure geometry optional — Adjust topology, polygon count, remeshing, and symmetry settings.
  5. Add texture guidance optional — Use texture_prompt or texture_image when generating in full mode.
  6. Enable PBR optional — Use enable_pbr when metallic, roughness, and normal maps are needed.
  7. Enable Ultra Mode optional — Use ultra_mode for higher-fidelity standard geometry.
  8. Enable rigging optional — Use enable_rigging for suitable humanoid characters.
  9. Set seed optional — Use a fixed seed for reproducible results, or -1 for random generation.
  10. Submit — Generate the 3D model and retrieve the output through the standard WaveSpeed prediction response.

Pricing

Pricing depends on selected mode, ultra_mode, and whether enable_rigging is enabled.

ConfigurationCost
Preview geometry$0.88
Full textured model$1.32
Full textured model with Ultra Mode$1.54
Auto-rigging+$0.22

Example Costs

ConfigurationCost
Preview geometry$0.88
Preview geometry + auto-rigging$1.10
Full textured model$1.32
Full textured model + auto-rigging$1.54
Full textured model with Ultra Mode$1.54
Full textured model with Ultra Mode + auto-rigging$1.76

enable_pbr, model_type, topology, target_polycount, should_remesh, symmetry_mode, pose_mode, texture_prompt, texture_image, and seed do not add separate charges in the current pricing formula.


Best Use Cases

  • Text-to-3D asset creation — Generate 3D models directly from object descriptions.
  • Product and object prototypes — Turn product ideas or concept descriptions into 3D assets.
  • Game and real-time workflows — Use lowpoly or smart-topology for optimized geometry.
  • Humanoid character workflows — Generate and optionally rig suitable humanoid characters.
  • Material and texture exploration — Use full mode with texture prompts or texture images for styled 3D assets.
  • Fast geometry previews — Use preview mode to test object structure before generating textured output.

Pro Tips

  • Describe the object clearly, including shape, material, style, scale, and key details.
  • Use preview mode for fast geometry checks before running full textured generation.
  • Use full mode when you need textured output.
  • Use texture_prompt to describe material details such as metal, leather, ceramic, fabric, plastic, or wood.
  • Use texture_image when you need texture appearance to follow a visual reference.
  • Use lowpoly for lightweight assets and smart-topology when cleaner optimized topology is needed.
  • Keep target_polycount at or below 15000 when using smart-topology.
  • Use ultra_mode only with standard geometry.
  • Enable rigging only for suitable humanoid characters.
  • Set a fixed seed when comparing prompt or parameter changes.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "prompt": "A cinematic ocean wave at sunrise, highly detailed",
  "mode": "full",
  "model_type": "standard",
  "topology": "triangle",
  "target_polycount": 30000,
  "should_remesh": true,
  "symmetry_mode": "auto",
  "enable_pbr": false,
  "pose_mode": "a-pose",
  "ultra_mode": false,
  "enable_rigging": false,
  "rigging_height_meters": 1.7
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/meshy/v7/text-to-3d" \
  -H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body \
    "${RESULT_URL}" \
    -H "Authorization: Bearer ${WAVESPEED_API_KEY}")
  RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  case "${STATUS}" in
    completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
    failed|cancelled|timeout|deleted) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
    *) sleep 2 ;;
  esac
done

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-Describe the object to generate as a 3D model.
modestringNofullpreview, fullPreview returns untextured geometry; full returns a textured model.
model_typestringNostandardstandard, lowpoly, smart-topologyGeometry generation mode. Smart topology supports up to 15,000 target polygons.
topologystringNotrianglequad, triangleMesh topology for remeshed output.
target_polycountintegerNo30000100 ~ 300000Target polygon count. Smart topology accepts at most 15,000.
should_remeshbooleanNotrue-Enable remeshing for cleaner topology.
symmetry_modestringNoautooff, auto, onControls symmetry during model generation.
enable_pbrbooleanNofalse-Generate metallic, roughness, and normal maps in full mode.
pose_modestringNo-a-pose, t-poseOptional humanoid pose. Leave unselected for no specific pose.
texture_promptstringNo--Optional text guidance for texture generation in full mode.
texture_imagestringNo--Optional image to guide texture generation in full mode.
ultra_modebooleanNofalse-Enable higher-fidelity standard geometry. It cannot be combined with lowpoly or smart topology.
enable_riggingbooleanNofalse-Automatically rig a suitable humanoid character.
rigging_height_metersnumberNo1.70.01 ~ ∞Approximate character height in meters when rigging is enabled.
seedintegerNo--Random seed for reproducible results. Use -1 for a random seed.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.statusstringTask status. completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses.
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
data.modelstringModel ID used for the prediction
data.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.statusstringStatus: completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.