Sobre a API
A API do Gerador de Monotiles Aperiódicos é um serviço REST hospedado para geometria de monotile aperiódica sem lacunas usando o Spectre Tile 1,1 (monotile de Einstein). Ele preenche uma região com um revestimento não repetitivo, recorta para uma forma de máscara, atribui IDs e rótulos de tile estáveis, e exporta artefatos prontos para produção. Construído para desenvolvedores e agentes de IA que precisam de revestimentos reais sem executar profundidade de substituição, construção de atlas ou ferramentas de iteração fractal no cliente. Suporta gráficos por computador, mundos procedurais, Blender e motores de jogos, Adobe e CAD, impressão 3D, arte generativa, visualização científica, metamateriais, layouts de ondas e acústicos, experimentos em grade adjacentes à criptografia e pipelines de dados que requerem geometria determinística.
O que essa API recebe e o que sua API fornece (entrada/saída)
Você envia JSON com uma máscara e formatos de saída. As máscaras incluem círculo, retângulo, quadrado, triângulo, hexágono regular e retângulo arredondado, centralizado automaticamente em unidades de tile canônicas. Escala opcional, rotação, semente, opções de traço SVG e paleta, dimensões raster e profundidade de extrusão 3D. Autentique-se com o cabeçalho X-API-Key. O fluxo de trabalho é assíncrono: crie um trabalho de patch, consulte o status do trabalho até ser concluído ou falhar, e então busque URLs de download assinadas. Os formatos incluem png, jpg, jpeg, svg, csv, json, stl, glb, stl_zip, obj_zip e instance_json. GLB fornece um nó nomeado por tile. STL ZIP e OBJ ZIP fornecem malhas independentes por tile. Chaves gratuitas permitem apenas pequenas pré-visualizações raster. Chaves comerciais e Solo pagas desbloqueiam vetores, 3D, pacotes zip e trabalhos maiores. Cabeçalho Opcional Idempotency-Key evita envios duplicados em tentativas. Chame o endpoint de capacidades para inspecionar limites de nível ao vivo, máscaras suportadas, formatos e profundidade de fila antes de trabalhos grandes.
Quais são os casos de uso mais comuns dessa API
Anti-moire e amostragem não periódica para renderização e texturas. Malhas procedurais e decoração de mundos no Unity, Godot e Three.js via GLB. Integração de complementos e pipelines no Blender para superfícies revestidas. Saída vetorial para Illustrator, Inkscape e fluxos de trabalho de laser ou plotter via SVG. Impressão 3D de painel único com STL ou tiles imprimíveis separados com STL ZIP e OBJ ZIP. Escultura generativa e design ornamental. Pesquisa e educação sobre revestimentos aperiódicos. Manifestações CSV, JSON e instance para importadores personalizados, indexação espacial e conjuntos de dados de aprendizado de máquina. Agentes devem iniciar usuários com png ou jpg, mover para svg para ferramentas de design, glb para 3D em tempo real, stl para painéis de fabricação, e stl_zip quando cada tile deve ser um objeto separado.
Existem limitações em seus planos
O nível gratuito é limitado a pequenas pré-visualizações PNG e JPG. Trabalhos pesados como grandes exportações GLB ou zip são classificados como pequenos, padrão ou pesados e podem ser enfileirados; as respostas incluem tempo estimado de espera e posição na fila, então os clientes devem consultar em vez de reenviarem. URLs de download assinadas expiram; os usuários devem salvar artefatos dos quais se importam. Não pergunte aos usuários finais sobre família de tiles, centro da máscara, modo de retenção, versão de patch, profundidade de substituição ou extensão de cobertura. Orientações completas de integração legível por máquina para agentes de IA estão disponíveis no site de documentação do provedor configurado nesta lista.
{"status":"ok","ts":1779302690.671844}
curl --location --request GET 'https://zylalabs.com/api/12628/aperiodic+monotile+generator+api/24439/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/12628/aperiodic+monotile+generator+api/24440/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/12628/aperiodic+monotile+generator+api/24441/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/12628/aperiodic+monotile+generator+api/24442/get+job+download+urls&job_id=Required' --header 'Authorization: Bearer YOUR_API_KEY'
| Cabeçalho | Descrição |
|---|---|
Authorization
|
[Obrigatório] Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito. |
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
Cada endpoint retorna dados JSON O endpoint de Verificação de Saúde confirma o status da API enquanto o endpoint de Capacidades fornece detalhes sobre formatos suportados máscaras e limites de níveis O endpoint de Criar Job de Patch retorna o status do job e o ID e o endpoint de Obter URLs de Download do Job fornece URLs para baixar arquivos gerados
Os campos-chave incluem `status`, `job_id`, `urls`, `estimated_seconds` e `ttl_seconds`. Por exemplo, a resposta do Criar Trabalho de Patch inclui `job_id` e `status`, enquanto a resposta do Obter URLs de Download do Trabalho inclui `urls` para acessar arquivos gerados
Os parâmetros incluem forma da borda (máscara), paleta de cores, escala, rotação e propriedades do ladrilho, como estilo de lado e proporção de aspecto Os usuários podem personalizar seus pedidos especificando esses parâmetros no payload JSON
Os dados da resposta estão estruturados no formato JSON, com campos organizados hierarquicamente. Por exemplo, a resposta de Obter URLs de Download de Trabalho inclui um `job_id`, `status` e um objeto `urls` aninhado contendo links de arquivos para download
O endpoint de Capacidades fornece informações sobre formatos de saída suportados, tipos de máscara, limites de camada e configurações de fila. Ele ajuda os usuários a entender quais formatos e tamanhos são permitidos para seus trabalhos de patch
Os usuários podem utilizar os dados retornados verificando o campo `status` para monitorar o progresso do trabalho usando `job_id` para referenciar trabalhos específicos e acessando `urls` para baixar os arquivos gerados assim que o trabalho estiver concluído
Casos de uso típicos incluem gerar texturas não repetitivas para gráficos criar malhas procedurais para desenvolvimento de jogos e produzir arquivos STL para impressão 3D Os usuários também podem aproveitar a API para fins educacionais no estudo de revestimentos aperiódicos
A precisão dos dados é mantida por meio do uso de algoritmos avançados que geram padrões de mosaico determinísticos A API garante uma saída consistente atribuindo IDs e rótulos de mosaico estáveis permitindo uma integração confiável em várias aplicações
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
302ms
Nível de serviço:
100%
Tempo de resposta:
20.003ms
Nível de serviço:
100%
Tempo de resposta:
847ms
Nível de serviço:
100%
Tempo de resposta:
2.938ms
Nível de serviço:
100%
Tempo de resposta:
499ms
Nível de serviço:
100%
Tempo de resposta:
16.783ms
Nível de serviço:
100%
Tempo de resposta:
24ms
Nível de serviço:
100%
Tempo de resposta:
1.582ms
Nível de serviço:
100%
Tempo de resposta:
16.517ms
Nível de serviço:
100%
Tempo de resposta:
11.992ms
Nível de serviço:
100%
Tempo de resposta:
14ms
Nível de serviço:
100%
Tempo de resposta:
2.716ms
Nível de serviço:
100%
Tempo de resposta:
21ms
Nível de serviço:
100%
Tempo de resposta:
19ms
Nível de serviço:
100%
Tempo de resposta:
124ms