

# 응답 구조 하이라이트
<a name="complete-request-schema-response"></a>

다음은 비스트리밍 `Converse` 및 `InvokeModel` 함수에서 반환되는 응답 구조의 주요 요소를 보여줍니다. 전체 응답 구조와 스트리밍 함수의 요청 및 응답 구조에 대한 자세한 내용은 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}}
    }
}
```

다음은 핵심 응답 요소입니다.
+ `output` – (필수) 모델의 응답 메시지를 포함합니다.
  + `message` – (필수) 어시스턴트의 응답 메시지입니다.
    + `content` – (필수) 다음을 포함할 수 있는 하나 이상의 콘텐츠 블록 배열입니다.
      + `reasoningContent` – (선택 사항) 추론이 활성화된 경우 반환됩니다. 항상 응답에서 `[REDACTED]`인 추론 텍스트를 포함합니다.
      + `toolUse` – (선택 사항) 도구가 호출된 경우 반환됩니다. 도구 사용 ID, 이름 및 입력 인수를 포함합니다.
      + `text` – (선택 사항) 모델이 텍스트 콘텐츠로 응답한 경우 반환됩니다.
      + `image` – (선택 사항, 전용) 모델이 이미지를 생성한 경우 반환됩니다. 형식은 다음에서 생성된 이미지의 경우 항상 PNG입니다.
+ `stopReason` – (필수) 모델이 출력 생성을 중지한 이유를 나타내는 열거형 값입니다. 지원되는 값에는 다음이 포함됩니다.
  + `end_turn` - 턴의 논리적 종료에 도달했습니다.
  + `max_tokens` - 출력이 사용자가 설정한 `maxTokens` 제한 또는 모델의 자체 최대 출력 토큰 제한에 도달했습니다.
  + `content_filtered` - 모델의 출력이 AWS 책임 있는 AI 정책을 위반했습니다.
  + `malformed_model_output` - 모델이 잘못된 출력을 생성했습니다.
  + `malformed_tool_use` - 모델이 잘못된 `toolUse` 출력을 생성했습니다.
  + `service_unavailable` - 기본 제공 도구 서비스 중 하나가 연결되지 않습니다.
  + `invalid_query` - 모델이 기본 제공 Web Grounding 도구로 전송한 쿼리가 잘못되었습니다.
  + `max_tool_invocations` - 기본 제공 도구가 호출되었지만 여러 번의 재시도 후에도 유효한 결과를 생성하지 않았음을 나타냅니다.
+ `usage` - (필수) 입력 토큰, 출력 토큰 및 총 토큰을 포함한 토큰 사용 정보입니다.
+ `metrics` - (필수) 밀리초 단위의 총 추론 지연 시간을 포함한 성능 지표입니다.