lowpoly se retira el 30 oct 2026. Cambia de modelo antes de estas fechas para evitar errores en las solicitudes. Ver todas las obsolescencias

API de Impresión Multicolor

Convierte un modelo 3D en un archivo 3MF multicolor para impresión 3D. Elige una paleta de hasta 16 colores y un preajuste de laminador para la marca de tu impresora.


POST/openapi/v1/print/multi-color

Crear una tarea de impresión multicolor

Crea una tarea de impresión multicolor, que convierte un modelo 3D en un archivo 3MF multicolor para impresión 3D. La tarea se ejecuta en segundo plano. Para saber cuánto suele tardar una tarea, consulta Tiempos de procesamiento.

Request

POST
/openapi/v1/print/multi-color
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "max_colors": 8,
    "printer_brand": "creality"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

Parámetros

  • Name
    input_task_id
    Type
    string
    Requerido
    Description

    Obligatorio a menos que envíes model_url. El ID de la tarea cuyo modelo quieres imprimir, por ejemplo una tarea de Imagen a 3D, Multi-imagen a 3D, Texto a 3D, Remallado o Retexturizar. La tarea debe ser una que hayas creado con la API y tener el estado SUCCEEDED.

    Multi-Color Print lee el archivo GLB de la tarea, que puede tener como máximo 8,000,000 de caras. Un modelo con más caras devuelve 400. En ese caso, ejecuta primero una tarea de Remallado sobre él, y envía el ID de la tarea de remallado en su lugar.

  • Name
    model_url
    Type
    string
    Requerido
    Description

    Obligatorio a menos que envíes input_task_id. El modelo a imprimir, como una URL pública o un data URI. Si envías ambos, Meshy usa input_task_id.

    Una URL http o https debe apuntar a un archivo .glb o .fbx de un máximo de 400 MB. Un data URI debe contener un archivo GLB en base64 de un máximo de 100 MB. Usa data:model/gltf-binary;base64,. Envía un archivo .fbx como una URL http o https.

    Un archivo de más de 100 MB también debe cumplir estas reglas:

    • Puede tener como máximo 8,000,000 de caras. Meshy cuenta las caras como triángulos, por lo que un cuadrilátero cuenta como 2, y una malla dibujada más de una vez cuenta una vez por copia.
    • Un archivo FBX debe ser FBX binario 7.1 o más reciente.
    • Un archivo GLB no debe usar compresión Draco.
  • Name
    max_colors
    Type
    integer
    predeterminado 4
    Description

    El número máximo de colores en la paleta de salida, de 1 a 16. Para usar el valor predeterminado, omítelo en lugar de enviar 0.

  • Name
    style
    Type
    string
    predeterminado realistic
    Description

    El estilo de color del archivo 3MF.

    Valores disponibles:

    • realistic: toma muestras de colores directamente de la textura del modelo para obtener un detalle fino y fotorrealista, y genera un archivo más grande.
    • cartoon: aplana los colores en regiones uniformes y limpias para un aspecto estilizado, y genera un archivo más pequeño.

    El modelo debe tener color. realistic necesita una única textura de color base, con UVs en cada parte de la malla, y cartoon también acepta colores de vértice. Meshy rechaza un modelo sin textura (blanco). Consulta model_missing_texture.

  • Name
    max_depth
    Type
    integer
    predeterminado 4
    Description

    La profundidad de subdivisión que Meshy usa para muestrear los colores de la textura sobre la malla, de 3 a 6. 0 equivale a omitirlo. Valores más altos capturan un detalle de color más fino y generan un archivo más grande. Solo el estilo realistic lo usa, y cartoon lo ignora.

  • Name
    printer_brand
    Type
    string
    predeterminado bambu
    Description

    La marca de impresora cuyo preset de laminador Meshy escribe en el archivo 3MF. El archivo se abre entonces en el laminador de esa marca con un perfil de impresora, filamento y proceso correspondiente. El preset usa la impresora predeterminada de la marca, con una boquilla de 0.4 mm.

    Valores disponibles:

    • bambu
    • anycubic
    • creality
    • elegoo
    • flashforge
    • prusa
    • qidi
    • snapmaker
    • ankermake

    Cualquier otro valor devuelve 400.

Valores devueltos

