Gerador de Monotile Aperiódico Personalizável API

API ID 12632

Personalize seus designs com facilidade usando a API do Gerador de Monotile Aperiódico Personalizável para padrões personalizados

Documentação da API

Endpoints

Requisição

Retorna JSON com status ok e um carimbo de data/hora quando o processo da API está ativo. Use isso para verificar se a Zyla pode alcançar o backend antes de testar os endpoints de patch ou job

Endpoint ID: 24455
GET https://docs.zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24455/health+check
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.

Este endpoint não requer parâmetros de entrada.

RESPOSTA DE EXEMPLO DA API
JSON
{"status":"ok","ts":1779302690.671844}
Verificação de Saúde — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24455/health+check' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição

Retorna formatos de saída suportados ao vivo, tipos de máscara, limites de nível, configurações de fila e resumo de atlas para sua chave de API. Chame isso antes de grandes trabalhos de patch para que os agentes saibam quais formatos e tamanhos são permitidos

Endpoint ID: 24456
GET https://docs.zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24456/capabilities
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.

Este endpoint não requer parâmetros de entrada.

RESPOSTA DE EXEMPLO DA API
JSON
{"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."}}
Capacidades — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24456/capabilities' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição

Cria um patch monotile apériodico a partir de um JSON com forma de contorno ajustável, paleta de cores, escala, estilo de borda, razão lado a/b em formatos como SVG, GLB, STL ou PNG

 

máscara: Região a ser azulejada, em unidades canônicas Tile(1,1), centrada na origem. Deve incluir tipo. Tipos suportados: quadrado (metade_lado), círculo (raio), retângulo (largura, altura), triângulo (comprimento_lado), hexágono_regular (circunraio), retângulo_arredondado (largura, altura, raio_canto). Exemplo: {"type":"circle","radius":50}.

formatos: Artefatos de saída a serem gerados. Valores permitidos: svg, png, jpg, jpeg, csv, json, stl, stl_zip, obj_zip, glb, instance_json. Pelo menos um formato é necessário; omitir o campo utiliza a lista padrão.

escala: Escala de similaridade global aplicada após a colocação (deve ser > 0). Use para redimensionar todo o patch em unidades do mundo.

estilo_borda: Aparência da borda para geometria de exportação: plana, curva, ondulada, denteada ou blocada. O alias curvado é aceito e mapeado para curvo. Afeta SVG, PNG/JPG, STL/OBJ ZIP e GLB.

amplitude_estilo_borda: Força de protuberância para bordas estilizadas (0.0–0.75). Ignorado quando o estilo_borda é plano. Valores mais altos produzem ondas ou cantos mais fortes.

razão_borda_tile: Esticamento anisotrópico dos contornos dos azulejos apenas para exportação (0.25–4.0). Valores diferentes de 1.0 alongam ou comprimem a malha desenhada; a colocação permanece como Tile(1,1), não uma verdadeira substituição Tile(a,b).

paleta_por_rótulo: Cores por rótulo de azulejo para SVG e rasterizações. As chaves são rótulos de azulejos (por exemplo, Gamma, Delta) ou "*" para padrão. Cada valor pode incluir preenchimento, traço, opacidade e transparente (booleano). Exemplo: {"Gamma":{"fill":"#d94738"},"*":{"opacity":0.95}}.

extrusão_stl_mm: Espessura de extrusão em milímetros para saídas stl, stl_zip, obj_zip e glb (deve ser > 0). Sem efeito se esses formatos não forem solicitados.

preenchimento_svg: Cor de preenchimento SVG padrão (por exemplo, #cdd6ea).

largura_png_px: Tamanho do raster quando png está nos formatos; ambos devem ser definidos juntos.

altura_png_px: Tamanho do raster quando png está nos formatos; ambos devem ser definidos juntos.

Endpoint ID: 24457
POST https://docs.zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24457/create+patch+job
PARÂMETROS DE ENTRADA

Criar Tarefa de Patch — Recursos do endpoint

Objeto Descrição
Corpo da requisição Obrigatório Json

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

RESPOSTA DE EXEMPLO DA API
JSON
{"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}}
Criar Tarefa de Patch — TRECHOS DE CÓDIGO

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
}'

    
Requisição

O endpoint "Obter URLs de Download de Trabalho" é projetado para recuperar uma lista de URLs de download associadas ao trabalho

parâmetro job_id: UUID do trabalho retornado pelo Criar Patch Job

Endpoint ID: 24458
GET https://docs.zylalabs.com/api/12632/customizable+aperiodic+monotile+generator+api/24458/get+job+download+urls
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.

RESPOSTA DE EXEMPLO DA API
JSON
{"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"}}
Obter URLs de Download de Trabalho — TRECHOS DE CÓDIGO

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' 


    

