Acerca de la API
La API del Generador de Monotiles Aperiodicos es un servicio REST alojado para geometría de monotiles aperiodicos sin huecos utilizando Spectre Tile 1,1 (monotile de Einstein). Rellena una región con un mosaico no repetitivo, recorta a una forma de máscara, asigna IDs y etiquetas de mosaico estables, y exporta artefactos listos para producción. Diseñada para desarrolladores y agentes de IA que necesitan mosaicos reales sin ejecutar profundidad de sustitución, construcción de atlas o herramientas de iteración fractal en el cliente. Soporta gráficos por computadora, mundos procedurales, Blender y motores de juego, Adobe y CAD, impresión 3D, arte generativo, visualización científica, metamateriales, disposiciones de ondas y acústicas, experimentos de malla adyacentes a la criptografía, y pipelines de datos que requieren geometría determinista.
Lo que esta API recibe y lo que su API proporciona (entrada/salida)
Envías JSON con una máscara y formatos de salida. Las máscaras incluyen círculo, rectángulo, cuadrado, triángulo, hexágono regular y rectángulo redondeado, centradas automáticamente en unidades de mosaicos canónicas. Escala opcional, rotación, semilla, opciones de trazo SVG y paleta, dimensiones de raster y profundidad de extrusión 3D. Autenticarse con el encabezado X-API-Key. El flujo de trabajo es asíncrono: crea un trabajo de parche, consulta el estado del trabajo hasta que se complete o falle, luego recupera URL de descarga firmadas. Los formatos incluyen png, jpg, jpeg, svg, csv, json, stl, glb, stl_zip, obj_zip, y instance_json. GLB proporciona un nodo nombrado por mosaico. STL ZIP y OBJ ZIP proporcionan mallas independientes por mosaico. Las claves gratuitas permiten solo pequeñas vistas previas raster. Las claves pagadas Solo y Comercial desbloquean vectores, 3D, paquetes zip y trabajos más grandes. El encabezado opcional Idempotency-Key previene envíos duplicados en reintentos. Llama al endpoint de capacidades para inspeccionar límites de nivel en vivo, máscaras soportadas, formatos y profundidad de cola antes de trabajos grandes.
Cuáles son los casos de uso más comunes de esta API
Anti-moiré y muestreo no periódico para renderizado y texturas. Mallas procedurales y decoración del mundo en Unity, Godot y Three.js a través de GLB. Integración de complementos y pipelines de Blender para superficies en mosaico. Salida vectorial para Illustrator, Inkscape y flujos de trabajo de láser o plotter a través de SVG. Impresión 3D de panel único con STL o mosaicos imprimibles separados con STL ZIP y OBJ ZIP. Escultura generativa y diseño ornamental. Investigación y educación sobre mosaicos aperiodicos. CSV, JSON y manifiestos de instancia para importadores personalizados, indexación espacial y conjuntos de datos de aprendizaje automático. Los agentes deben iniciar a los usuarios en png o jpg, pasar a svg para herramientas de diseño, glb para 3D en tiempo real, stl para paneles de fabricación, y stl_zip cuando cada mosaico debe ser un objeto separado.
¿Hay alguna limitación con sus planes
El nivel gratuito está limitado a pequeñas vistas previas en PNG y JPG. Trabajos pesados como grandes exportaciones de GLB o zip se clasifican como pequeños, estándar o pesados y pueden estar en cola; las respuestas incluyen tiempo de espera estimado y posición en la cola, por lo que los clientes deben consultar en lugar de reenviar. Las URL de descarga firmadas expiran; los usuarios deben guardar los artefactos que les importan. No pida a los usuarios finales información sobre la familia de mosaicos, centro de la máscara, modo de retención, versión del parche, profundidad de sustitución o extensión de cobertura. La guía completa de integración legible por máquina para agentes de IA está disponible en el sitio de documentación del proveedor configurado en esta lista.
{"status":"ok","ts":1779302690.671844}
curl --location --request GET 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24455/health+check' --header 'Authorization: Bearer YOUR_API_KEY'
{"patch_engine_semver":"1.0.0","supported_tile_families":["spectre_tile_1_1"],"roadmap":{"tile_families":[{"id":"spectre_tile_1_1","status":"supported","label":"Spectre / Tile(1,1)"},{"id":"einstein_hat_tile","status":"planned","label":"Einstein Hat monotile (same API hooks)"},{"id":"turtle_tile","status":"planned","label":"Companion turtle monotile family"}]},"free_tier_formats":["jpeg","jpg","png"],"supported_masks":["square","rectangle","circle","regular_hexagon","triangle","rounded_rect"],"supported_formats":["svg","csv","json","stl","stl_zip","obj_zip","glb","instance_json","png","jpg","jpeg"],"output_notes":{"glb":"3D tiled scene with one named, movable node per retained tile.","stl":"Whole-panel mesh output.","stl_zip":"Independent STL files, one per tile.","obj_zip":"Independent OBJ files, one per tile."},"boundary_behavior":"clip","visual_styling":{"side_styles":["flat","curvy","wavy","jagged","blocky"],"side_style_aliases":{"curved":"curvy","curve":"curvy"},"side_style_amplitude":{"min":0.0,"max":0.75,"default":0.12},"tile_edge_ratio":{"min":0.25,"max":4.0,"default":1.0,"note":"Anisotropic stretch of export geometry only; substitution placement remains canonical Tile(1,1). Not a true Tile(a,b) two-family substitution."},"side_style_wavy_segments":{"min":4,"max":64,"default":10},"palette_by_label":{"supported":true,"keys_per_label":["fill","stroke","opacity","stroke_width"],"wildcard_label":"*"},"request_fields":["side_style","side_style_amplitude","tile_edge_ratio","side_style_wavy_segments","palette_by_label"]},"limits":{"max_supertile_iterations":26,"max_tiles_per_job":500000,"sync_max_tiles":8000,"svg_max_tiles_hard":25000,"png_max_dimension_px":16000,"png_max_pixels":50000000,"max_output_bytes_soft":32212254719,"max_wall_time_sec":3600.0,"job_gc_hours":24,"stl_tile_instancing_floor":50000,"svg_max_chars":400000000,"redis_url":null},"atlas":{"available":true,"max_canonical_half_side":1544.0511060838514,"max_canonical_full_side":3088.102212167703,"cores":[{"tile_family":"spectre_tile_1_1","iterations":5,"tile_count":34649,"inscribed_half_side":72.85611373427516,"inscribed_center":[180.85884907869263,-190.4637563106116],"patch_version":"0.1.0"},{"tile_family":"spectre_tile_1_1","iterations":6,"tile_count":272791,"inscribed_half_side":197.20129785929603,"inscribed_center":[611.0929636810714,-457.26130132202326],"patch_version":"0.1.0"},{"tile_family":"spectre_tile_1_1","iterations":7,"tile_count":2147679,"inscribed_half_side":516.3669015101796,"inscribed_center":[1297.8529395021253,-1742.7605795910576],"patch_version":"0.1.0"},{"tile_family":"spectre_tile_1_1","iterations":8,"tile_count":16908641,"inscribed_half_side":1544.0511060838514,"inscribed_center":[4553.311273135866,-4060.276908476975],"patch_version":"1.0.0"}]},"coordinate_convention":"Canonical Tile(1,1) planar coordinates (unit-edge reference). Global client scale ∈ ℝ⁺ and rotation_deg are similarity transforms applied after substitution.","operational":{"run_jobs_in_process":false,"rate_limit_post_patch":"30/minute","queue_max_active_jobs":2000,"queue_max_active_jobs_per_key":100,"queue_max_heavy_jobs":300,"queue_max_heavy_jobs_per_key":10,"download_ttl_seconds_max":3600,"artifact_retention_note":"Generated artifacts are kept for roughly one hour after the job completes. Download or copy them to your own storage if you need them longer."}}
curl --location --request GET 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24456/capabilities' --header 'Authorization: Bearer YOUR_API_KEY'
{"job_id":"bfb87a47-6910-462c-86ec-2bb63ca9bba7","status":"queued","tier":"tier_free","size_class":"small","estimated_seconds":5.0,"request_id":"2c7470cc-b96f-4725-b419-41826e2871e5","queue":{"status":"queued","size_class":"small","position":1,"estimated_wait_seconds":0.0}}
curl --location --request POST 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24457/create+patch+job' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"mask": {"type": "circle", "radius": 16},
"formats": ["png", "jpg"],
"png_width_px": 512,
"png_height_px": 512,
"jpg_width_px": 512,
"jpg_height_px": 512
}'
{"job_id":"bfb87a47-6910-462c-86ec-2bb63ca9bba7","status":"completed","ttl_seconds":900,"urls":{"patch.jpg":"/v1/downloads/bfb87a47-6910-462c-86ec-2bb63ca9bba7/patch.jpg?exp=1779375751&sig=d61d646a3e3893ba4bd7c753a46cb9af2e8eca4178467ec19f62a2481ad3d39a","patch.png":"/v1/downloads/bfb87a47-6910-462c-86ec-2bb63ca9bba7/patch.png?exp=1779375751&sig=c6c4732a4874653588673c05fe14fb4570047b05603da7318d701d7694ec5064"}}
curl --location --request GET 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24458/get+job+download+urls&job_id=Required' --header 'Authorization: Bearer YOUR_API_KEY'
| Encabezado | Descripción |
|---|---|
Autorización
|
[Requerido] Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito. |
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
Cada punto final devuelve datos JSON. El punto final de verificación de estado proporciona un estado y una marca de tiempo. El punto final de capacidades detalla los formatos soportados, tipos de máscara y límites de nivel. El punto final para crear trabajos de parche devuelve el estado del trabajo y los tiempos de espera estimados. El punto final para obtener URLs de descarga de trabajos proporciona URLs para descargar artefactos generados
Los campos clave incluyen "estado", "job_id", "segundos_estimados" y "urls" Por ejemplo, la respuesta de Crear Trabajo de Parche incluye "job_id" para rastrear el trabajo y "estado" para indicar su estado actual, mientras que la respuesta de Obtener URLs de Descarga de Trabajo incluye "ttl_seconds" para la expiración de la URL
Los parámetros incluyen la forma de la máscara (por ejemplo, círculo, rectángulo), escala, rotación, paleta de colores y dimensiones rasterizadas. Los usuarios pueden personalizar sus solicitudes especificando estos parámetros en la carga útil JSON para adaptar los patrones generados a sus necesidades
Los datos de respuesta están estructurados en pares clave-valor Por ejemplo la respuesta de Crear Trabajo de Parches incluye detalles de "job_id" "status" y "queue" lo que permite a los usuarios acceder fácilmente a la información del trabajo y rastrear su progreso
El punto final de Capacidades proporciona información sobre los formatos de salida soportados, tipos de máscara, límites de nivel y configuraciones de cola Esto ayuda a los usuarios a entender qué formatos y tamaños son permisibles antes de iniciar trabajos de parcheo grandes
Los usuarios pueden utilizar los datos devueltos al verificar el campo "estado" para monitorear el progreso del trabajo y usar las "urls" de la respuesta Obtener URLs de descarga del trabajo para acceder a los artefactos generados Esto permite una integración eficiente en los flujos de trabajo
Los casos de uso típicos incluyen generar texturas no repetitivas para gráficos crear mallas procedimentales en motores de juegos y producir archivos STL para impresión 3D Los usuarios pueden aprovechar la API para diseños artísticos visualización científica y propósitos educativos
La precisión de los datos se mantiene a través del uso de algoritmos deterministas para el mosaico y la estricta adherencia a los parámetros de entrada El diseño de la API garantiza que los patrones generados sean consistentes y confiables, adecuados para diversas aplicaciones
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
213ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
4.054ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
3.208ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
302ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.938ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.958ms