Convierte una foto de origen en un juguete fidget colapsable listo para
imprimir: la silueta del sujeto se convierte en un conjunto de anillos
concéntricos anidados que se colapsan planos y se estiran de nuevo, impresos
en una sola pieza sin necesidad de ensamblaje.
POST /openapi/creative-lab/fidget-collapsible/v1
A diferencia de los demás endpoints de Creative Lab, este no tiene un par de
etapas de prototipo/build — no hay candidatos intermedios entre los que
elegir, por lo que una sola tarea lleva la imagen hasta el modelo 3D. Los
controles de geometría que expone la aplicación web (tamaño, número de capas,
ancho de separación, grosor de pared, profundidad de extrusión, abultamiento)
tampoco forman parte de la solicitud: cada tarea se construye con los mismos
valores predeterminados del lado del servidor.
Genera un modelo de fidget colapsable a partir de una foto de origen. Consulta
El objeto de tarea de Fidget Colapsable
para conocer la forma de la respuesta.
Cada tarea cuesta 6 créditos y requiere un plan de pago.
Parámetros
Name
image_url
Type
string
Requerido
Description
Foto de origen para que Meshy la convierta en un fidget colapsable. Actualmente admitimos los formatos .jpg, .jpeg, .png y .webp.
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,<tus datos de imagen codificados en base64>.
Un sujeto con un contorno claro y cerrado funciona mejor: la silueta es lo que se convierte en los anillos. Los fondos recargados, varios sujetos separados o formas muy delgadas pueden dejar muy poco espacio para las paredes anidadas, y la tarea falla con un error de tarea.
Name
name
Type
string
Description
Nombre de tarea opcional para fines de visualización. Máximo 100 caracteres. Esto es solo una etiqueta de tarea; no se graba nada en el modelo.
Devuelve
La propiedad result de la respuesta contiene el id de la tarea de fidget colapsable recién creada. Consulta periódicamente el endpoint Obtener una tarea o suscríbete al stream hasta que la tarea alcance el estado SUCCEEDED, luego descarga el STL imprimible desde model_urls.stl (y, cuando esté presente, el GLB desde model_urls.glb para previsualizarlo primero).
Modos de fallo
Name
400 - Bad Request
Description
La solicitud fue inaceptable. Causas comunes:
Parámetro faltante: image_url es obligatorio.
Formato de imagen no válido: el image_url proporcionado no tiene 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 recuento máximo de píxeles.
URL inalcanzable: no se pudo descargar el image_url (404 o timeout).
Data URI no válido: la cadena en base64 tiene un formato incorrecto.
Contenido marcado: la imagen de entrada fue marcada por la moderation de contenido NSFW.
Name
401 - Unauthorized
Description
Falló la autenticación. Por favor, verifica tu clave de API.
Name
402 - Payment Required
Description
Tu cuenta está en el plan gratuito —la creación de tareas en este endpoint requiere un plan de pago— o no tienes créditos suficientes.
Name
403 - Forbidden
Description
La imagen de entrada fue marcada por infracción de propiedad intelectual.
Name
429 - Too Many Requests
Description
Has excedido tu límite de tasa.
Request
POST
/openapi/creative-lab/fidget-collapsible/v1
curlhttps://api.meshy.cn/openapi/creative-lab/fidget-collapsible/v1 \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Recupera una tarea de fidget colapsable dado un id de tarea válido. Solo las tareas
creadas a través de este endpoint son accesibles aquí: una tarea de otro
endpoint de Creative Lab, o una creada en la aplicación web, devuelve 404.
Cancela una tarea de fidget colapsable. Si la tarea aún está en estado PENDING, se
reembolsan los créditos consumidos en el momento de la creación. Las tareas que ya están
IN_PROGRESS se cancelan sin reembolso (es posible que el worker ya esté
consumiendo recursos). Las tareas que ya han alcanzado un estado terminal
(SUCCEEDED, FAILED, CANCELED) no se pueden cancelar.
Parámetros de ruta
Name
id
Type
path
Description
Identificador único de la tarea de fidget colapsable que se va a cancelar.
Devuelve
Devuelve 204 No Content en caso de éxito, con un cuerpo vacío.
Modos de fallo
Name
400 - Bad Request
Description
La tarea ya se encuentra en un estado terminal y no se puede cancelar.
Name
404 - Not Found
Description
La tarea no existe, pertenece a otro usuario o no se creó mediante este endpoint.
Transmite actualizaciones en tiempo real para una tarea de fidget colapsable
mediante Server-Sent Events (SSE). Una tarea que no existe, o que no fue creada
a través de este endpoint, emite un único event: error payload con
status_code: 404 y cierra el stream.
Parámetros
Name
id
Type
path
Description
Identificador único de la tarea de fidget colapsable a transmitir.
Devuelve
Devuelve un stream de objetos de tarea Collapsible Fidget
como Server-Sent Events. Para tareas PENDING o IN_PROGRESS, el stream de
respuesta solo incluirá los campos necesarios progress y status.
// Error event example (task not found, or not created through this endpoint)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","type": "creative-lab-fidget-collapsible","status": "SUCCEEDED","progress": 100,"created_at": 1729123456000,"started_at": 1729123460000,"finished_at": 1729123512000,"expires_at": 1729382712000,"task_error": null,"consumed_credits": 6,"model_urls": {"glb":"https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","stl":"https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" }}
El objeto Collapsible Fidget Task es una unidad de trabajo que Meshy supervisa para convertir una foto de origen en un modelo de fidget colapsable imprimible sin ensamblaje (print-in-place). Es una tarea de una sola etapa: no hay ningún prototipo a partir del cual encadenar, y la silueta intermedia no forma parte de la respuesta.
Propiedades
Name
id
Type
string
Description
Identificador único de la tarea. Aunque usamos un UUID ordenable por k (k-sortable) para los id 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. El valor es creative-lab-fidget-collapsible.
Name
name
Type
string
Description
El nombre de la tarea proporcionado al crearla. 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
Progress de la tarea. Si la tarea aún no ha comenzado, esta propiedad será 0. Una vez que la tarea se haya completado con éxito, pasará a ser 100.
Name
created_at
Type
timestamp
Description
Marca de tiempo de cuándo 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, el viernes 1 de septiembre de 2023 a las 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 cuándo se inició la tarea, en milisegundos. Si la tarea aún no se ha iniciado, esta propiedad será null.
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á null.
Name
expires_at
Type
timestamp
Description
Marca de tiempo de cuándo caduca el resultado de la tarea, en milisegundos.
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 las tareas fallidas. Consulta Errores para ver 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
model_urls
Type
object
Description
URL descargables para el modelo 3D generado. Se completan una vez que la tarea ha alcanzado el estado SUCCEEDED: stl siempre está presente, glb solo cuando la renderización de vista previa se ha realizado con éxito.
Name
stl
Type
string
Description
URL descargable del archivo STL. Este es el entregable imprimible; envíalo directamente a un laminador.
Name
glb
Type
string
Description
URL descargable del archivo GLB, para obtener una vista previa del modelo en un visor 3D. Sus colores son solo para vista previa: el STL no lleva color, y un fidget impreso toma su color del filamento. El GLB se genera de forma best-effort: cuando la renderización de vista previa no está disponible, la clave se omite por completo de model_urls, así que léela de forma defensiva; stl es el entregable y siempre está presente en una tarea SUCCEEDED.