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).
Escolha a capacidade, rode ao vivo e copie o snippet exato — curl, JavaScript ou Python — da chamada que acabou de executar.
Autentique a conta
Gere uma chave em platform.3mm.com.br/chaves e envie-a como Authorization: Bearer em toda chamada a /v1/*.
1THREEM_API_KEY=3m_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2# gere a chave em platform.3mm.com.br/chavesPrimeira chamada
O mesmo endpoint, em três clientes diferentes — escolha o seu.
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.
Lista os modelos disponíveis na conta, com id público (3m-chat-pro, 3m-image-1...) e status de configuração.
Chat com continuidade de sessão (session_id) e streaming via Server-Sent Events (stream: true).
Geração de imagem a partir de prompt, com até 4 variações por chamada.
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}.
Geração de objeto 3D a partir de prompt e/ou imagem de referência. Assíncrono, mesmo padrão de /v1/videos.
Geração de um pacote de site completo: blueprint, seções, copy e código Next.js pronto para publicar.
Embeddings para busca semântica e similaridade.
Classificação de conteúdo potencialmente nocivo.
Endpoints do console
Usados pelo painel em platform.3mm.com.br — exigem login.
Cria, lista, rotaciona e revoga chaves de API da própria conta. Autenticado por login (Firebase ID token).
Requests recentes feitos com as chaves da conta, com status, latência e tokens.
Tráfego, tokens e erros ao longo do tempo, em série diária.
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].
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.