ㅁ 개요
O 프로그램 소개
이번글은 이전글([프로젝트]chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기 - 4.이미지를 말하는 동영상으로 만들고 로컬에 저장하기 > 4.3 D-ID 스튜디오 웹사이트에서 이미지를 말하는 영상으로 만들기)에 이은 9번재 글로 D-ID 스튜디오 에서 제공하는 API를 이용하여 자동으로 이미지를 말하는 동영상으로 만드는 방법에 대하여 알아보겠습니다.
**본 포스팅 글은 아래 유튜브 사이트(국내 파이썬 최고 실력자 중 한 분)의 내용을 참고하여 작성하였으며, 초보자들이 좀 더 쉽고, 잘 따라할 수 있도록 해당 내용을 세부적으로 잘게 쪼개서 설명한 글입니다. 자세한 내용은 아래 사이트를 참고하여 주시기 바랍니다.
[GPT-4] 책 요약해서 유튜브 쇼츠 영상으로 돈버는 인공지능 만들기|빵형의 개발도상국
https://www.youtube.com/watch?v=_TVyF_4JJgk&t=814shttps://www.youtube.com/watch?v=sLgYJIpqUJg
O 완성된 프로그램 실행 화면
1.프로그램 실행 시 아래와 같이 에러 없이 잘 실행되었습니다.
리턴되는 코드를 보니 음성파일, 이미지, 동영상을 볼 수 있는 주소로 이루어져 있는 것을 알 수 있습니다.
2. audio_url을 직접 들어가 보니 음성파일이 실행됩니다.
"audio_url":"https://d-id-talks-prod.s3.us-west-2.amazonaws.com/auth0%7C64244968d1afd8c278126e48/tlk_yYpRPCAZ5Kw2YpR7gArF2/microsoft.wav?AWSAccessKeyId=AKIA5CUMPJBIK65W6FGA&Expires=1680904390&Signature=QRVSm5QjhwbBAQuGJyJNL573S5Q%3D"
3.source_url을 들어가 보니 이미지가 뜹니다.
"soruce_url":"https://d-id-talks-prod.s3.us-west-2.amazonaws.com/auth0%7C64244968d1afd8c278126e48/tlk_yYpRPCAZ5Kw2YpR7gArF2/source/a6ce4b4aea6105f4097dce9769e914b5_res.jpeg?AWSAccessKeyId=AKIA5CUMPJBIK65W6FGA&Expires=1680904390&Signature=bOGiAcpL3VEUbjGXq%2F3CKUqNq6k%3D"
4. result_url에 들어가 보니 영상이 다운로드 됩니다.
"result_url":"https://d-id-talks-prod.s3.us-west-2.amazonaws.com/auth0%7C64244968d1afd8c278126e48/tlk_yYpRPCAZ5Kw2YpR7gArF2/a6ce4b4aea6105f4097dce9769e914b5_res.mp4?AWSAccessKeyId=AKIA5CUMPJBIK65W6FGA&Expires=1680904394&Signature=%2FmQXBg3%2FXk47xkmLERVknZtJpP8%3D"
5. 프로그램이 정상 실행되고 난 후 폴더에 가서 확인 하니, temp2 폴더 아래에 영상이 잘 받아 졌습니다.
6. 실행 시켜보면 잘 실행되는 것을 확인 할 수 있습니다.
O 사전 준비 작업
프로그램 실행전 아래와 같이 사전 준비가 필요하며, 아래 단계에 따라 준비합니다.
1.D-ID 스튜디오 API를 이용하기 위한 인증키(베러어키) 준비
2.목소리 음성 준비 (여성? 남성?)
3.인터넷 이미지 URL 주소(구글링 이미지를 활용할 예정)
1.D-ID 스튜디오 API를 이용하기 이한 인증키(베러어키) 준비
1) D-ID 스튜디오에 로그인한 상태에서
2) 아래 사이트에 접속 후 Create a talk > Log in to use your API keys 클릭합니다.
https://docs.d-id.com/reference/talks-create
3) 아래와 같이 로그인 된 것을 확인합니다.
4) Bearer로 변경 후 해당 키값을 메모장 등에 복사해 둡니다.
2.목소리 음성 준비
1) 아래 사이트에서 선택할 아바타의 목소리를 기록해 둡니다.
https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=tts#supported-languages
2) 추가로 궁금하신 내요은 아래의 API 레퍼런스를 참고하시기 바랍니다.
https://docs.d-id.com/reference/get-started
3.인터넷 이미지 URL 주소
1) 구글링으로 검색한 이미지를 말하는 아바타로 만들 것입니다.
아래와 같이 검색 후 'Images' 탭으로 들어갑니다.
2) 원하는 이미지 위에 '우클릭 > 링크 주소 복사'를 클릭합니다.
3) 아래 페이지에서 이미지 '우클릭 > 이미지 주소 복사'를 클릭하여 메모장 등에 붙여 넣습니다.
4) 브라우저의 빈 탭에 붙여넣으면 아래와 같이 이미지만 나타납니다.
5) 만일 구글링한 이미지에서 바로 '우클릭 > 이미지 주소 복사'를 하는 경우
6) 아래와 같이 이미지의 크기가 너무 작아 화질이 안 좋아 질 수 있습니다.
ㅁ 세부 내용
O 완성된 소스
소스 : 5.py
# -*- coding: utf-8 -*-
import requests
import time
import urllib.request
script_ko = "이 글은 인도 마을의 경제, 사회, 종교 및 정치 구조를 포함한 다양한 측면을 탐구한다. "
def generateSpekingAvatar():
url = "https://api.d-id.com/talks"
payload = {
"script": {
"type": "text",
"provider": {
"type": "microsoft",
"voice_id": "ko-KR-YuJinNeural", # 음성 종류
},
"ssml": "false",
"input": script_ko # 스크립트
},
"config": {
"fluent": "false",
"pad_audio": "0.0"
},
"source_url": "https://d2u3dcdbebyaiu.cloudfront.net/uploads/atch_img/986/a6ce4b4aea6105f4097dce9769e914b5_res.jpeg"
}
headers = {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer 본인의 베어러 키 입력"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
print(response.text)
time.sleep(60) # 영상이 생성될때까지 60초 정도 기다린다.
#####################################################################
url = f"https://api.d-id.com/talks/{response.json()['id']}"
headers = {
"accept": "application/json",
"authorization": "Bearer 본인의 베어러 키 입력"
}
response = requests.get(url, headers=headers)
print(response.text)
urllib.request.urlretrieve(response.json()['result_url'], 'temp2/avatar.mp4')
return response.text
res = generateSpekingAvatar()
print(res)
O 주요 내용
1.아래 소스코드의 주요 부분에 대해 간략히 설명 드리겠습니다.
D-ID 스튜디오의 크레딧을 아끼기 위해 스크립트를 짧게 설정했습니다.
그리고 음성종류, 스크립트, 인터넷상의 이미지 주소, 베어러키를 입력합니다.
위의 소스는 D-ID 스튜디오의 API를 이용하여 talks id를 얻기 위한 것이며, 아래 소스는 다시 요청 후
영상주소를 받아 영상을 다운로드 하고 있습니다.
(자세한 설명은 아래 코드의 주석을 참고하여 주세요)
ㅁ 정리
O 우리가 배운 내용
1)D-ID 스튜디오 API를 이용하기 이한 인증키(베러어키) 준비
2)목소리 음성 준비
3)인터넷 이미지 URL 주소(구글링 이미지를 활용할 예정)
오늘은 여기까지이며, 댓글과 하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.
위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.
감사합니다.
※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.