파이썬 프로젝트 및 응용/chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기

[프로젝트]chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기 - 4.이미지를 말하는 동영상으로 만들고 로컬에 저장하기 > 4.4 d-id스튜디오 API로 이미지를 말하는 영상으로 만들기

파기차차 2023. 4. 28. 05:41
728x90
반응형
SMALL

ㅁ 개요

 

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)

 

 

 

 

 

 - 소스파일을 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 

 

 > python 5.py

 

 


 

O 주요 내용

 

1.아래 소스코드의 주요 부분에 대해 간략히 설명 드리겠습니다.

 

 

D-ID 스튜디오의 크레딧을 아끼기 위해 스크립트를 짧게 설정했습니다.

 

그리고 음성종류, 스크립트, 인터넷상의 이미지 주소, 베어러키를 입력합니다.

 

 

위의 소스는 D-ID 스튜디오의 API를 이용하여 talks id를 얻기 위한 것이며, 아래 소스는 다시 요청 후

영상주소를 받아 영상을 다운로드 하고 있습니다.

(자세한 설명은 아래 코드의 주석을 참고하여 주세요)

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 

 

 - 오늘은 D-ID 스튜디오 제공하는 API를 이용하여 자동으로 이미지를 말하는 동영상으로 만드는 방법에 대하여 알아보았습니다.

 

 - 오늘 우리가 배운 내용을 간략히 정리해 보면 아래와 같습니다.
 > 1.사전 준비 작업으로 아래를 준비 후 소스를 실행합니다.

1)D-ID 스튜디오 API를 이용하기 이한 인증키(베러어키) 준비

2)목소리 음성 준비

3)인터넷 이미지 URL 주소(구글링 이미지를 활용할 예정)

 

 

오늘은 여기까지이며,  댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.

 

 

 

 

감사합니다.

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

 

 

728x90
반응형
LIST