O Seeyu Agent Studio facilita o trabalho com arquivos em todos os seus workflows. Os blocks podem receber arquivos, processá-los e passá-los para outros blocks sem atrito.
Objetos de arquivo
Quando blocks produzem arquivos (como anexos do Gmail, imagens geradas ou documentos processados), eles retornam um objeto de arquivo padronizado:
{
"name": "report.pdf",
"url": "https://...",
"base64": "JVBERi0xLjQK...",
"type": "application/pdf",
"size": 245678
}Você pode acessar qualquer uma dessas propriedades ao referenciar arquivos de blocks anteriores.
O block File
O block File é o ponto de entrada universal de arquivos nos seus workflows. Ele aceita arquivos de qualquer origem e produz objetos de arquivo padronizados que funcionam com todas as integrações.
Entradas:
- Arquivos enviados - Arraste e solte ou selecione arquivos diretamente
- URLs externas - Qualquer URL de arquivo publicamente acessível
- Arquivos de outros blocks - Passe arquivos de anexos do Gmail, downloads do Slack, etc.
Saídas:
- Uma lista de objetos
UserFilecom estrutura consistente (name,url,base64,type,size) combinedContent- Conteúdo de texto extraído de todos os arquivos (para documentos)
Exemplo de uso:
// Get all files from the File block
<file.files>
// Get the first file
<file.files[0]>
// Get combined text content from parsed documents
<file.combinedContent>O block File automaticamente:
- Detecta tipos de arquivo a partir de URLs e extensões
- Extrai texto de PDFs, CSVs e documentos
- Gera a codificação base64 para arquivos binários
- Cria URLs pré-assinadas para acesso seguro
Use o block File quando você precisa normalizar arquivos de origens diferentes antes de passá-los para outros blocks, como Vision, STT ou integrações de e-mail.
Passando arquivos entre blocks
Referencie arquivos de blocks anteriores usando o dropdown de tags. Clique em qualquer campo de entrada de arquivo e digite < para ver as saídas disponíveis.
Padrões comuns:
// Single file from a block
<gmail.attachments[0]>
// Pass the whole file object
<file_parser.files[0]>
// Access specific properties
<gmail.attachments[0].name>
<gmail.attachments[0].base64>A maioria dos blocks aceita o objeto de arquivo completo e extrai o que precisa automaticamente. Na maior parte dos casos, você não precisa extrair base64 ou url manualmente.
Disparando workflows com arquivos
Ao chamar via API um workflow que espera um arquivo como entrada, inclua os arquivos na sua requisição:
curl -X POST "https://agent-studio.seeyu.ai/api/workflows/YOUR_WORKFLOW_ID/execute" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"document": {
"name": "report.pdf",
"base64": "JVBERi0xLjQK...",
"type": "application/pdf"
}
}'curl -X POST "https://agent-studio.seeyu.ai/api/workflows/YOUR_WORKFLOW_ID/execute" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"document": {
"name": "report.pdf",
"url": "https://example.com/report.pdf",
"type": "application/pdf"
}
}'O block Start do workflow deve ter um campo de entrada configurado para receber o parâmetro do arquivo.
Recebendo arquivos em respostas de API
Quando um workflow produz arquivos, eles vêm incluídos na resposta:
{
"success": true,
"output": {
"generatedFile": {
"name": "output.png",
"url": "https://...",
"base64": "iVBORw0KGgo...",
"type": "image/png",
"size": 34567
}
}
}Use url para downloads diretos ou base64 para processamento inline.
Blocks que trabalham com arquivos
Entradas de arquivo:
- File - Processa documentos, imagens e arquivos de texto
- Vision - Analisa imagens com modelos de IA
- Mistral Parser - Extrai texto de PDFs
Saídas de arquivo:
- Gmail - Anexos de e-mail
- Slack - Arquivos baixados
- TTS - Arquivos de áudio gerados
- Video Generator - Vídeos gerados
- Image Generator - Imagens geradas
Armazenamento de arquivos:
- Supabase - Upload/download do storage
- S3 - Operações no AWS S3
- Google Drive - Operações com arquivos do Drive
- Dropbox - Operações com arquivos do Dropbox
Os arquivos ficam automaticamente disponíveis para os blocks seguintes. O motor cuida de todo o transporte de arquivos e da conversão de formatos.
Boas práticas
-
Use os objetos de arquivo diretamente - Passe o objeto de arquivo completo em vez de extrair propriedades individuais. Os blocks fazem a conversão automaticamente.
-
Confira os tipos de arquivo - Garanta que o tipo do arquivo corresponde ao que o block receptor espera. O block Vision precisa de imagens; o block File lida com documentos.
-
Considere o tamanho do arquivo - Arquivos grandes aumentam o tempo de execução. Para arquivos muito grandes, considere usar blocks de armazenamento (S3, Supabase) como área intermediária.