> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Entrada multimodal

## Visão geral

As configurações de entrada multimodal controlam outras formas de os usuários enviarem informações ao agente além da fala. Elas ficam na aba **Avançado** do agente, em **Entrada multimodal**.

#### [Entrada de arquivo](#file-input)

Permita que os usuários anexem imagens e PDFs no chat

#### [Entrada DTMF](#dtmf-input)

Colete dígitos do teclado dos chamadores durante conversas por telefone

## Entrada de arquivo

A entrada de arquivo permite que os usuários enviem imagens e PDFs para o agente no chat. O agente pode ler esses arquivos quando o [modelo](/docs/pt/eleven-agents/customization/llm) selecionado oferece suporte a entrada de imagem e/ou documento.

> **Note**
>
> Os anexos são ignorados se o modelo não oferecer suporte ao tipo de arquivo, mesmo quando a entrada de arquivo estiver
> ativada.

### Configuração

| Campo                        | Tipo      | Padrão | Descrição                                                                                                                                                                                                |
| ---------------------------- | --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`                    | `boolean` | `true` | Quando `true`, os usuários podem anexar imagens ou PDFs se o modelo oferecer suporte a esse tipo de entrada.                                                                                             |
| `max_files_in_memory`        | `integer` | `10`   | Quantos arquivos enviados recentemente ficam armazenados na memória ao mesmo tempo. Intervalo: de `1` a `10`. Quando o limite é atingido, os arquivos mais antigos são substituídos por um breve resumo. |
| `max_files_per_conversation` | `integer` | `10`   | Total de arquivos que um usuário pode enviar em uma conversa. Os envios são cobrados por arquivo. Use `-1` para não ter limite. Deve ser `-1` ou maior ou igual a `max_files_in_memory`.                 |

Os usuários podem anexar arquivos no [widget](/docs/pt/eleven-agents/customization/widget), em canais de chat compatíveis como o [Slack](/docs/pt/eleven-agents/customization/integrations/slack) ou na API de [enviar arquivo da conversa](/docs/pt/eleven-agents/api-reference/conversations/upload-file).

#### Atualizar pelo painel

#### Abrir Entrada multimodal

Abra seu agente no painel, confirme que o modelo selecionado oferece suporte a entrada de imagem e/ou PDF e acesse a aba **Avançado**.

#### Ativar anexos de arquivos

Em **Entrada multimodal**, ative **Permitir anexos de arquivos**.

#### Definir limites de arquivos

Opcionalmente, defina **Arquivos mantidos na memória** e **Máximo de arquivos por conversa**.

#### Salvar suas alterações

Salve o agente. Depois disso, os usuários poderão anexar imagens e PDFs no chat.

#### Atualizar pela CLI

#### Baixar a configuração do agente

```bash
elevenlabs agents pull --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Editar a configuração do agente

Defina `conversation_config.conversation.file_input`:

```json
{
  "conversation_config": {
    "conversation": {
      "file_input": {
        "enabled": true,
        "max_files_in_memory": 10,
        "max_files_per_conversation": 10
      }
    }
  }
}
```

#### Enviar a configuração do agente

```bash
elevenlabs agents push --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Atualizar pela API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "conversation": {
            "file_input": {
                "enabled": True,
                "max_files_in_memory": 10,
                "max_files_per_conversation": 10,
            }
        }
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    conversation: {
      fileInput: {
        enabled: true,
        maxFilesInMemory: 10,
        maxFilesPerConversation: 10,
      },
    },
  },
});
```

## Entrada DTMF

A entrada DTMF permite que os chamadores insiram dígitos no teclado do telefone durante uma chamada. Use-a para coletar números de telefone, escolhas de menu e outras entradas numéricas sem depender de reconhecimento de fala.

Isso é o inverso da ferramenta de sistema [reproduzir tom de toque do teclado](/docs/pt/eleven-agents/customization/tools/system-tools/play-keypad-touch-tone), que envia tons pelo agente.

