신청 및 사용
Luma Videos API를 사용하려면 먼저 Luma Videos Generation API 페이지에서 “Acquire” 버튼을 클릭하여 요청에 필요한 자격 증명을 얻을 수 있습니다: 로그인 또는 등록이 되어 있지 않으면 자동으로 로그인 페이지로 이동하여 등록 및 로그인을 초대합니다. 로그인 및 등록 후에는 자동으로 현재 페이지로 돌아옵니다. 첫 번째 신청 시 무료 한도가 제공되어 해당 API를 무료로 사용할 수 있습니다.기본 사용
어떤 비디오를 생성하고 싶다면, 원하는 텍스트를 입력하면 됩니다. 예를 들어, “우주 비행사가 우주와 화산 사이를 이동하는 비디오”를 생성하고 싶다면Astronauts shuttle from space to volcano를 입력하면 됩니다. 아래와 같이:
생성된 코드는 다음과 같습니다:
주요 요청 매개변수:
prompt: 비디오 생성을 위한 프롬프트.aspect_ratio: 비디오의 가로 세로 비율, 기본값 16:9.end_image_url: 선택 사항, 마지막 프레임 지정.enhancement: 선택 사항, 선명도 향상 스위치.loop: 루프 비디오 생성 여부, 기본값 false.timeout: 선택 사항, 타임아웃 초 수.callback_url: 비동기 콜백 주소.
- success: 생성 성공 여부, 성공 시
true, 실패 시false - task_id: 이 비디오 생성 작업의 고유 ID
- video_id: 이 비디오 생성 작업에서 생성된 비디오의 고유 ID
- prompt: 이 비디오 생성 작업의 키워드
- video_url: 이 비디오 생성 작업의 결과 비디오 링크
- video_height: 생성된 비디오 썸네일 이미지의 높이
- video_width: 생성된 비디오 썸네일 이미지의 너비
- state: 이 비디오 생성 작업의 상태, 작업이 완료되면
completed로 표시됩니다. - thumbnail_url: 생성된 비디오 썸네일 이미지의 링크
- thumbnail_width: 생성된 비디오 썸네일 이미지의 너비
- thumbnail_height: 생성된 비디오 썸네일 이미지의 높이
사용자 정의 시작 및 종료 프레임 생성
비디오의 시작 및 종료 프레임을 사용자 정의하여 비디오를 생성하고 싶다면, 시작 및 종료 프레임의 이미지 링크를 입력할 수 있습니다: 이때 비디오의 시작 프레임start_image_url 필드에는 다음 이미지를 비디오의 시작 프레임으로 사용할 수 있습니다:
그 다음, 시작 및 종료 프레임, 키워드를 기반으로 비디오를 사용자 정의하여 생성할 수 있으며, 다음과 같은 내용을 지정할 수 있습니다:
- action: 비디오 생성 작업의 행동, 일반 생성
generate와 확장 생성extend가 있으며, 기본값은generate입니다. - start_image_url: 생성할 비디오의 시작 프레임을 지정합니다.
- end_image_url: 생성할 비디오의 종료 프레임을 지정합니다.
- prompt: 비디오 생성을 위한 키워드 내용.
비디오 확장 기능
생성된 비디오를 계속 생성하고 싶다면, 매개변수action을 extend로 설정하고, 계속 생성할 비디오의 ID 또는 비디오 링크를 입력해야 합니다. 비디오 ID와 비디오 링크는 기본 사용에 따라 얻을 수 있으며, 아래 그림과 같이 표시됩니다:
이때 비디오 ID는 다음과 같습니다:
주의: 여기서 비디오의비디오를 계속 생성하려면 비디오 링크 또는 비디오 ID를 업로드해야 하며, 아래에서는 비디오 ID를 사용하여 확장하는 방법을 시연합니다. 다음으로 키워드를 입력하여 비디오를 사용자 정의 생성해야 하며, 다음과 같은 내용을 지정할 수 있습니다:video_id와video_url은 생성된 비디오의 ID와 비디오 링크입니다. 비디오 생성 방법을 모르신다면, 위의 기본 사용을 참조하여 비디오를 생성할 수 있습니다.
- action: 이때 비디오를 확장하는 행동으로, 여기서는
extend입니다. - prompt: 비디오를 확장할 키워드입니다.
- video_url: 확장할 비디오의 링크입니다.
- video_id: 확장할 비디오의 고유 ID입니다.
- end_image_url: 확장 생성 비디오에 지정할 마지막 프레임의 이미지 링크, 선택적 매개변수입니다.
비동기 콜백
Luma가 비디오를 생성하는 데 시간이 상대적으로 길어 약 1-2분이 소요되므로, API가 오랜 시간 응답하지 않으면 HTTP 요청이 연결을 유지하여 추가 시스템 자원 소모를 초래할 수 있습니다. 따라서 이 API는 비동기 콜백 지원도 제공합니다. 전체 프로세스는 다음과 같습니다: 클라이언트가 요청을 시작할 때, 추가로callback_url 필드를 지정합니다. 클라이언트가 API 요청을 시작한 후, API는 즉시 결과를 반환하며, 현재 작업 ID를 나타내는 task_id 필드 정보를 포함합니다. 작업이 완료되면, 생성된 음악 결과가 POST JSON 형식으로 클라이언트가 지정한 callback_url로 전송되며, 여기에도 task_id 필드가 포함되어 있어 작업 결과를 ID로 연결할 수 있습니다.
아래 예제를 통해 구체적으로 어떻게 작업하는지 알아보겠습니다.
먼저, Webhook 콜백은 HTTP 요청을 수신할 수 있는 서비스로, 개발자는 자신이 구축한 HTTP 서버의 URL로 교체해야 합니다. 여기서는 편리한 시연을 위해 공개 Webhook 샘플 사이트인 https://webhook.site/를 사용합니다. 해당 사이트를 열면 Webhook URL을 얻을 수 있습니다. 아래 그림과 같이 표시됩니다:
이 URL을 복사하면 Webhook으로 사용할 수 있으며, 여기서의 샘플은 https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13입니다.
다음으로, callback_url 필드를 위의 Webhook URL로 설정하고, prompt를 입력할 수 있습니다. 아래 그림과 같이 표시됩니다:
실행 버튼을 클릭하면 즉시 결과를 얻을 수 있습니다. 결과는 다음과 같습니다:
task_id 필드가 있으며, 다른 필드들은 위와 유사합니다. 이 필드를 통해 작업의 연관성을 실현할 수 있습니다.
