문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
개발환경: MacOS
ID: 1014447
karlo API를 사용하려 하는데 에러가 발생해서 문의드립니다.
curl과 스프링부트에서 모두 사용되지 않습니다.
- curl 사용시
curl -v -X POST "https://api.kakaobrain.com/v2/inference/karlo/t2i" \
-H "Authorization: KakaoAK ${key}" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cat with white fur"
}'
{"id":"f61a381bf1e9715d","code":-903,"msg":"invalid access token"}
발생
2, springboot에서 Rest template 사용시
@PostMapping("/inference")
public ResponseEntity<String> doInference(@RequestBody InferenceRequest request) {
String kakaoApiUrl = "https://api.kakaobrain.com/v2/inference/karlo/t2i";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "KakaoAK " + kakaoApiKey);
headers.setContentType(MediaType.APPLICATION_JSON);
InferenceResponse response = restTemplate.exchange(
kakaoApiUrl,
HttpMethod.POST,
new HttpEntity<>(request, headers),
InferenceResponse.class
).getBody();
return ResponseEntity.status(HttpStatus.OK).body(response.getId());
}
요청 및 응답에 맞게 객체를 생성해두었고
401 Unauthorized: [no body] 에러가 발생합니다.