El campo result de la respuesta contiene el ID de la nueva tarea de impresión multicolor.

Modos de fallo

  • Name
    400 - Bad Request
    Description

    La solicitud no puede ejecutarse. El mensaje de error indica qué problema encontró. Por ejemplo:

    • Parámetro faltante: No se envió ni model_url ni input_task_id.
    • Formato de modelo inválido: El archivo model_url no es un archivo .glb ni .fbx.
    • URL inaccesible: Meshy no puede descargar el archivo model_url.
    • Archivo de modelo demasiado grande: El archivo model_url supera los 400 MB desde una URL http o https, o supera los 100 MB como data URI.
    • Demasiadas caras: El archivo model_url supera los 100 MB y tiene más de 8,000,000 de caras. Reduce el número de caras y vuelve a enviar el archivo.
    • FBX ASCII de más de 100 MB: El archivo model_url es un FBX ASCII de más de 100 MB. Envíalo como FBX binario o GLB.
    • Archivo de modelo ilegible: El archivo model_url supera los 100 MB, y Meshy no puede leer su encabezado. Por ejemplo, es un GLB comprimido con Draco, o un FBX binario anterior a la versión 7.1.
    • Encabezado del modelo demasiado complejo: El archivo model_url supera los 100 MB, y su encabezado tiene demasiadas mallas, nodos o registros para verificar. Reduce el número de objetos en el archivo y vuelve a enviarlo.
    • Tarea de entrada inválida: input_task_id no corresponde a una tarea exitosa.
    • Demasiadas caras en la tarea de entrada: El modelo de input_task_id tiene más de 8,000,000 de caras. Ejecuta una tarea de remallado sobre él y envía el ID de esa tarea en su lugar.
    • max_colors inválido: max_colors es negativo o supera 16.
    • style inválido: style no es realistic ni cartoon.
    • max_depth inválido: max_depth está fuera del rango de 3 a 6, y no es 0.
    • printer_brand inválido: printer_brand no corresponde a uno de sus valores disponibles.
    • Sin fuente de color: El modelo carece del color que necesita style. realistic necesita una única textura de color base, con UVs, en cada parte de la malla. cartoon acepta una textura de color base o colores de vértice. Aplica textura al modelo primero, o usa cartoon para un modelo con colores de vértice. Meshy verifica una carga .fbx solo después de que la tarea la normaliza, por lo que la tarea falla con model_missing_texture en su lugar.

    Corrige la solicitud y vuelve a enviarla. Consulta Errores.

  • Name
    401 - Unauthorized
    Description

    La clave de API falta o no es válida. Revisa el encabezado Authorization.

  • Name
    402 - Payment Required
    Description

    Por ejemplo:

    • Créditos insuficientes: La cuenta no tiene suficientes créditos para esta tarea, o la cuenta alcanzó un límite de créditos. Revisa tu saldo de créditos y vuelve a intentarlo.
    • Plan gratuito: Crear una tarea requiere un plan de pago. Mejora tu plan en la configuración de suscripción, y vuelve a intentarlo.
  • Name
    403 - Forbidden
    Description

    input_task_id es un modelo de bajorrelieve, que este endpoint no puede imprimir. El mensaje es This model type does not support this operation. Envía un modelo diferente.

  • Name
    404 - Not Found
    Description

    input_task_id no coincide con ninguna de tus tareas. Revisa el ID de la tarea y vuelve a enviar la solicitud.

  • Name
    429 - Too Many Requests
    Description

    Superaste tu límite de tasa. Espera y vuelve a intentarlo. Consulta Límites de tasa.


GET/openapi/v1/print/multi-color/:id

Obtener una tarea de impresión multicolor

Devuelve una tarea de impresión multicolor por su ID.

Request

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

Parámetros

  • Name
    id
    Type
    path
    Description

    El ID de la tarea de la respuesta de creación.

Devuelve

El objeto de tarea de impresión multicolor.


DELETE/openapi/v1/print/multi-color/:id

Eliminar una tarea de impresión multicolor

Elimina permanentemente una tarea de impresión multicolor, incluyendo sus modelos y datos. No puedes deshacer una eliminación.

Request

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

Parámetros de ruta

  • Name
    id
    Type
    path
    Description

    El ID de la tarea que se va a eliminar.

