강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

xebeclee님의 프로필 이미지
xebeclee

작성한 질문수

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

Base64 오디오 업로드: ElevenLabs와 파일 서버 통합

30강에서 몇일째 고생중입니다ㅜ

해결된 질문

작성

·

16

0

남박사님.

오디오 아웃풋 테스트에서 여러가지 방법으로 진행중인데, 잘 안되네요. 파일 또는 URL을 제공하라는데, 어디서 문제가 생겼을까요?ㅜ

image.png

공유기가 문제인가 싶어서, DDNS 9900번 포트를 인터넷창으로 접속하면, 아래와 같이 접근이 되는거 같은데요.(이게 맞는지 잘 모르겠습니다만...)

image.png

조언 부탁드립니다..

답변 2

0

남박사님의 프로필 이미지
남박사
지식공유자

안녕하세요, xebeclee님.

화면 스샷을 전체적으로 여러가지 설정이 모두 보이게 올려주시면 좋은데 지금 보이는것만 봐서는 제가 답변을 드릴 수 있는 내용이 한정적입니다. 일단 오류 메세지를 봐서는 구축하신 API 서버가 정상적으로 동작하지 않거나 아니면 호출을 잘못하고 있거나 하는 것 같습니다.

 

image.png

DDNS로 접속했을 때 서버가 동작하는거보면 API 서버는 문제없다고 가정해보고, 올려주신 스샷을 보면 /upload-base64 주소로 base64 인코딩된 데이터를 POST 형태로 보내면 된다고 합니다만 다른 정보를 확인할 수 없어 답변을 드릴수가 없습니다. 해당 부분을 체크해보시기 바랍니다.

xebeclee님의 프로필 이미지
xebeclee
질문자

n8n을 다시 실행하니 API서버는 아래와 같이 나옵니다.

image.png
# 서버 실행을 위한 메인 함수
if __name__ == "__main__":
    import uvicorn
    # 서버 실행 (host=0.0.0.0으로 설정하면 외부에서도 접근 가능)
    # 도커 환경에서는 0.0.0.0으로 바인딩해야 외부 접근 가능
    uvicorn.run(app, host="0.0.0.0", port=9900, reload=False)

 

그리고, n8n에서는 아래와 같이 에러가 납니다.

image.png

 

image.png

 

공유기 동적 DNS는 아래처럼 세팅을 했구요..

image.png

포트 포워딩도 세팅이 되었습니다.

image.png

장치 IP주소는 현재 노트북 IP로 선택되어 있습니다.

NPM도 DNS도메인으로 설정을 했습니다..

image.png

어떻게 접근해서 해결하면 좋을까요?ㅜ

남박사님의 프로필 이미지
남박사
지식공유자

일단 n8n과 API 서버는 전혀 연관관계가 없습니다. n8n이 실행되었다고 API 서버에 어떤 영향을 주는것은 아닙니다. API 서버는 호출을 해야 동작하는건데,

 

image.png

이 스샷에서는 / 루트로 접속했던 기록뿐이 없습니다. 따라서 n8n과 관련이 없는 내용으로 보여집니다. 그 말인 즉슨 현재 n8n의 HTTP에서 요청한 호출이 위 스샷에는 단 줄도 기록되어있지 않다는 의미입니다.

그 외의 올려주신 스샷을 봤을때 전체적인 도메인 설정에는 별 문제가 없어보입니다만 그래도 주소 문자열 값 등에 공백이 들어가 있는지 이런 사소한것까지 모두 확인을 해보시기 바랍니다. 그리고 스샷에서 제가 확인할 수 있는 정보만 말씀을 드리자면,

 

image.png

일단 HTTP 노드는 위 스샷에서 처럼 https://test.healigen.org/upload 주소를 POST 형태로 요청한것을 확인할 수 있습니다.

 

image.png

그 요청으로 n8n은 502 Bad gateway 응답을 받았는데, 이 말이 위에서 API 호출이 전혀 이뤄지지 않고 있음을 의미합니다. 일단 체크해봐야 할 부분은 파이썬 코드에서 위에서 접근한 /upload 가 POST 형태로 라우팅 되고 있는지 먼저 코드를 확인해보셔야 할듯 합니다.

image.png

만약 코드에 문제가 없다면 NPM 설정에서 이 값을 DDNS 값이 아닌 공유기가 할당 받은 외부 http://아이피:9900 으로 테스트 해보시기 바랍니다. 내부아이피가 아닌 반드시 외부 아이피(공인아이피) 여야 합니다. 만약 공인아이피로도 문제가 된다면 해당 컴퓨터의 방화벽이 9900번 포트를 막고 있는지도 확인해보셔야 할 듯 합니다.

또한 아까 위의 질문에서의 스샷을 봤을때는 API 서버가 upload_base64를 라우팅 하고 있던것으로 보이는데 왜 n8n HTTP 노드에서는 /upload를 호출하고 계시는지도 의문이긴 합니다. 일단 부분적으로 주신 정보만 갖고 답변을 드리는거기 때문에 코드부터 전체적으로 여러가지 사항들을 동시에 점검을 해보셔야 할 듯 합니다.

0

안녕하세요, 인프런 AI 인턴입니다. xebeclee님.

오디오 파일 업로드 과정에서 HTTP 요청의 구성에 문제가 있어 보입니다. 아래의 요소를 점검해 보시면 도움이 될 것 같습니다.

해결 방법

  1. HTTP 요청 구성 확인:

    • Body Content Type이 “Form-Data”로 설정되어 있는 것을 확인했습니다. 이 경우, base64_data를 올바르게 전송하고 있는지 확인하세요.
    • Content-Type 헤더가 정확히 설정되어 있는지 확인해 보세요. 많은 API가 특정 헤더가 필요할 수 있습니다.
  2. Endpoint 및 파라미터 확인:

    • 요청을 보낼 때의 URL이 정확하며, 필요한 파라미터들이 모두 올바르게 설정되어 있는지 확인하세요.
    • API 문서를 참조하여, 요구되는 파라미터가 정확히 맞는지 검토합니다.
  3. Base64 인코딩된 데이터 확인:

    • Base64 인코딩된 데이터가 올바르게 전송되고 있는지 확인하세요. JSON에서 audio_base64 키에 있는 데이터가 정확히 전달되고 있는지 디버그 모드에서 확인해 볼 수 있습니다.
  4. 서버 응답 및 설정 확인:

    • 서버가 잘 설정되어 있는지, 특히 FastAPI의 upload_base64 엔드포인트가 정확히 활성화되어 있는지 확인하세요. 웹에서 DDNS 포트 9900으로 접속 시, 응답이 올바른가를 통해 서버가 올바르게 설정되어 있는지 점검할 수 있습니다.

비슷한 문제를 다루는 유사한 질문과 해결책을 추가적으로 참고해 보세요:
- “http request가 동작하지 않습니다”: HTTP Request 관련 이슈 해결법.

무엇보다도, API 문서와 제공된 코드를 다시 한번 검토하시어 요청을 구성하는 단계에서 빠진 부분이 없는지 점검해 보시면 좋겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

xebeclee님의 프로필 이미지
xebeclee

작성한 질문수

질문하기