La API 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 con 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 en 3D sin textura, para que puedas evaluar la forma. Luego, pasa el ID de la tarea completada de vista previa a una tarea de refinado (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 tenga éxito, utiliza el ID de tarea devuelto para crear una tarea de refinado para texturizar. Consulta
El Objeto de Tarea de Texto a 3D para el esquema de respuesta completo.
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
Describe qué tipo de objeto es el modelo 3D. Máximo 600 caracteres.
Name
model_type
Type
string
predeterminado standard
Description
Especifique el tipo de generación de malla 3D.
Valores disponibles:
standard: Generación de malla 3D de alto detalle regular.
lowpoly: Genera una malla low-poly optimizada para polígonos más limpios.
Cuando se selecciona lowpoly, ai_model, topology, target_polycount, should_remesh se ignoran.
Name
ai_model
Type
string
predeterminado latest
Description
ID del modelo a utilizar. Valores disponibles: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
predeterminado false (meshy-6), true (otros)
Description
Controla si activar 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 topología del modelo generado.
Valores disponibles:
quad: Generar una malla dominante de cuadriláteros.
triangle: Generar una malla triangular decimada.
Name
target_polycount
Type
integer
predeterminado 30,000
Description
Especifique el número objetivo de polígonos en el modelo generado. El número real de polígonos puede desviarse del objetivo dependiendo de la complejidad de la geometría.
El rango de valores válidos varía dependiendo del nivel de usuario:
100 a 300,000 (inclusive)
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
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: Desactiva la simetría.
auto: Determina y aplica automáticamente la simetría basada en la geometría de entrada.
on: Fuerza la simetría durante la generación.
Name
pose_mode
Type
string
predeterminado ""
Description
Especifique el modo 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 una pose específica.
Name
is_a_t_pose
Type
boolean
⚠ obsoleto
predeterminado false
Description
Use pose_mode en su lugar. Si generar el modelo en una pose A/T.
Name
art_style
Type
string
⚠ obsoleto
predeterminado realistic
Description
No es compatible con Meshy-6. Las solicitudes que usan Meshy-6 ignorarán art_style, y algunas combinaciones pueden causar errores. Valores disponibles: realistic, sculpture.
enable_pbr debe establecerse en false cuando se usa el estilo de Escultura, ya que el estilo de Escultura genera su propio conjunto de mapas PBR.
Name
moderation
Type
boolean
predeterminado false
Description
Cuando se establece en true, el contenido de entrada se revisará automáticamente en busca de contenido potencialmente dañino. Si se detecta contenido dañino, la tarea no procederá a la generación.
El texto del prompt será revisado.
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 además renderiza 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 utiliza visión AI para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origen se establecerá en bottom 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.
Retornos
La propiedad result de la respuesta contiene el id de la tarea recientemente creada de Texto a 3D.
Modos de Fallo
Name
400 - Bad Request
Description
La solicitud fue inaceptable. Causas comunes:
Falta un parámetro: 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 verifica tu clave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarea.
Name
429 - Too Many Requests
Description
Has excedido tu límite de tasa.
Request
POST
/openapi/v2/text-to-3d
# Vista previa sencilla con solo los parámetros requeridoscurlhttps://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"}'# Vista previa con remallado y 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 refinado de Texto a 3D, que aplica textura a una malla de vista previa completada. Debes 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 refinado.
Name
preview_task_id
Type
string
Requerido
Description
El ID de 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 (metálico, rugosidad, normal) además del color base. Se incluye un mapa de emisión cuando ai_model es meshy-6 o latest, excepto en texture_resolution: 8k (no se produce un mapa de emisión).
Name
texture_resolution
Type
string
predeterminado 2k
Description
Resolución de textura de color base. Una de 2k (2048×2048), 4k (4096×4096), o 8k (8192×8192). Las resoluciones más altas capturan más detalles de la superficie. Solo se aplica al modo refine.
4k y 8k requieren ai_modelmeshy-6 o latest. En 8k, no se produce un 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 ambos están establecidos, texture_resolution tiene prioridad.
Name
texture_prompt
Type
string
Description
Proporcione un prompt de texto adicional para guiar el proceso de texturizado. Máximo 600 caracteres.
Name
texture_image_url
Type
string
Description
Proporcione una imagen 2D para guiar el proceso de texturizado. Actualmente soportamos formatos .jpg, .jpeg, y .png.
Hay dos formas de proporcionar la imagen:
URL accesible públicamente: Una URL accesible desde Internet pública.
Data URI: Un Data URI con codificación base64 de la imagen. Ejemplo de un Data URI: data:image/jpeg;base64,<tu imagen codificada en base64>
El texturizado de la imagen puede no funcionar de manera óptima si hay diferencias sustanciales de geometría entre el asset original y la imagen cargada. Solo uno de texture_image_url o texture_prompt puede usarse para guiar el proceso de texturizado. Si se proporcionan ambos parámetros, entonces texture_prompt se usará para texturizar el modelo por defecto.
Name
ai_model
Type
string
predeterminado latest
Description
ID del modelo a usar para refinar. Valores disponibles: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
predeterminado false
Description
Cuando se establece en true, el contenido de entrada se revisará automáticamente en busca de contenido potencialmente dañino. Si se detecta contenido dañino, la tarea no procederá a la generación.
Tanto el texto de texture_prompt como la imagen de texture_image_url serán revisados.
Name
remove_lighting
Type
boolean
predeterminado true
Description
Elimina los reflejos y sombras de la textura de color base, produciendo un resultado más limpio que funciona mejor bajo configuraciones de iluminación personalizadas.
Solo es compatible cuando ai_model es meshy-6 o latest.
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 además renderiza 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 utiliza visión AI para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origen se establecerá en bottom 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.
Retornos
La propiedad result de la respuesta contiene el id de la tarea recientemente creada de Texto a 3D.
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 AI de la tarea de vista previa es incompatible con el modelo de refinado solicitado.
Name
401 - Unauthorized
Description
La autenticación falló. Por favor verifica tu 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 te permite obtener una tarea de Texto a 3D dado un id de tarea válido.
Consulta 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 para tareas de vista previa y de refinado.
Parámetros
Name
id
Type
path
Description
Identificador único de la tarea de Texto a 3D a obtener.
// Ejemplo de evento de errorevent: errordata: {"status_code": 404,"message": "Task not found"}// Ejemplos de eventos de mensaje ilustran el progreso de la tarea.// Para tareas PENDING o IN_PROGRESS, el flujo de respuesta no incluirá todos los campos.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 50,"status": "IN_PROGRESS"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","type": "text-to-3d-preview","progress": 100,"status": "SUCCEEDED","created_at": 1692771650657,"started_at": 1692771667037,"finished_at": 1692771669037,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"},"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}
El objeto de Tarea de Texto a 3D es una unidad de trabajo que Meshy realiza seguimiento para generar un modelo 3D a partir de una entrada de texto. Hay dos etapas de la API Texto a 3D, preview y refine. La etapa de Vista Previa es para generar un modelo 3D solo malla, y la etapa de Refinado es para generar un modelo 3D texturizado basado en el resultado de la etapa de Vista Previa.
El objeto tiene las siguientes propiedades:
Propiedades
Name
id
Type
string
Description
Identificador único de la tarea. Mientras 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 etapa de vista previa y text-to-3d-refine para tareas de etapa de refinado.
Name
model_urls
Type
object
Description
URL descargable del archivo del modelo 3D texturizado generado por Meshy. La propiedad para un formato se omitirá si el formato no se genera, en lugar de devolver una cadena vacía.
Name
glb
Type
string
Description
URL descargable para el archivo GLB.
Name
fbx
Type
string
Description
URL descargable para el archivo FBX.
Name
usdz
Type
string
Description
URL descargable para el archivo USDZ.
Name
obj
Type
string
Description
URL descargable para el archivo OBJ.
Name
mtl
Type
string
Description
URL descargable para el archivo MTL.
Name
stl
Type
string
Description
URL descargable para el archivo STL.
Name
3mf
Type
string
Description
URL descargable para el archivo 3MF. Solo presente cuando 3mf fue solicitado mediante target_formats.
Name
prompt
Type
string
Description
Este es el prompt no modificado que se usó para crear la tarea.
Name
negative_prompt
Type
string
⚠ obsoleto
Description
Mantenido para compatibilidad retroactiva. Este campo no tiene impacto funcional en los modelos generados.
Name
art_style
Type
string
⚠ obsoleto
Description
El art_style no modificado que se usó para crear la tarea de vista previa. No compatible con Meshy-6.
Name
texture_richness
Type
string
⚠ obsoleto
Description
Mantenido para compatibilidad retroactiva. Este campo no tiene impacto funcional en los modelos generados.
Name
texture_prompt
Type
string
Description
Texto adicional proporcionado para guiar el proceso de texturizado durante la etapa de refinado.
Name
texture_image_url
Type
string
Description
URL descargable para la imagen de textura que se usó para guiar el proceso de texturizado.
Name
thumbnail_url
Type
string
Description
URL descargable para la imagen en miniatura del archivo del modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL descargable para una versión con fondo transparente (RGBA) de thumbnail_url. Solo presente cuando la tarea se creó con alpha_thumbnail: true y la vista previa transparente se generó exitosamente; de lo contrario, este campo se omite.
Name
video_url
Type
string
⚠ obsoleto
Description
URL descargable para el vídeo de vista previa. Será eliminado en una futura versión.
Name
progress
Type
integer
Description
Progreso de la tarea. Si la tarea no ha comenzado aún, esta propiedad será 0. Una vez que la tarea ha tenido éxito, esto se convierte en 100.
Name
started_at
Type
timestamp
Description
Marca de tiempo de cuándo comenzó la tarea, en milisegundos. Si la tarea no ha comenzado aún, 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 de RFC 3339.
Por ejemplo, el viernes 1 de septiembre de 2023 12:00:00 PM GMT se representa como 1693569600000. Esto se aplica
a todas las marcas de tiempo en la API Meshy.
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 se terminó la tarea, en milisegundos. Si la tarea no ha terminado aún, esta propiedad será 0.
Name
status
Type
string
Description
Estado de la tarea. Los posibles valores son uno de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Una matriz de objetos URL de texturas que se generan 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 para la imagen del mapa de color base.
Name
metallic
Type
string
Description
URL descargable para 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 para 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 para 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 para la imagen del mapa de emisión.
Si la tarea se crea con enable_pbr: false, o ai_model es meshy-5, esta propiedad se omitirá.
Name
preceding_tasks
Type
integer
Description
La cantidad 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
La cantidad de créditos consumidos por esta tarea. Presente cuando el estado de la tarea es PENDING, IN_PROGRESS, o SUCCEEDED. Retorna 0 para tareas FAILED (los créditos se reembolsan en caso de fallos).
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}