Sceneplane
Blender em nuvem para agentes de IA: projetos duráveis, revisões imutáveis, operações seguras de cena, renders, MP4, STL e GLB via MCP remoto hospedado.
Documentação
Documentação
O Sceneplane oferece aos agentes de IA computação Blender isolada na nuvem: projetos duráveis, estado de cena versionado e renderização assíncrona — por meio de um único endpoint MCP remoto. Cada saída é sua para baixar: renders, exportações GLB/OBJ/STL e os arquivos de projeto .blend. Tudo abaixo se aplica igualmente a agentes e a humanos que usam o dashboard.
Início rápido
- Cadastre-se, depois crie e copie uma chave de API em sceneplane.online/app (Início → Chaves de API, ou o modal da Etapa 4).
- Conecte um cliente MCP compatível com cabeçalhos a
https://mcp.sceneplane.online/v1com a chave como cabeçalho bearer:
{
"mcpServers": {
"sceneplane": {
"url": "https://mcp.sceneplane.online/v1",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}
- Execute
platform_statuspara confirmar que a implantação está pronta e seus limites de política atuais. - Crie um projeto. Uma conta nova recebe uma organização Pessoal e uma implantação padrão provisionada automaticamente na primeira chamada — sem necessidade de cliques.
Autenticação
Chaves de API (para clientes compatíveis com cabeçalhos)
As chaves têm o formato sp_…, são criadas no dashboard, exibidas apenas uma vez e armazenadas no servidor somente como hash SHA-256. Revogar uma chave a bloqueia na próxima solicitação. Uma chave atua como sua conta: suas permissões em cada implantação seguem o papel da sua organização (proprietário, administrador, editor, visualizador).
OAuth (para conectores compatíveis com OAuth)
Conectores baseados na web (por exemplo, conectores personalizados do Claude web) executam OAuth authorization-code + PKCE — contra a mesma URL: adicione https://mcp.sceneplane.online/v1 sem cabeçalho Authorization e deixe o ID do cliente vazio (registro dinâmico é suportado). Você será redirecionado para entrar e escolher a implantação à qual o conector será vinculado durante o consentimento.
Implantações e vinculação
Uma implantação é um ambiente de computação Blender isolado com sua própria política, orçamento e projetos. Cada solicitação MCP vincula-se a uma implantação:
- uma implantação na conta → vinculada automaticamente;
- nenhuma → uma implantação padrão é provisionada na primeira chamada;
- várias → a mais recentemente atualizada é vinculada; fixe explicitamente com
https://mcp.sceneplane.online/v1?deployment=<slug>(vejadeployments_list).
Catálogo de ferramentas
Ferramentas de cena e projeto (escopo da implantação)
| Ferramenta | O que faz |
|---|---|
projects_list | Lista projetos Blender na implantação vinculada (paginação por cursor). |
project_create | Cria um projeto a partir de um modelo (vazio, product_studio, three_point_lighting, low_poly, print_ready); retorna o job de inicialização assíncrono. |
project_get | Detalhes do projeto: revisão principal, revisões recentes, jobs ativos, artefato de pré-visualização. |
scene_inspect | Resumo estruturado da cena de uma revisão: objetos, materiais, câmeras, luzes, estatísticas. |
scene_apply | Aplica um lote validado de operações de cena contra a revisão principal; confirma uma nova revisão imutável (job assíncrono). |
scene_validate | Valida uma revisão contra um perfil (geral, render, game_asset, three_d_print). deep=true executa análise real de malha no Blender — estanqueidade, saliências e um relatório de impressão 3D com dimensões, volume, estimativa de filamento e ajuste na cama. |
scene_snapshot | VEJA a cena: a miniatura da revisão atual (ou qualquer quadro de render/turntable) retornada como imagem inline real — verifique visualmente após cada alteração, sem necessidade de job de render. |
scene_script | Executa Python Blender arbitrário (bpy) contra uma revisão, confirmando o resultado. Desativado por padrão — um proprietário habilita scripts por implantação (Configurações → Política). Executa em contêiner isolado, sem credenciais. |
docs_bpy_lookup / docs_bpy_search | Referência autoritativa da API Python do Blender como ferramentas — agentes verificam assinaturas, membros e enums do bpy antes de escrever código scene_script, com descoberta de namespace e sugestões de "você quis dizer". |
docs_manual_search / docs_manual_get | Busca de texto completo em todo o manual do usuário do Blender (mais de 2.100 páginas) — respostas conceituais sobre como modificadores, sombreamento, física e fluxos de trabalho se comportam, com trechos classificados e leituras de página inteira. |
asset_preview / assets_categories | Veja a miniatura de um ativo como imagem real antes de importar e navegue pelas categorias do Poly Haven com contagens. |
assets_search | Busca fontes de ativos gratuitos por palavra-chave: Poly Haven CC0 (HDRIs, conjuntos de texturas PBR, modelos — sem configuração) ou modelos baixáveis do Sketchfab (token próprio). Retorna slugs para asset_library_import. |
asset_library_import | Importa um ativo da biblioteca por slug: HDRIs tornam-se o ambiente do mundo, modelos são adicionados à cena, conjuntos de texturas tornam-se um material PBR conectado que você pode atribuir automaticamente a objetos (job assíncrono). Fontes: polyhaven, sketchfab, hyper3d, hunyuan3d, tripo3d. |
material_from_image | Uma imagem → um material PBR completo, deterministicamente: uma máscara de alfa ou luminância conduz cor base composta, rugosidade fosca/brilhante, mapas de normal + altura em relevo e metálico opcional — por exemplo, um logotipo torna-se um rótulo brilhante em relevo em uma lata fosca. |
presets_list / preset_apply | Presets curados de uma chamada: materiais PBR (vidro, cromo, ouro, neon…), rigs de iluminação (estúdio de três pontos, softbox, pôr do sol…), enquadramentos de câmera (herói, topo para baixo, isométrico…) e perfis de render (rascunho, produção). Compilam para operações de cena validadas. |
webhooks_set / webhooks_list / webhook_test / webhooks_delete | Push em vez de polling: registre uma URL https e receba POSTs assinados com HMAC em job.completed / job.failed / job.cancelled. Segredo de assinatura exibido uma vez; entregas de teste sob demanda. |
job_wait | Long-poll de um job até 25s por chamada — retorna no momento em que atinge um estado terminal. Encadeie chamadas para jobs mais longos. |
platform_status | Descoberta de capacidade: se a execução do Blender está disponível no momento, contagens de jobs abertos e os limites de política da implantação — falhe rápido em vez de enfileirar jobs condenados. |
project_update / project_delete | Renomeia ou exclui logicamente projetos (a exclusão recusa enquanto houver jobs abertos). |
deployment_policy_update | Ajuste de política self-service via MCP: timeouts, profundidade de fila, limites de render e habilitação de scene_script (somente proprietário) — sem necessidade de dashboard. |
asset_generate_3d / asset_generate_status | Texto ou imagem → modelo 3D via Hyper3D Rodin, Tencent Hunyuan3D ou Tripo3D (chaves próprias). Inicie, faça polling e importe o modelo finalizado com asset_library_import — opcionalmente escalado para um targetSize do mundo real. |
integrations_set / integrations_list / integrations_delete | Credenciais de fontes de terceiros gerenciadas por agente (Sketchfab, Hyper3D, Hunyuan3D, Tripo3D), criptografadas em repouso — configure uma vez via MCP, sem necessidade de dashboard. |
upload_create / upload_complete | Upload direto em duas etapas para ativos (PUT assinado, depois finalize + escaneie). |
asset_import | Importa um ativo validado enviado (glb/obj/fbx/stl…) para um projeto como nova revisão (job assíncrono). |
render_create | Enfileira um render Cycles de uma revisão (largura/altura/amostras/transparência; limitado por política; job assíncrono). |
render_turntable | 2 a 12 vistas orbitais igualmente espaçadas em UM job — pré-visualizações Workbench quase instantâneas ou quadros Cycles iluminados, cada um visualizável inline via scene_snapshot. targetObjectIds orbita e enquadra apenas esses objetos, então fotos de produto mantêm pisos e fundos fora do quadro sem ocultá-los. |
render_animation | Sequência com keyframes → MP4 H.264 em um job (até 600 quadros; Cycles ou pré-visualização rápida). Sequências longas renderizam como jobs de segmento paralelos em intervalos de quadros contíguos — segmentos MP4 seguros para concatenação. |
export_create | Exporta uma revisão para glb, obj, stl ou blend. Presets de engine aplicam convenções de destino — unity, unreal, godot e print (STL escalado de metros→milímetros para que fatiadores leiam o tamanho real). |
revision_diff | Diff semântico entre uma revisão e sua pai: objetos adicionados/removidos, transformações, materiais… |
revision_restore | Restaura uma revisão mais antiga como novo commit principal (o histórico nunca é reescrito). |
artifact_get | Metadados + URL de download expirável para um render, exportação ou artefato de pré-visualização. |
job_get / jobs_list / job_cancel | Poll de status + progresso do job, lista de jobs, solicitação de cancelamento. |
Ferramentas de conta (somente endpoint de chave de API)
| Ferramenta | O que faz |
|---|---|
organizations_list | Organizações às quais esta conta pertence, com seu papel. |
deployments_list | Toda implantação acessível; sinaliza a qual esta sessão está vinculada. |
deployment_create | Cria uma nova implantação isolada (proprietário/administrador). |
deployment_update | Renomeia ou habilita/desabilita uma implantação (proprietário/administrador). |
deployment_delete | Exclui uma implantação vazia (proprietário/administrador). |
Operações de cena
scene_apply recebe um lote de operações tipadas e validadas — não código arbitrário. Cada lote é verificado contra a cena atual (referências devem existir, nomes devem ser únicos) e confirmado atomicamente como uma nova revisão com uma pré-visualização nova.
| Família | Operações |
|---|---|
object.* | create_primitive, transform, rename, duplicate, delete, parent, unparent, set_visibility |
collection.* | create, rename, link_object, unlink_object |
material.* | create, update_principled (parâmetros PBR), assign, remove_assignment |
modifier.* | add / update / remove — bevel, subdivision, solidify, array, mirror, boolean |
mesh.* | apply_modifier, bevel, subdivide, recalculate_normals, shade_smooth, merge_vertices, center_origin, lay_flat, fill_holes, dissolve_degenerate, decimate (colapso/redução planar), remesh (retopologia voxel/QuadriFlow), tris_to_quads, make_printable (preparação de impressão em uma operação: remesh estanque + orçamento de triângulos + posicionamento na cama), lathe (revoluciona um perfil [raio,z] — latas, garrafas, copos) |
uv.cylindrical_project | posicionamento paramétrico de rótulos em cilindros: cobertura de arco, azimute central, extensão vertical, fixação de tampa |
light.* | upsert (ponto/sol/spot/área com energia e cor), delete |
camera.* | upsert (lente, clip, sensor, profundidade de campo: fstop / focusDistance / focusObject — o foco acompanha o objeto através de movimentos de câmera), look_at (re-foca automaticamente no alvo quando DOF está ativo), set_active, delete |
world.update | cor de fundo / intensidade |
render_settings.update | resolução, amostras, configurações do engine |
animation.* | set_range (extensão de quadros + fps), keyframe_transform (localização / escala / lookAt explícitos por momento — conjunto e keyframe atômicos), keyframe_camera (puxadas de lente / abertura / foco), remove_keyframes — controle de interpolação incl. retenção constante para cortes secos |
Lotes executam dentro do Blender real (bpy) em um contêiner isolado. Use scene_validate para um dry-run gratuito antes de confirmar.
Jobs e revisões
Qualquer coisa que toque o Blender é assíncrona: a ferramenta retorna um identificador de job imediatamente (jobId, status, pollAfterMs); faça polling com job_get. Status: enfileirado → aguardando_capacidade → preparando → iniciando_contêiner → executando → enviando_saídas → confirmando → concluído (ou falhou / cancelado). O progresso é transmitido ao vivo para o dashboard.
O estado da cena é uma cadeia de revisões imutáveis. Escritores concorrentes são seguros: um lote confirma somente se a revisão principal contra a qual foi construído ainda é a principal (compare-and-swap); caso contrário, o job falha limpo e o agente tenta novamente contra a nova principal. revision_restore faz rollback copiando uma revisão antiga para frente — o histórico nunca é reescrito.
Limites e políticas (padrões)
| Política | Padrão |
|---|---|
| Jobs concorrentes por implantação | 2 (enfileirados até 25) |
| Timeout de job | 300 s |
| Limites de render | 2048 × 2048 px, 256 amostras |
| Limite de upload | 100 MB por arquivo |
| Solicitações de ferramenta | 120 / minuto por implantação |
| Python arbitrário (scene_script) | desativado por padrão; opt-in do proprietário por implantação |
Proprietários podem ajustar políticas por implantação no dashboard; limites rígidos da plataforma se aplicam.
Configuração do cliente
Claude Code
claude mcp add sceneplane https://mcp.sceneplane.online/v1 \
--transport http --header "Authorization: Bearer <YOUR_API_KEY>"
Claude Desktop / qualquer cliente JSON-config compatível com cabeçalhos
Use o bloco JSON de chave de API do Início Rápido na configuração de seus servidores MCP.
Claude web (conector personalizado compatível com OAuth)
Conectores web não podem enviar cabeçalhos personalizados — o OAuth lida com isso na mesma URL: adicione https://mcp.sceneplane.online/v1, deixe o ID do cliente OAuth vazio e conclua o prompt de entrada (você escolhe a implantação durante o consentimento).