> **Warning**
>
> Há suporte apenas para DTMF fora de banda do
> [Twilio](/docs/pt/eleven-agents/phone-numbers/twilio-integration/native-integration), de [troncos SIP](/docs/pt/eleven-agents/phone-numbers/sip-trunking) (Telefonia) ou do
> [Genesys](/docs/pt/eleven-agents/phone-numbers/c-caa-s-integrations/genesys). Os tons dentro da banda
> no fluxo de áudio são ignorados. O widget da web e os canais de chat não podem enviar DTMF.

Cada pressionamento de tecla fica em buffer até que a sequência seja concluída. A conclusão de uma sequência cria um turno do usuário.

1. O chamador pressiona uma tecla. O primeiro dígito interrompe o agente se ele estiver falando.
2. Os dígitos seguintes são adicionados ao mesmo buffer.
3. A sequência é concluída quando o chamador pressiona `#` (se a finalização por cerquilha estiver ativada) ou quando nenhum outro dígito chega antes do tempo limite.
4. O agente recebe os dígitos coletados como um turno do usuário e responde.

`#` é um terminador quando a finalização por cerquilha está ativada; ela não é incluída na string coletada. Um `#` pressionado com o buffer vazio é ignorado. O buffer aceita `0-9`, `*`, `#` e `A-D`, até 50 caracteres.

### Configuração

`conversation_config.conversation.dtmf_input_settings` é `null` quando a entrada DTMF está desativada. Quando ativada, os padrões são:

| Campo                | Tipo      | Padrão  | Descrição                                                                                                                            |
| -------------------- | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `dtmf_input_timeout` | `float`   | `2.0`   | Segundos de espera após o último pressionamento de tecla antes de concluir a sequência. Intervalo: de `0.5` a `10.0`.                |
| `hash_terminator`    | `boolean` | `true`  | Se `true`, `#` conclui imediatamente a sequência e não é incluído nos dígitos coletados.                                             |
| `redact_input`       | `boolean` | `false` | Se `true`, as entradas do teclado são substituídas por `<REDACTED>` na transcrição armazenada, no registro da conversa e na análise. |

A redação se aplica ao turno do teclado nos dados de conversa armazenados. Ela não oculta os dígitos do agente durante a chamada ao vivo nem reescreve os dígitos que o agente fala ou envia para uma ferramenta. Isso é diferente da [redação do histórico da conversa](/docs/pt/eleven-agents/customization/privacy/conversation-history-redaction).

#### Atualizar pelo painel

#### Abrir Entrada multimodal

Abra seu agente no painel e acesse a aba **Avançado**.

#### Ativar entrada DTMF

Em **Entrada multimodal**, ative **Habilitar entrada DTMF**.

#### Configurar tempo limite e redação

Opcionalmente, defina **Tempo limite da entrada DTMF**, **Usar # para concluir a entrada DTMF** e **Redigir entrada DTMF**.

#### Salvar suas alterações

Salve o agente, faça uma chamada telefônica e insira dígitos no teclado.

#### Atualizar pela CLI

#### Baixar a configuração do agente

```bash
elevenlabs agents pull --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Editar a configuração do agente

Defina `conversation_config.conversation.dtmf_input_settings`. Omita o objeto ou defina-o como `null` para desativar a entrada DTMF.

```json
{
  "conversation_config": {
    "conversation": {
      "dtmf_input_settings": {
        "dtmf_input_timeout": 2.0,
        "hash_terminator": true,
        "redact_input": false
      }
    }
  }
}
```

#### Enviar a configuração do agente

```bash
elevenlabs agents push --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Atualizar pela API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "conversation": {
            "dtmf_input_settings": {
                "dtmf_input_timeout": 2.0,
                "hash_terminator": True,
                "redact_input": False,
            }
        }
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    conversation: {
      dtmfInputSettings: {
        dtmfInputTimeout: 2.0,
        hashTerminator: true,
        redactInput: false,
      },
    },
  },
});
```

Atualize o [prompt do sistema](/docs/pt/eleven-agents/best-practices/prompting-guide) do agente para que ele saiba quando solicitar a entrada pelo teclado. Por exemplo:

```text
If you need the caller's phone number, ask them to type it on their keypad. Wait for the DTMF
input before continuing.
```