Jangada AIJangada AI

Matriz de capacidades por provider

O que cada provider suporta na jangada. Os recursos da API pública são os mesmos (complete, parse, stream, transcribe, ...); o que muda é o que cada provider consegue fazer por baixo.

RecursoOpenAIGroqGeminiAnthropicMistral
Texto (complete/acomplete)✅✅✅✅✅
Structured output (parse)✅✅✅✅✅
Tools / function calling✅✅✅✅✅
MCP (mcp_servers=)✅ URL✅ URL✅ sessão⁴✅ URL❌
Tools nativas (web_search()…)⁵✅ (Responses)⚠️ compound/gpt-oss✅✅✅ (Conversations)
Embeddings (embed)✅❌✅❌✅
Streaming (stream/astream)✅✅✅✅✅
Vision / imagens (images=)✅⚠️¹✅✅⚠️¹
Documentos (files=)²✅✅✅✅✅
Detecção de objetos✅⚠️¹✅³⚠️⚠️
Transcrição de áudio (transcribe)✅✅✅❌✅ (Voxtral)
OCR / Document AI (ocr)❌❌❌❌✅
Param top_k❌❌✅✅❌
Param seed✅✅✅❌✅ (random_seed)
Param stop✅✅✅ (stop_sequences)✅ (stop_sequences)✅

¹ Depende do modelo: vision no Groq exige um modelo com visão (ex.: família Llama vision); modelos de texto puro não aceitam imagem. ² files= extrai texto localmente (docx/pdf/csv/xlsx) e envia como texto — por isso funciona em todos. Veja Documentos. ³ A convenção de bounding box (0–1000) é nativa do Gemini, que é o mais preciso. ⁴ MCP no Gemini é client-side por sessão e só no async (acomplete); os demais são remoto por URL (server-side). Veja MCP. ⁵ Tools executadas pelo provider (busca na web, url context, code execution, file search…). O suporte varia por tool e por modelo; também existem no OpenRouter, no Bedrock (Amazon Nova) e no Ollama (executadas pelo adapter). Matriz completa em Tools nativas.

Como cada um implementa o structured output

ProviderMecanismo
OpenAIchat.completions.parse(response_format=Modelo)
Groqresponse_format={"type":"json_schema",...} + validação
Geminiconfig.response_schema=Modelo → resp.parsed
Anthropictool-forcing (tool_choice fixo) → valida tool_use
Mistralhelper nativo chat.parse(response_format=Modelo) → .message.parsed

Detalhe por provider

Os parâmetros canônicos e os perfis por modelo (gpt-5, gemini-3.x) estão em Parâmetros e perfis.

On this page