3M Docs
Build

Referência da API

Quickstart, exemplos e todos os endpoints — públicos em /v1/* (autenticados por chave de API) e internos ao console (autenticados por login).

Teste tudo no Playground antes de integrar

Escolha a capacidade, rode ao vivo e copie o snippet exato — curl, JavaScript ou Python — da chamada que acabou de executar.

Abrir Playground

Autentique a conta

Gere uma chave em platform.3mm.com.br/chaves e envie-a como Authorization: Bearer em toda chamada a /v1/*.

bash
1THREEM_API_KEY=3m_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2# gere a chave em platform.3mm.com.br/chaves

Primeira chamada

O mesmo endpoint, em três clientes diferentes — escolha o seu.

cURL
1curl -X POST "https://api.3mm.com.br/v1/chat/completions" \2  -H "Authorization: Bearer $THREEM_API_KEY" \3  -H "Content-Type: application/json" \4  -d '{"model":"3m-chat-pro","messages":[{"role":"user","content":"Mostre a saúde da minha operação."}]}'

Endpoints públicos (/v1)

Para consumir de fora do site, autenticados por chave de API.

GET/v1/models

Lista os modelos disponíveis na conta, com id público (3m-chat-pro, 3m-image-1...) e status de configuração.

POST/v1/chat/completions

Chat com continuidade de sessão (session_id) e streaming via Server-Sent Events (stream: true).

POST/v1/images/generations

Geração de imagem a partir de prompt, com até 4 variações por chamada.

POST/v1/videos

Geração de vídeo curto a partir de prompt ou imagem inicial. Assíncrono: retorna um job para consultar em GET /v1/videos/{id}.

POST/v1/objects

Geração de objeto 3D a partir de prompt e/ou imagem de referência. Assíncrono, mesmo padrão de /v1/videos.

POST/v1/sites

Geração de um pacote de site completo: blueprint, seções, copy e código Next.js pronto para publicar.

POST/v1/embeddings

Embeddings para busca semântica e similaridade.

POST/v1/moderations

Classificação de conteúdo potencialmente nocivo.

Endpoints do console

Usados pelo painel em platform.3mm.com.br — exigem login.

GET / POST/api/console/keys

Cria, lista, rotaciona e revoga chaves de API da própria conta. Autenticado por login (Firebase ID token).

GET/api/console/logs

Requests recentes feitos com as chaves da conta, com status, latência e tokens.

GET/api/console/usage

Tráfego, tokens e erros ao longo do tempo, em série diária.

GET/api/console/billing

Créditos, plano e histórico de transações da conta.

Streaming

Envie stream: true para receber a resposta em partes por Server-Sent Events, terminadas por data: [DONE].

JavaScript
1// Streaming (Server-Sent Events). O caminho mais fácil de errar é bufferizar2// a resposta inteira antes de repassar -- não faça isso, encaminhe o stream.3const response = await fetch("https://api.3mm.com.br/v1/chat/completions", {4  method: "POST",5  headers: {6    Authorization: `Bearer ${process.env.THREEM_API_KEY}`,7    "Content-Type": "application/json",8  },9  body: JSON.stringify({10    model: "3m-chat-pro",11    stream: true,12    messages: [{ role: "user", content: "Conte uma novidade em 3 linhas." }],13  }),14});15 16const reader = response.body.getReader();17const decoder = new TextDecoder();18 19for (;;) {20  const { done, value } = await reader.read();21  if (done) break;22  // Cada frame chega como "data: {...}\n\n", terminado por "data: [DONE]".23  process.stdout.write(decoder.decode(value));24}

Próximos passos

Continue por onde a sua integração precisar.