Lyria
텍스트로 음악을 생성하며 1~8개 클립을 요청하고 동기식으로 받습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
google/lyria은 /v1/music/generations에서 문구로 음악을 만듭니다. 제품 시연용 절제된 연주곡을 요청하며 앞에 나올 악기와 내레이션 공간을 설명할 수 있습니다. 생성 음악 클립이 필요할 때 선택하세요.
model과 prompt는 필수이고 n 또는 count는 1~8개를 받습니다. 결과는 동기식으로 반환되며 모든 클립과 실제 메타데이터를 저장하세요. 오디오 참조, 길이, 템포 필드는 없으므로 독립 제어가 아닙니다. 음악 의도를 프롬프트에 쓰되 출력의 측정 속성이 보장된다고 보지 마세요.
Ailoot · 음악 POST /v1/music/generations google/lyria
google/lyria시작하기
텍스트로 음악을 생성하며 1~8개 클립을 요청하고 동기식으로 받습니다.
- 허용 입력
- 텍스트
- 결과
- music
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot · 음악 POST /v1/music/generations
- 입력
text- 출력
music- 출력 형식
- 소유한 오디오 클립 전체 / JSON 링크
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 google/lyria | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 최소 길이: 1 | 기본값— |
필드n | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 최댓값: 8 | 기본값1 |
필드count | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 최댓값: 8 조건: n도 제공하면 개수가 일치해야 합니다. | 기본값— |
입력 자료 조합
text_to_music · 필수: prompt
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수material_types | 명세text |
매개변수required | 명세null |
매개변수optional_controls | 명세null |
수명 주기: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
메서드 형식과 ID는 정확합니다. 공급자의 기능 지원과 요청 수락은 별개입니다.
요금
Ailoot 메서드 요금
POST /v1/music/generations- 출력
- US$0.08 클립당
- 참고용 · 추가되지 않음
- US$0.08 요청당
전달된 클립 수 × 클립당 기본 요금. 요청당 참고 요금은 추가되지 않습니다. 예시는 적용 조정 전 금액입니다.
1 × US$0.08 = US$0.08
4 × US$0.08 = US$0.32
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot · 음악
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 music brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/lyria", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
export AILOOT_API_KEY
python3 - <<'PY_RESULT'
import json, os, subprocess
from pathlib import Path
from urllib.parse import urljoin, urlparse
result=json.loads(Path("result.json").read_text(encoding="utf-8"))
print(json.dumps(result,ensure_ascii=False,indent=2))
for number,clip in enumerate(result.get("data") or []):
u=urlparse(urljoin("https://api.ailoot.ai",clip["url"]))
if u.scheme!="https" or not u.hostname or u.username or u.password:
raise SystemExit("Result URL must be HTTPS without embedded credentials")
owned=u.netloc=="api.ailoot.ai" and u.path.startswith("/v1/media/assets/") and u.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",u.geturl()]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
raw=subprocess.check_output(args)
ext="wav" if raw.startswith(b"RIFF") and raw[8:12]==b"WAVE" else "flac" if raw.startswith(b"fLaC") else "ogg" if raw.startswith(b"OggS") else "mp3" if raw.startswith(b"ID3") or raw[:1]==b"\xff" else "bin"
f=Path("music-"+str(number)+"."+ext);f.write_bytes(raw)
print("Saved",f,clip.get("asset_id"))
PY_RESULT
결과 수신 및 저장
Ailoot · 음악
소유한 오디오 클립 전체 / JSON 링크
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
반환된 클립을 모두 저장하거나 가져오고 실제 ID, MIME 및 메타데이터를 보존하세요. 이 메서드는 동기식이며, 별도의 Ailoot 음악 생성 폴링 URL은 추가되지 않습니다.
원래 응답을 확인해야 할 경우
음악 결과를 확인해야 하는 경우 원래 operation_id/X-Client-Request-ID와 반환된 클립 정보를 보존하세요. 실제 task_id 또는 asset_id 값으로 미디어 라이브러리에서 기존 소유 클립을 복구하세요. 음악 요청을 다시 제출하거나 operation_id로 생성 폴링 URL을 만들지 마세요.
응답 필드
| 필드 | 유형 |
|---|---|
필드model | 유형string |
필드response_id | 유형string |
필드data[] | 유형owned clip record |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
응답server_error | 조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다 | 다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요. |
별칭
모델 별칭
Ailoot google/lyria
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · Lyria
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/music/generations·google/lyria:text→music- 요청은 어떤 필드를 사용하나요?
POST /v1/music/generations·google/lyria:model,prompt,n,count- 어떤 제한이 적용되나요?
POST /v1/music/generations·google/lyria:n.minimum:1;n.maximum:8;count.minimum:1;count.maximum:8