Convierte una foto de origen en una figura coleccionable 3D con cabeza
grande en dos etapas: prototipo genera una imagen conceptual
estilizada a partir de tu foto de entrada, luego construcción convierte
esa imagen conceptual en un modelo 3D con textura. Las dos etapas están
vinculadas a través de input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Genera una imagen conceptual de estilo figura de vinilo a partir de la foto de origen. El ID de tarea devuelto es lo que se pasa como input_task_id al endpoint de construcción. Consulta El Objeto de Tarea de Prototipo de Figura de Vinilo para la forma de la respuesta.
Parámetros
Name
image_url
Type
string
Requerido
Description
Foto de origen para que Meshy la estilice como una figura de vinilo de cabeza grande. Actualmente admitimos los formatos .jpg, .jpeg, .png, y .webp.
Hay dos formas de proporcionar la imagen:
URL accesible públicamente: Una URL que es accesible desde internet pública.
Data URI: Un Data URI codificado en base64 de la imagen. Ejemplo de un Data URI: data:image/jpeg;base64,<tus datos de imagen codificados en base64>.
Name
name
Type
string
Description
Nombre de tarea opcional para propósitos de visualización. Máximo 100 caracteres.
Devuelve
La propiedad result de la respuesta contiene el ID de tarea de la nueva tarea de prototipo de figura de vinilo creada. Consulta el endpoint Obtener una Tarea o suscríbete al stream hasta que la tarea alcance SUCCEEDED, luego pasa ese ID al endpoint de construcción como input_task_id.
Modos de Falla
Name
400 - Bad Request
Description
La solicitud no fue aceptable. Causas comunes:
Parámetro faltante: image_url es requerido.
Formato de imagen no válido: El image_url proporcionado no es un formato compatible (.jpg, .jpeg, .png, .webp).
Dimensiones de imagen fuera de rango: La imagen es demasiado pequeña, excede el tamaño máximo de archivo, o excede el conteo máximo de píxeles.
URL inaccesible: El image_url no se pudo descargar (404 o timeout).
Data URI no válido: La cadena base64 está mal formada.
Contenido marcado: La imagen de entrada fue marcada por moderation de contenido NSFW o de propiedad intelectual.
Name
401 - Unauthorized
Description
Falló la autenticación. 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/creative-lab/vinyl-figure/v1/prototype
# Stage 1: generar una imagen conceptual de estilo figura de vinilocurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<tu URL de imagen accesible públicamente o Data URI codificado en base64>" }'
Response
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Genera la figura de vinilo 3D texturizada final a partir de una tarea de prototipo exitosa. La construcción ejecuta el mismo flujo de imagen a 3D que Imagen a 3D, por lo que el formato del objeto de respuesta y la lista de URLs de salida coinciden exactamente. Consulta El Objeto de Tarea de Construcción de Figura de Vinilo para la forma de la respuesta.
Parámetros
Name
input_task_id
Type
string
Requerido
Description
El ID de tarea de una tarea de prototipo creada a través de este mismo endpoint de OpenAPI. El prototipo debe haber sido creado con la misma clave de API, debe haber alcanzado SUCCEEDED, y debe haber producido exactamente una imagen candidata.
Las tareas de prototipo creadas a través de la webapp no son aceptadas — el endpoint de construcción acepta solo tareas de prototipo producidas por POST /openapi/creative-lab/vinyl-figure/v1/prototype y rechaza cualquier otra fuente con 404.
Name
name
Type
string
Description
Nombre opcional de la tarea para propósitos de visualización. Máximo 100 caracteres.
Retorna
La propiedad result de la respuesta contiene el id de la tarea de construcción de figura de vinilo recién creada. Consulta el endpoint Obtener una Tarea o suscríbete al flujo hasta que la tarea alcance SUCCEEDED, luego descarga la GLB texturizada desde model_urls.glb (o el par OBJ + MTL desde model_urls.obj y model_urls.mtl si tu flujo descendente prefiere OBJ).
Modos de Falla
Name
400 - Bad Request
Description
La solicitud no era aceptable. Causas comunes:
Parámetro faltante: input_task_id es requerido.
UUID inválido: El input_task_id no es un UUID válido.
Padre no exitoso: La tarea de prototipo referenciada no ha alcanzado SUCCEEDED aún.
Sin candidato: La tarea de prototipo tuvo éxito, pero no produjo imagen candidata.
Name
401 - Unauthorized
Description
La autenticación falló. Por favor, revisa tu clave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarea.
Name
404 - Not Found
Description
La tarea de prototipo referenciada no existe, pertenece a un usuario diferente, o fue creada a través de la webapp (solo las tareas de prototipo en modo API se enlazan en la construcción).
Name
429 - Too Many Requests
Description
Has excedido tu límite de tasa.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Fase 2: construcción en cadena a partir de una tarea de prototipo exitosacurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Obtiene una tarea de prototipo o de construcción dada una id de tarea válida. La ruta URL
debe coincidir con la etapa de la tarea: una tarea de construcción obtenida a través de
/prototype/:id devuelve 404 y viceversa.
Cancelar una tarea de figura de vinilo. Si la tarea aún está PENDING, los créditos
consumidos en el momento de la creación se reembolsan. Las tareas que ya están
IN_PROGRESS se cancelan sin reembolso (el trabajador puede ya estar utilizando recursos). Las tareas que ya han alcanzado un estado terminal
(SUCCEEDED, FAILED, CANCELED) no pueden ser canceladas.
La ruta de la URL debe coincidir con la etapa de la tarea — DELETE en
/prototype/:buildId devuelve 404.
Parámetros de Ruta
Name
id
Type
path
Description
Identificador único para la tarea de figura de vinilo a cancelar.
Devuelve
Devuelve 204 No Content al éxito con un cuerpo vacío.
Modos de Falla
Name
400 - Bad Request
Description
La tarea ya está en un estado terminal y no puede ser cancelada.
Name
404 - Not Found
Description
La tarea no existe, pertenece a un usuario diferente, o su etapa no coincide con la ruta de la URL.
Transmitir actualizaciones en tiempo real para una tarea de figura de vinilo a través de Server-Sent Events (SSE). La ruta URL debe coincidir con la etapa de la tarea: abrir una transmisión en /prototype/:buildId/stream emite una sola carga útil event: error con status_code: 404 y cierra la transmisión.
Parámetros
Name
id
Type
path
Description
Identificador único para la tarea de figura de vinilo a transmitir.
Devuelve
Devuelve una transmisión de objetos de tarea Vinyl Figure Prototype o Vinyl Figure Build como Server-Sent Events. Para tareas PENDING o IN_PROGRESS, la transmisión de respuesta incluirá solo los campos necesarios progress y status.
// Ejemplo de evento de error (etapa incorrecta o tarea no encontrada)event: errordata: {"status_code": 404,"message": "Task not found"}// Los ejemplos de eventos de mensaje ilustran el progreso de la tarea.// Para tareas PENDING o IN_PROGRESS, la transmisión de respuesta no incluirá todos los campos.event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","type": "creative-lab-vinyl-figure-build","status": "SUCCEEDED","progress": 100,"created_at": 1752969700000,"started_at": 1752969710000,"finished_at": 1752969735000,"expires_at": 1753228935000,"task_error": null,"consumed_credits": 30,"prompt": "","negative_prompt": "","texture_prompt": "","texture_image_url": "","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***","obj":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***" },"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***" } ]}
Recuperar una lista paginada de tus tareas de figuras de vinilo para una sola etapa.
La ruta de la URL selecciona la etapa — /prototype devuelve tareas de prototipo;
/build devuelve tareas de construcción. Las tareas de la otra etapa no están incluidas
en ninguna de las respuestas.
Parámetros de Ruta
Name
stage
Type
path
Requerido
Description
Puede ser prototype o build. La colección devuelve solo tareas
cuya etapa coincide con la URL — buscar con /prototype nunca devuelve
tareas de construcción y viceversa.
Parámetros de Consulta
Name
page_num
Type
integer
predeterminado 1
Description
Número de página para la paginación.
Name
page_size
Type
integer
predeterminado 10
Description
Límite de tamaño de página. El máximo permitido es de 50 elementos.
Name
sort_by
Type
string
predeterminado -created_at
Description
Campo por el cual ordenar. Valores disponibles:
+created_at: Ordenar por tiempo de creación en orden ascendente.
-created_at: Ordenar por tiempo de creación en orden descendente.
El objeto de tarea prototipo de figura de vinilo es una unidad de trabajo que Meshy rastrea
para generar una imagen conceptual de estilo figura de vinilo a partir de una foto de origen.
La salida de esta etapa se encadena en
la etapa de construcción a través de input_task_id.
Propiedades
Name
id
Type
string
Description
Identificador único para la tarea. Aunque usamos un UUID ordenable por k para los ids de tarea como detalle de implementación, no deberías hacer ninguna suposición sobre el formato del id.
Name
type
Type
string
Description
Tipo de la tarea. El valor es creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
El nombre de la tarea proporcionado cuando se creó la tarea. Cadena vacía si no se proporcionó ningún nombre.
Name
status
Type
string
Description
Estado de la tarea. Los valores posibles son uno de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progreso de la tarea. Si la tarea aún no ha comenzado, esta propiedad será 0. Una vez que la tarea haya tenido éxito, esto se convertirá en 100.
Name
created_at
Type
timestamp
Description
Marca de tiempo de cuando se creó la tarea, en milisegundos.
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, 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 Meshy API.
Name
started_at
Type
timestamp
Description
Marca de tiempo de cuando comenzó la tarea, en milisegundos. Si la tarea aún no ha comenzado, esta propiedad será 0.
Name
finished_at
Type
timestamp
Description
Marca de tiempo de cuando se terminó la tarea, en milisegundos. Si la tarea aún no ha terminado, esta propiedad será 0.
Name
expires_at
Type
timestamp
Description
Marca de tiempo de cuando expira el resultado de la tarea, en milisegundos.
Name
preceding_tasks
Type
integer
Description
La cuenta de tareas precedentes.
El valor de este campo es significativo solo 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 las tareas FAILED (los créditos se reembolsan en caso de fallo).
Name
image_urls
Type
array of strings
Description
URLs descargables para los candidatos a imagen conceptual generados por esta tarea prototipo. Actualmente, la API siempre devuelve exactamente un candidato; el campo es un array para que futuras revisiones puedan presentar múltiples candidatos sin un cambio radical.
Ejemplo de Objeto de Tarea de Prototipo de Figura de Vinilo
El objeto de Tarea de Construcción de la Figura de Vinilo es una unidad de trabajo que Meshy sigue para generar una figura de vinilo 3D con textura a partir de una tarea prototipo exitosa. Ejecuta la misma línea de procesamiento de imagen-a-3D utilizada por Imagen a 3D, por lo que los campos de salida reflejan el objeto de tarea de ese endpoint.
Propiedades
Name
id
Type
string
Description
Identificador único para la tarea.
Name
type
Type
string
Description
Tipo de tarea. El valor es creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
El nombre de la tarea proporcionado cuando la tarea fue creada. Cadena vacía si no se proporcionó un nombre.
Name
status
Type
string
Description
Estado de la tarea. Los valores posibles son uno de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progreso de la tarea. Si la tarea aún no ha comenzado, esta propiedad será 0. Una vez que la tarea haya tenido éxito, esto se convertirá en 100.
Name
created_at
Type
timestamp
Description
Marca de tiempo de cuándo se creó la tarea, en milisegundos.
Name
started_at
Type
timestamp
Description
Marca de tiempo de cuándo comenzó la tarea, en milisegundos.
Name
finished_at
Type
timestamp
Description
Marca de tiempo de cuándo se completó la tarea, en milisegundos.
Name
expires_at
Type
timestamp
Description
Marca de tiempo de cuándo expira el resultado de la tarea, en milisegundos.
Name
preceding_tasks
Type
integer
Description
El conteo de tareas precedentes. Tiene sentido solo cuando el estado es PENDING.
Name
task_error
Type
object
Description
Detalles del error para tareas fallidas. Consulte 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. Devuelve 0 para tareas FAILED (los créditos son reembolsados en caso de fallo).
Name
prompt
Type
string
Description
Siempre vacío para construcción de figuras de vinilo. Presente para compatibilidad entre endpoints con la forma compartida V2ImageTo3DTaskResponse utilizada por Imagen a 3D.
Name
negative_prompt
Type
string
Description
Siempre vacío para construcción de figuras de vinilo. Presente para compatibilidad entre endpoints.
Name
texture_prompt
Type
string
Description
Siempre vacío para construcción de figuras de vinilo. Presente para compatibilidad entre endpoints.
Name
texture_image_url
Type
string
Description
Siempre vacío para construcción de figuras de vinilo. Presente para compatibilidad entre endpoints.
Name
model_urls
Type
object
Description
URLs para descargar el modelo 3D generado. La construcción de la figura de vinilo emite un GLB texturizado más el par OBJ + MTL para canalizaciones que prefieren Wavefront OBJ. La forma del campo coincide con el objeto model_urls de Imagen a 3D para que las futuras adiciones de formato se integren sin un cambio de ruptura.
Name
glb
Type
string
Description
URL descargable para el archivo GLB texturizado.
Name
obj
Type
string
Description
URL descargable para el archivo OBJ de Wavefront (geometría + UV).
Name
mtl
Type
string
Description
URL descargable para el archivo de material MTL compañero de OBJ. Combinar con obj y la entrada de texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL descargable para la miniatura de la imagen del archivo de modelo.
Name
texture_urls
Type
array
Description
Un array de objetos URL de textura generados por esta tarea. Actualmente contiene un único objeto con el mapa de color base.
Name
base_color
Type
string
Description
URL descargable para la imagen del mapa de color base.