템플릿 빠른 시작
자체 코드에서 ElevenCreative Flows로 빌드한 템플릿을 실행합니다.
이 튜토리얼에서는 Python 또는 TypeScript 스크립트로 공개 템플릿을 실행합니다. 이 템플릿은 의류를 찍은 평범한 휴대폰 사진을 깔끔한 제품 사진으로 바꾸고, 스크립트는 결과를 원본 옆에 저장합니다. 튜토리얼은 약 5분이 걸리며, 실제 실행 시간은 1분 이내입니다.

템플릿은 게시된 ElevenCreative Flow입니다. 즉, 정해진 입력 세트를 받아 정해진 출력 세트를 생성하는 모델 체인입니다. 여기서 실행할 Phone Photo to Packshot은 이미지 하나를 받아 이미지 하나를 반환합니다. 작성자가 이미 모델과 프롬프트를 선택했으므로, 코드에서는 사진만 전달하면 됩니다.
설정
API 키 만들기
대시보드에서 API 키를 생성하세요. 이 키로 API에 안전하게 액세스할 수 있습니다.
키는 관리형 시크릿으로 저장하고, .env 파일을 통한 환경 변수 또는 앱 구성에서 직접 SDK에 전달하세요.
키에 이미지 & 비디오 권한을 부여합니다.
템플릿 코드 찾기
ElevenLabs 앱에서 Phone Photo to Packshot을 열고 API 탭을 선택합니다. 모든 템플릿에는 이를 실행하는 cURL, Python, TypeScript 코드가 포함된 API 탭이 있습니다.

이 탭은 세 단계를 안내합니다. API 키 가져오기, 결과 수신 방법 선택, 템플릿 실행입니다. 결과 수신 방법 선택에서 기본적으로 결과 대기가 선택되어 있습니다. 세 번째 단계의 코드는 cURL로 열립니다. Python 또는 TypeScript를 선택하면 단계가 실행하고 결과 대기로 바뀝니다. 이 스니펫은 실행을 시작하고, 완료될 때까지 기다린 다음 각 출력을 출력합니다. 템플릿의 각 입력에 대해 입력 ID를 키로 하여 inputs 아래에 값 하나를 전달하고, 각 결과는 출력 ID로 outputs에서 읽습니다. 이 템플릿에는 garment_photo라는 입력 하나와 packshot이라는 출력 하나가 있습니다. 코드에 필요한 이름은 이 두 ID뿐입니다.
템플릿 실행
packshot.py 또는 packshot.mts를 만듭니다. API 탭의 스니펫에 다음 변경 사항을 적용한 버전입니다.
- API 키를
.env파일에서 로드합니다. - ElevenLabs에 이미 업로드된 파일의 ID인
YOUR_ASSET_ID대신 사진을 base64로 전달합니다. - 실행이 진행되는 동안 스크립트가 한 줄을 출력하고, 제품 사진 URL을 출력하는 대신
packshot.jpg로 저장합니다.
create_and_wait(TypeScript에서는 createAndWait)는 실행을 시작한 후 모든 출력이 완료될 때까지 API가 제안하는 간격으로 상태를 확인합니다. 실패한 실행은 예외를 발생시키지 않고 반환되므로, 스크립트는 읽기 전에 출력의 status를 확인합니다. version_id는 이 튜토리얼에서 사용한 템플릿 버전을 고정하므로, 나중에 템플릿을 수정해도 스크립트가 손상되지 않습니다.
스크립트를 실행합니다. 이 템플릿을 한 번 실행하면 약 1,020 크레딧을 사용하며, 앱에서 실행할 때와 동일합니다.
30초에서 1분 후 스크립트가 다음을 출력합니다.
packshot.jpg를 엽니다. 사진 속 의류는 이제 단색 스튜디오 배경의 마네킹에 놓여 있으며, 침대와 조명은 사라집니다.
직접 찍은 사진으로 실행하기
휴대폰으로 의류를 하나 찍습니다. 좋은 사진일 필요는 없습니다. 침대 위의 티셔츠나 의자에 걸친 재킷도 괜찮습니다. 이를 garment.jpg라는 JPEG 파일로 저장하고 스크립트를 다시 실행합니다.
템플릿의 모든 실행은 동일한 모델과 설정을 거치므로, 동일한 스튜디오 스타일로 의류 제품 사진을 얻습니다. 같은 사진을 사용해도 세부 사항은 실행마다 달라질 수 있습니다.
배운 내용
- 템플릿은 이름이 지정된 입력을 받아 이름이 지정된 출력을 생성하며, API 탭에는 이를 실행하는 코드가 표시됩니다.
flows.templates.runs.create_and_wait는 입력 ID당 하나의 값으로 실행을 시작하고 완료되면 반환합니다. 각 출력은 ID로 읽고status를 확인합니다.- 프로덕션에서는 webhook이 완료된 각 실행을 전달하므로 아무것도 대기하지 않습니다.