Chave de acesso à API e autenticação

Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Gerador de Monotile Aperiódico Personalizável API basta incluir seu token Bearer no cabeçalho Authorization.

Cabeçalhos
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.

(Economize 2 meses com cobrança anual 🎉)

🚀 Plano Empresarial

A partir de
$ 10.000/Ano


  • Volume personalizado
  • Limite de taxa personalizado
  • Suporte ao cliente especializado
  • Monitoramento de API em tempo real

Visão Geral

Sobre a API

A API do Gerador de Monotile Aperiódico é um serviço REST hospedado para geometria de monotile aperiódico sem lacunas usando Spectre Tile 1,1 (monotile de Einstein). Ela 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. Criada 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 computacionais, 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 de rede adjacentes à criptografia, e pipelines de dados que requerem geometria determinística.

O que esta 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, centralizados automaticamente em unidades de tile canônicas. Escalas opcionais, 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, verifique o status do trabalho até ser concluído ou falhar, 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. O GLB fornece um nó nomeado por tile. STL ZIP e OBJ ZIP fornecem malhas independentes por tile. Chaves gratuitas permitem apenas pequenas prévias raster. Chaves pagas Solo e Comercial desbloqueiam vetores, 3D, pacotes zip, e trabalhos maiores. O cabeçalho opcional Idempotency-Key previne envios duplicados em tentativas. Chame o endpoint de capacidades para inspecionar limites de tier ao vivo, máscaras suportadas, formatos e profundidade da fila antes de grandes trabalhos.

Quais são os casos de uso mais comuns desta API

Anti-moire e amostragem não periódica para renderização e texturas. Malhas procedurais e decoração de mundos em Unity, Godot, e Three.js via GLB. Integração de complementos para Blender e pipeline 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. CSV, JSON, e manifestos de instância para importadores personalizados, indexação espacial, e conjuntos de dados de aprendizado de máquina. Agentes devem iniciar usuários em 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 com seus planos

O nível gratuito é limitado a pequenas prévias de 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 espera estimada e posição na fila, então os clientes devem consultar em vez de reenviar. URLs de download assinadas expiram; os usuários devem salvar artefatos que consideram importantes. Não pergunte aos usuários finais sobre a família do tile, centro da máscara, modo de retenção, versão do patch, profundidade de substituição, ou extensão de cobertura. Orientação completa e legível por máquina para integração de agentes de IA está disponível no site de documentação do provedor configurado nesta lista.

Gerador de Monotile Aperiódico Personalizável API FAQs

Cada ponto final retorna dados JSON O ponto final de Verificação de Saúde fornece um status e timestamp O ponto final de Capacidades detalha formatos suportados tipos de máscara e limites de nível O ponto final de Criar Trabalho de Patch retorna status do trabalho e tempos de espera estimados O ponto final de Obter URLs de Download de Trabalho fornece URLs para baixar artefatos gerados

Os campos-chave incluem "status", "job_id", "estimated_seconds" e "urls" Por exemplo a resposta do Criar Job de Patch inclui "job_id" para rastrear o trabalho e "status" para indicar seu estado atual enquanto a resposta do Obter URLs de Download de Job inclui "ttl_seconds" para expiração de URL

Os parâmetros incluem forma da máscara (por exemplo, círculo, retângulo), escala, rotação, paleta de cores e dimensões raster. Os usuários podem personalizar seus pedidos especificando esses parâmetros na carga útil JSON para adaptar os padrões gerados às suas necessidades

Os dados da resposta estão estruturados em pares de chave-valor Por exemplo a resposta do Job de Patch de Criação inclui detalhes de "job_id" "status" e "queue" permitindo que os usuários acessem facilmente as informações do trabalho e acompanhem seu progresso

O endpoint de Capacidades fornece informações sobre formatos de saída suportados, tipos de máscara, limites de nível e configurações de fila Isso ajuda os usuários a entender quais formatos e tamanhos são permissíveis antes de iniciar grandes trabalhos de patch

Os usuários podem utilizar os dados retornados verificando o campo "status" para monitorar o progresso do trabalho e usando os "urls" da resposta Get Job Download URLs para acessar os artefatos gerados Isso permite uma integração eficiente nos fluxos de trabalho

Casos de uso típicos incluem gerar texturas não repetitivas para gráficos, criar malhas procedurais em motores de jogos e produzir arquivos STL para impressão 3D. Os usuários podem aproveitar a API para designs artísticos, visualização científica e fins educacionais

A precisão dos dados é mantida através do uso de algoritmos determinísticos para o revestimento e estrita adesão aos parâmetros de entrada O design da API garante que os padrões gerados sejam consistentes e confiáveis adequados para várias aplicações

Perguntas Frequentes Gerais

O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]

Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]

APIs relacionadas