

# Destaques da estrutura de respostas
<a name="complete-request-schema-response"></a>

A seguir, são mostrados os principais elementos da estrutura de resposta retornada pelas funções `Converse` e `InvokeModel` sem transmissão. Para obter detalhes sobre a estrutura de resposta completa, bem como sobre as estruturas de solicitação e resposta das funções com transmissão, consulte a documentação da API.

```
{
    "ResponseMetadata": {
        "RequestId": {{string}},
        "HTTPStatusCode": {{int}},
        "HTTPHeaders": {
            "date": {{string}},
            "content-type": "application/json",
            "content-length": {{string}},
            "connection": "keep-alive",
            "x-amzn-requestid": {{string}}
        },
        "RetryAttempts": 0
    },
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                { // Optional
                    "reasoningContent": {
                        "reasoningText": {
                            "text": {{string}}
                        }
                    }
                },
                { // Optional
                    "toolUse": {
                        "toolUseId": {{string}},
                        "name": {{string}},
                        "input": {{object}}
                    }
                },
                { // Optional
                    "text": {{string}}
                },
                { // Optional
                    "image": {
                        "format": "png",
                        "source": {
                            "bytes": {
                                "bytes": {{image}} // Binary array (Converse API) or Base64-encoded string (Invoke API)
                            }
                        }
                    }
                }
            ]
        }
    },
    "stopReason": {{string}}, // "end_turn" | "content_filtered" | "max_tokens" | "malformed_model_output" | "malformed_tool_use" | etc.
    "usage": {
        "inputTokens": {{int}},
        "outputTokens": {{int}},
        "totalTokens": {{int}}
    },
    "metrics": {
        "latencyMs": {{int}}
    }
}
```

Veja a seguir os principais elementos de resposta:
+ `output`: (Obrigatório) contém a mensagem de resposta do modelo.
  + `message`: (Obrigatório) a mensagem de resposta do assistente.
    + `content`: (Obrigatório) uma matriz de um ou mais blocos de conteúdo que pode incluir:
      + `reasoningContent`: (Opcional) retornado se o raciocínio foi ativado. Contém o texto do raciocínio, que sempre será `[REDACTED]` na resposta.
      + `toolUse`: (Opcional) retornado se uma ferramenta foi chamada. Contém o ID de uso, o nome e os argumentos de entrada da ferramenta.
      + `text`: (Opcional) retornado se o modelo respondeu com conteúdo de texto.
      + `image`: (Opcional, somente) retornado se o modelo gerou uma imagem. O formato sempre será PNG para imagens geradas por .
+ `stopReason`: (Obrigatório) um valor enum que indica por que o modelo parou de gerar saída. Os valores com suporte incluem:
  + `end_turn`: o final lógico do turno foi alcançado.
  + `max_tokens`: a saída atingiu o limite `maxTokens` definido pelo usuário ou o limite máximo de tokens de saída do próprio modelo.
  + `content_filtered`: a saída do modelo violou a política de IA responsável de AWS.
  + `malformed_model_output`: o modelo produziu uma saída inválida.
  + `malformed_tool_use`: O modelo produziu uma saída `toolUse` inválida.
  + `service_unavailable`: não foi possível acessar um dos serviços de ferramentas integradas.
  + `invalid_query`: a consulta que o modelo enviou para a ferramenta integrada Web Grounding era inválida.
  + `max_tool_invocations`: indica que uma ferramenta integrada foi chamada, mas não produziu um resultado válido, mesmo após várias tentativas.
+ `usage`: (Obrigatório) informações de uso do token, incluindo tokens de entrada, tokens de saída e total de tokens.
+ `metrics`: (Obrigatório) métricas de desempenho, incluindo a latência total da inferência em milissegundos.