La API de Texto a 3D es una función que te permite integrar las capacidades de Texto a 3D de Meshy en tu propia aplicación. En esta sección, encontrarás toda la información
que necesitas para comenzar a usar esta API.
Texto a 3D utiliza un flujo de trabajo de dos pasos. Primero, crea una tarea de vista previa (mode: "preview") para generar una malla 3D sin textura, de modo que puedas evaluar la forma. Luego, pasa el ID de tarea de la vista previa completada a una tarea de refinamiento (mode: "refine") para aplicar textura a la malla. Ambos pasos comparten el mismo endpoint.
Este endpoint crea una tarea de vista previa de Texto a 3D, que genera una malla 3D sin textura (solo geometría) a partir de un prompt de texto. Este es el primer paso del flujo de trabajo de dos pasos. Una vez que la vista previa se complete correctamente, use el ID de tarea devuelto para crear una tarea de refinamiento para el texturizado. Consulte
El objeto de tarea de Texto a 3D para conocer el esquema completo de la respuesta.
Parámetros
Name
mode
Type
string
Requerido
Description
Este campo debe establecerse en "preview" al crear una tarea de vista previa.
Name
prompt
Type
string
Requerido
Description
Describa qué tipo de objeto es el modelo 3D. Máximo 800 caracteres.
Name
model_type
Type
string
predeterminado standard
Description
Especifica el tipo de generación de malla 3D.
Valores disponibles:
standard: Generación de malla 3D regular de alto detalle.
smart-topology: Elige el modelo Smart Topology con ai_model (meshy-t2).
lowpoly (obsoleto): Genera una malla low-poly optimizada para polígonos más limpios. Recomendamos usar smart-topology en su lugar.
Cuando se selecciona smart-topology, se ignoran should_remesh y decimation_mode, y solo se acepta topology: triangle.
Cuando se selecciona lowpoly, se ignoran ai_model, topology, target_polycount y should_remesh.
Name
ai_model
Type
string
predeterminado latest
Description
ID del modelo a usar. Los valores disponibles dependen de model_type.
meshy-t2 (predeterminado): el modelo Smart Topology — topology más limpia, partes separadas de forma nativa, salida en triángulos y un recuento de caras que puedes establecer con target_polycount.
Name
ultra_mode
Type
boolean
predeterminado false
Description
Habilita la generación Ultra para una geometría de mayor fidelidad con detalles de superficie más finos. La generación toma más tiempo y añade 5 créditos.
Solo se admite cuando ai_model es meshy-7 (o latest), y solo en el mode preview.
Controla si se habilita la fase de remallado. Para el modelo de mayor calidad, recomendamos establecer should_remesh en false.
Solo aplica cuando should_remesh = true
Name
topology
Type
string
predeterminado triangle
Description
Especifica la topology del modelo generado.
Valores disponibles:
quad: Genera una malla predominantemente de cuadriláteros.
triangle: Genera una malla de triángulos decimada.
La salida de Smart Topology es exclusivamente en triángulos. Solicitar quad junto con ai_model: meshy-t2 devuelve un error.
Name
decimation_mode
Type
integer
Description
Habilita la decimación adaptativa estableciendo un nivel de recuento de polígonos. Cuando se establece, target_polycount se ignora.
Valores disponibles:
1: Adaptativo — recuento de polígonos ultra.
2: Adaptativo — recuento de polígonos alto.
3: Adaptativo — recuento de polígonos medio.
4: Adaptativo — recuento de polígonos bajo.
Name
target_polycount
Type
integer
Description
Número objetivo de polígonos (caras) en la salida. El recuento real puede desviarse del objetivo dependiendo de la geometría.
target_polycount entra en vigor en dos casos independientes:
Remallado — con should_remesh: true en un modelo standard. La malla se remalla (decima) hasta aproximadamente este recuento. Rango de 100 a 300,000, predeterminado 30,000. Si se establece decimation_mode, tiene prioridad y target_polycount se ignora.
Smart Topology — con model_type: smart-topology y ai_model: meshy-t2. El modelo se genera directamente con este recuento de caras; no se ejecuta ningún remallado y should_remesh no es necesario. Rango de 100 a 15,000, predeterminado 4,000.
Name
symmetry_mode
Type
string
⚠ obsoleto
predeterminado auto
Description
Obsoleto. Este parámetro ya no afecta la salida.
El campo symmetry_mode controla el comportamiento de simetría durante el proceso de generación del modelo.
Los valores válidos son:
off: Deshabilita la simetría.
auto: Determina y aplica automáticamente la simetría según la geometría de entrada.
on: Fuerza la simetría durante la generación.
Name
pose_mode
Type
string
predeterminado ""
Description
Especifica el mode de pose para el modelo generado.
Valores disponibles:
a-pose: Genera el modelo en una pose A.
t-pose: Genera el modelo en una pose T.
"" (cadena vacía): No se aplica ninguna pose específica.
Name
is_a_t_pose
Type
boolean
⚠ obsoleto
predeterminado false
Description
Use pose_mode en su lugar. Indica si se debe generar el modelo en una pose A/T.
Name
art_style
Type
string
⚠ obsoleto
predeterminado realistic
Description
No compatible con Meshy-6. Las solicitudes que usen Meshy-6 ignorarán art_style, y algunas combinaciones pueden causar errores. Valores disponibles: realistic, sculpture.
enable_pbr debe establecerse en false al usar el estilo Sculpture, ya que el estilo Sculpture genera su propio conjunto de mapas PBR.
Name
moderation
Type
boolean
predeterminado false
Description
Cuando se establece en true, el contenido de entrada se examinará automáticamente para detectar contenido potencialmente dañino. Si se detecta contenido dañino, la tarea no procederá a la generación.
Se examinará el texto de prompt.
Name
target_formats
Type
string[]
Description
Especifica qué formatos de archivo 3D incluir en la salida. Solo se generarán y devolverán los formatos solicitados, lo que puede reducir el tiempo de finalización de la tarea. Cuando se omite, se incluyen todos los formatos admitidos.
Cuando se omite, se generan todos los formatos excepto 3mf. 3mf solo se incluye cuando se especifica explícitamente.
Name
alpha_thumbnail
Type
boolean
predeterminado false
Description
Cuando se establece en true, la tarea renderiza adicionalmente una versión con fondo transparente (RGBA) de la vista previa y la devuelve como alpha_thumbnail_url en la respuesta GET. El campo thumbnail_url existente no cambia.
Name
auto_size
Type
boolean
predeterminado false
Description
Cuando se establece en true, el servicio usa visión por IA para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origin será bottom de forma predeterminada a menos que origin_at se establezca explícitamente.
Solo aplica cuando auto_size = true
Name
origin_at
Type
string
predeterminado bottom
Description
Posición del origin cuando auto_size está habilitado.
Valores disponibles: bottom, center.
Devuelve
La propiedad result de la respuesta contiene el id de la tarea de Texto a 3D recién creada.
Modos de fallo
Name
400 - Bad Request
Description
La solicitud fue inaceptable. Causas comunes:
Parámetro faltante: Falta un parámetro requerido (por ejemplo, prompt, mode).
Parámetro inválido: art_style no es uno de los valores permitidos.
Prompt demasiado largo: El prompt excede el límite de caracteres.
Name
401 - Unauthorized
Description
La autenticación falló. Por favor, verifique su clave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarea.
Name
429 - Too Many Requests
Description
Ha excedido su límite de tasa.
Request
POST
/openapi/v2/text-to-3d
# Simple preview with required params onlycurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a monster mask"}'# Preview with remesh and A-posecurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a futuristic robot warrior", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Este endpoint crea una tarea de refinamiento de Texto a 3D, que aplica textura a una malla de vista previa completada. Debe proporcionar el preview_task_id de una tarea de vista previa exitosa. Este es el segundo paso del flujo de trabajo de dos pasos.
Parámetros
Name
mode
Type
string
Requerido
Description
Este campo debe establecerse en "refine" al crear una tarea de refinamiento.
Name
preview_task_id
Type
string
Requerido
Description
El id de la tarea de vista previa correspondiente.
El estado de la tarea de vista previa dada debe ser SUCCEEDED.
Name
enable_pbr
Type
boolean
predeterminado false
Description
Genera mapas PBR (metallic, roughness, normal) además del color base. También se incluye un mapa de emisión cuando ai_model es meshy-6, excepto en texture_resolution: 8k (no se produce mapa de emisión). meshy-7 (y latest) no produce un mapa de emisión.
Name
texture_resolution
Type
string
predeterminado 2k
Description
Resolución de la textura de color base. Uno de 2k (2048×2048), 4k (4096×4096) u 8k (8192×8192). Las resoluciones más altas capturan más detalle de superficie. Solo se aplica al mode refine.
4k y 8k requieren ai_modelmeshy-6, meshy-7 o latest. En 8k, no se produce mapa de emisión.
Name
hd_texture
Type
boolean
⚠ obsoleto
predeterminado false
Description
Use texture_resolution en su lugar — equivalente a texture_resolution: "4k". Cuando se establecen ambos, texture_resolution tiene prioridad.
Name
texture_prompt
Type
string
Description
Proporcione un prompt de texto adicional para guiar el proceso de texturizado. Máximo 800 caracteres.
Name
texture_image_url
Type
string
Description
Proporcione una imagen 2d para guiar el proceso de texturizado. Actualmente admitimos los formatos .jpg, .jpeg y .png.
Hay dos formas de proporcionar la imagen:
URL de acceso público: Una URL accesible desde internet público
Data URI: Un data URI de la imagen codificado en base64. Ejemplo de un data URI: data:image/jpeg;base64,<your base64-encoded image data>
El texturizado de imágenes puede no funcionar de manera óptima si existen diferencias sustanciales de geometría entre el asset original y la imagen subida. Solo se puede usar uno de texture_image_url o texture_prompt para guiar el proceso de texturizado. Si se proporcionan ambos parámetros, entonces texture_prompt se usará de forma predeterminada para texturizar el modelo.
Name
ai_model
Type
string
predeterminado latest
Description
ID del modelo a usar para el refinamiento. Valores disponibles: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest se resuelve aquí exactamente igual que en la tarea de vista previa (actualmente Meshy 7), por lo que una vista previa latest y su refinamiento latest siempre coinciden en el mismo modelo de textura.
Name
moderation
Type
boolean
predeterminado false
Description
Cuando se establece en true, el contenido de entrada se examinará automáticamente para detectar contenido potencialmente dañino. Si se detecta contenido dañino, la tarea no continuará a la generación.
Se examinarán tanto el texto de texture_prompt como la imagen de texture_image_url.
Name
remove_lighting
Type
boolean
predeterminado true
Description
Elimina los brillos y sombras de la textura de color base, produciendo un resultado más limpio que funciona mejor bajo configuraciones de iluminación personalizadas.
Solo tiene efecto cuando ai_model es meshy-6. En meshy-7 (y latest) el parámetro se acepta pero se ignora.
Name
target_formats
Type
string[]
Description
Especifica qué formatos de archivo 3D incluir en la salida. Solo se generarán y devolverán los formatos solicitados, lo que puede reducir el tiempo de finalización de la tarea. Cuando se omite, se incluyen todos los formatos admitidos.
Cuando se omite, se generan todos los formatos excepto 3mf. 3mf solo se incluye cuando se especifica explícitamente.
Name
alpha_thumbnail
Type
boolean
predeterminado false
Description
Cuando se establece en true, la tarea renderiza adicionalmente una versión con fondo transparente (RGBA) de la vista previa y la devuelve como alpha_thumbnail_url en la respuesta GET. El campo existente thumbnail_url no se modifica.
Name
auto_size
Type
boolean
predeterminado false
Description
Cuando se establece en true, el servicio usa visión por IA para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origen será bottom de forma predeterminada a menos que origin_at se establezca explícitamente.
Solo aplica cuando auto_size = true
Name
origin_at
Type
string
predeterminado bottom
Description
Posición del origen cuando auto_size está habilitado.
Valores disponibles: bottom, center.
Devuelve
La propiedad result de la respuesta contiene el id de la tarea de la nueva tarea de Texto a 3D creada.
Modos de fallo
Name
400 - Bad Request
Description
La solicitud fue inaceptable. Causas comunes:
ID de tarea inválido: El preview_task_id es inválido o no existe.
Tarea no lista: La tarea de vista previa aún no ha tenido éxito.
Incompatibilidad de modelo: El modelo de IA de la tarea de vista previa es incompatible con el modelo de refinamiento solicitado.
Name
401 - Unauthorized
Description
La autenticación falló. Por favor, verifique su clave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarea.
Name
404 - Not Found
Description
No se encontró la tarea de vista previa especificada por preview_task_id.
Este endpoint le permite recuperar una tarea de Texto a 3D dado un id de tarea válido.
Consulte El objeto de tarea de Texto a 3D para ver qué
propiedades se incluyen con el objeto de tarea de Texto a 3D.
Este endpoint funciona tanto para tareas de vista previa (preview) como de refinamiento (refine).
Parámetros
Name
id
Type
path
Description
Identificador único de la tarea de Texto a 3D que se desea recuperar.
El objeto de tarea Texto a 3D es una unidad de trabajo que Meshy rastrea para generar un modelo 3D a partir de una entrada de texto. Existen dos etapas en la API de Texto a 3D, preview y refine. La etapa preview sirve para generar un modelo 3D de solo malla, y la etapa refine sirve para generar un modelo 3D texturizado basado en el resultado de la etapa preview.
El objeto tiene las siguientes propiedades:
Propiedades
Name
id
Type
string
Description
Identificador único de la tarea. Aunque usamos un UUID k-sortable para los ids de tarea como detalle de implementación, no debes hacer ninguna suposición sobre el formato del id.
Name
type
Type
string
Description
Tipo de la tarea de Texto a 3D. Los valores posibles son text-to-3d-preview para tareas de la etapa preview y text-to-3d-refine para tareas de la etapa refine.
Name
model_urls
Type
object
Description
URL descargable del archivo del modelo 3D texturizado generado por Meshy. La propiedad de un formato se omitirá si el formato no se generó, en lugar de devolver una cadena vacía.
Name
glb
Type
string
Description
URL descargable del archivo GLB.
Name
fbx
Type
string
Description
URL descargable del archivo FBX.
Name
usdz
Type
string
Description
URL descargable del archivo USDZ.
Name
obj
Type
string
Description
URL descargable del archivo OBJ.
Name
mtl
Type
string
Description
URL descargable del archivo MTL.
Name
stl
Type
string
Description
URL descargable del archivo STL.
Name
3mf
Type
string
Description
URL descargable del archivo 3MF. Solo está presente cuando se solicitó 3mf a través de target_formats.
Name
prompt
Type
string
Description
Este es el prompt sin modificar que se usó para crear la tarea.
Name
negative_prompt
Type
string
⚠ obsoleto
Description
Se mantiene por compatibilidad con versiones anteriores. Este campo no tiene ningún impacto funcional en los modelos generados.
Name
art_style
Type
string
⚠ obsoleto
Description
El art_style sin modificar que se usó para crear la tarea preview. No es compatible con Meshy-6.
Name
texture_richness
Type
string
⚠ obsoleto
Description
Se mantiene por compatibilidad con versiones anteriores. Este campo no tiene ningún impacto funcional en los modelos generados.
Name
texture_prompt
Type
string
Description
Prompt de texto adicional proporcionado para guiar el proceso de texturizado durante la etapa refine.
Name
ultra_mode
Type
boolean
Description
Refleja el valor de ultra_mode con el que se creó la tarea preview. Solo está presente en tareas preview de meshy-7 (o latest) que establecieron explícitamente ultra_mode; en caso contrario, se omite.
Name
texture_image_url
Type
string
Description
URL descargable de la imagen de textura que se usó para guiar el proceso de texturizado.
Name
thumbnail_url
Type
string
Description
URL descargable de la imagen en miniatura del archivo del modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL descargable de una versión con fondo transparente (RGBA) de thumbnail_url. Solo está presente cuando la tarea se creó con alpha_thumbnail: true y la vista previa transparente se renderizó correctamente; de lo contrario, este campo se omite.
Name
video_url
Type
string
⚠ obsoleto
Description
URL descargable del video de vista previa. Se eliminará en una futura versión.
Name
progress
Type
integer
Description
Progress de la tarea. Si la tarea aún no ha comenzado, esta propiedad será 0. Una vez que la tarea haya finalizado con éxito, se convertirá en 100.
Name
started_at
Type
timestamp
Description
Marca de tiempo de cuándo se inició la tarea, en milisegundos. Si la tarea aún no ha comenzado, esta propiedad será 0.
Una marca de tiempo representa el número de milisegundos transcurridos desde el 1 de enero de 1970 UTC, siguiendo
el estándar RFC 3339.
Por ejemplo, el viernes 1 de septiembre de 2023 a las 12:00:00 PM GMT se representa como 1693569600000. Esto aplica
a todas las marcas de tiempo en Meshy API.
Name
created_at
Type
timestamp
Description
Marca de tiempo de cuándo se creó la tarea, en milisegundos.
Name
finished_at
Type
timestamp
Description
Marca de tiempo de cuándo finalizó la tarea, en milisegundos. Si la tarea aún no ha finalizado, esta propiedad será 0.
Name
status
Type
string
Description
Estado de la tarea. Los valores posibles son uno de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Un array de objetos de URL de textura generados a partir de la tarea. Normalmente esto solo contiene un objeto de URL de textura. Cada URL de textura tiene las siguientes propiedades:
Name
base_color
Type
string
Description
URL descargable de la imagen del mapa de color base.
Name
metallic
Type
string
Description
URL descargable de la imagen del mapa metálico.
Si la tarea se crea con enable_pbr: false, esta propiedad se omitirá.
Name
normal
Type
string
Description
URL descargable de la imagen del mapa de normales.
Si la tarea se crea con enable_pbr: false, esta propiedad se omitirá.
Name
roughness
Type
string
Description
URL descargable de la imagen del mapa de rugosidad.
Si la tarea se crea con enable_pbr: false, esta propiedad se omitirá.
Name
emission
Type
string
Description
URL descargable de la imagen del mapa de emisión.
Si la tarea se crea con enable_pbr: false, o si ai_model es meshy-5, esta propiedad se omitirá.
Name
preceding_tasks
Type
integer
Description
El recuento de tareas precedentes.
El valor de este campo solo tiene sentido si el estado de la tarea es PENDING.
Name
task_error
Type
object
Description
Detalles del error para tareas fallidas. Consulta Errores para la referencia completa del objeto task_error.
Name
consumed_credits
Type
integer
Description
El número de créditos consumidos por esta tarea. Presente cuando el estado de la tarea es PENDING, IN_PROGRESS o SUCCEEDED. Devuelve 0 para tareas FAILED (los créditos se reembolsan en caso de fallo).
Example Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":20}