Satela AI
A Satela AI é uma API de inteligência artificial compatível com a da OpenAI. Se o seu código já usa uma biblioteca da OpenAI, basta trocar o endereço e a chave.
- Endereço:
https://ai.satela.com.br/v1 - Chave: crie no painel (Satela AI > Chaves). Envie no cabeçalho
Authorization: Bearer sk-sat-.... A chave aparece uma única vez, guarde-a em local seguro. - Modelos: você usa só os nomes da Satela (por exemplo
AC310). A lista do que está liberado para você vem emGET /v1/models. Um modelo só funciona depois que a equipe o libera.
O que a Satela AI faz
| O que você quer | Rota | Observação |
|---|---|---|
| Conversar, resumir, classificar, extrair dados | POST /v1/chat/completions |
Texto, com respostas em tempo real (stream) e funções (tools) |
| Entender uma imagem | POST /v1/chat/completions |
Imagem dentro da mensagem |
| Ler um documento (PDF e texto) | POST /v1/chat/completions |
Documento dentro da mensagem |
| Transformar áudio em texto | POST /v1/audio/transcriptions |
Inclui áudio de WhatsApp (ogg/opus) |
| Transformar texto em voz | POST /v1/audio/speech |
Devolve um arquivo WAV |
| Busca por significado (embeddings) | POST /v1/embeddings |
Texto único ou lista |
Exemplos
Conversa
curl https://ai.satela.com.br/v1/chat/completions \
-H "Authorization: Bearer $SATELA_KEY" -H "Content-Type: application/json" \
-d '{"model":"AC310","messages":[{"role":"user","content":"Resuma em uma frase: ..."}]}'
Imagem e documento na mensagem (o arquivo vai em base64, como data:<tipo>;base64,...)
{"model":"AC310","messages":[{"role":"user","content":[
{"type":"text","text":"O que diz este contrato?"},
{"type":"file","file":{"filename":"contrato.pdf","file_data":"data:application/pdf;base64,JVBERi0..."}},
{"type":"image_url","image_url":{"url":"data:image/png;base64,iVBORw0..."}}
]}]}
- Imagens: PNG, JPEG e WebP, até 10 MB cada.
- Documentos: PDF, texto, CSV, HTML e Markdown, até 20 MB cada.
- Até 10 arquivos por pedido e 30 MB no total. Endereços da internet (
https://...) não são aceitos: envie o arquivo em base64. - Com documento, a resposta vem inteira (sem
stream) e semtools.
Áudio para texto
curl https://ai.satela.com.br/v1/audio/transcriptions \
-H "Authorization: Bearer $SATELA_KEY" \
-F model=TRC100 -F file=@mensagem.ogg -F language=pt
- Formatos: ogg, opus, mp3, wav, flac, aac e m4a, até 20 MB (cerca de uma hora de voz). Em WAV o limite é de 30 minutos.
- Campos opcionais:
language(ex.:pt),prompt(até 500 caracteres, com nomes e termos para ajudar na grafia) eresponse_format(json, o padrão, outext).
Texto para voz
curl https://ai.satela.com.br/v1/audio/speech \
-H "Authorization: Bearer $SATELA_KEY" -H "Content-Type: application/json" \
-d '{"model":"SPK100","input":"Olá! Seu pedido saiu para entrega.","voice":"aurora"}' --output fala.wav
- Vozes:
aurora(padrão),brisa,cedro,duna,estrelaefarol. O texto pode ter até 4.000 caracteres. O formato de saída é sówav.
Embeddings
{"model":"EMB100","input":["primeiro texto","segundo texto"]}
Até 100 textos por pedido e 30.000 caracteres cada.
Como o uso é contado
Tudo é contado em tokens e aparece no painel em k tokens (1 k = mil tokens). Para áudio e imagem, o painel usa o equivalente em tokens: cerca de 32 tokens por segundo de áudio e cerca de 1.100 tokens por imagem. Veja como acompanhar o consumo.
Limites e erros
- Cada chave tem um limite de chamadas por minuto e, se você quiser, um teto mensal. Passou do limite: erro
429. - Os erros seguem o formato da OpenAI:
{"error": {"message": "...", "type": "...", "code": "..."}}. 400pedido inválido (formato, tamanho, tipo de arquivo) ·401chave inválida ·413arquivo grande demais ·429limite atingido ·502ou503falha momentânea (tente de novo).
O que ainda não existe
- Geração de imagens.
- Legendas com tempo (
srt/vtt) na transcrição. - Voz em
mp3ouopus(sówav). - Imagens ou documentos por endereço da internet.