Estado de la tarea

Eliminar una tarea en estado PENDING reembolsa los créditos que se usaron al crearla.

Una tarea IN_PROGRESS no se puede eliminar. La solicitud devuelve 409 Conflict, y la tarea sigue ejecutándose. Meshy no reembolsa una tarea que ya ha comenzado, así que eliminarla te costaría tanto los créditos como el resultado. Espera a que alcance el estado SUCCEEDED, FAILED o CANCELED, y luego elimínala.

Eliminar una tarea en un estado final (SUCCEEDED, FAILED o CANCELED) no reembolsa sus créditos.

Devuelve

200 OK cuando la tarea se elimina, o 409 Conflict cuando la tarea está en estado IN_PROGRESS.


GET/openapi/v1/print/multi-color

Listar tareas de impresión multicolor

Devuelve una lista de tus tareas de impresión multicolor.

Request

GET
/openapi/v1/print/multi-color
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-multi-color",
    "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
  "consumed_credits": 10
  }
]

Parámetros

  • Name
    page_num
    Type
    integer
    predeterminado 1
    Description

    El número de página a devolver. Los números de página comienzan en 1.

  • Name
    page_size
    Type
    integer
    predeterminado 10
    Description

    El número de tareas por página, hasta 100.

  • Name
    sort_by
    Type
    string
    Description

    El orden de clasificación.

    Valores disponibles:

    • +created_at: más antiguas primero
    • -created_at: más recientes primero

Devuelve

Una lista paginada de objetos de tarea de impresión multicolor.


GET/openapi/v1/print/multi-color/:id/stream

Transmitir una tarea de impresión multicolor

Transmite las actualizaciones de una tarea de impresión multicolor como eventos enviados por el servidor (SSE).

Request

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-multi-color",
  "model_urls": {
    "3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

Parámetros

  • Name
    id
    Type
    path
    Description

    El ID de la tarea proveniente de la respuesta de creación.

Devuelve

Un flujo de objetos de tarea de impresión multicolor como eventos enviados por el servidor.

Cada evento contiene el objeto de tarea completo, con la misma forma que devuelve el endpoint Get. Mientras la tarea esté en PENDING o IN_PROGRESS, sus campos de resultado aún no tienen valores.


El objeto de tarea de impresión multicolor

Un objeto de tarea de impresión multicolor describe una conversión de un modelo 3D a un archivo 3MF multicolor. Contiene el estado, el progreso y el archivo 3MF cuando la tarea tiene éxito.

The 3D Print Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}
  • Name
    id
    Type
    string
    Description

    El ID de la tarea. Trátelo como una cadena opaca y no dependa de su formato.

  • Name
    type
    Type
    string
    Description

    El tipo de tarea, siempre print-multi-color.

  • Name
    model_urls
    Type
    object
    Description

    URLs de descarga para el modelo impreso, una por cada formato de archivo. Un formato que la tarea no generó no tiene clave, en lugar de tener una cadena vacía.

    • Name
      3mf
      Type
      string
      Description

      El archivo 3MF multicolor.

  • Name
    progress
    Type
    integer
    Description

    Cuánto de la tarea está completado, como porcentaje. Es 0 hasta que la tarea comienza y 100 cuando tiene éxito.

  • Name
    status
    Type
    string
    Description

    El estado de la tarea, uno de PENDING, IN_PROGRESS, SUCCEEDED o FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    El número de tareas por delante de esta en la cola. El valor solo es significativo mientras la tarea está en PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Momento en que se creó la tarea, en milisegundos Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Momento en que la tarea comenzó, en milisegundos Unix. Es 0 hasta que la tarea comienza.

  • Name
    finished_at
    Type
    timestamp
    Description

    Momento en que la tarea finalizó, en milisegundos Unix. Es 0 hasta que la tarea finaliza.

  • Name
    task_error
    Type
    object
    Description

    Los detalles del error cuando la tarea falla. Consulte Errores.

  • Name
    consumed_credits
    Type
    integer
    Description

    El número de créditos que usó la tarea. Presente cuando el estado es PENDING, IN_PROGRESS o SUCCEEDED. Es 0 para una tarea FAILED, porque Meshy reembolsa los créditos cuando una tarea falla.