suno-api
Suno tạo nhạc từ một ý tưởng ngắn bằng văn bản. Quy trình tự động trong tài liệu tạo ra hai bài nhạc và có lựa chọn nhạc không lời; âm thanh hoàn chỉnh cùng siêu dữ liệu của từng bản nhạc được trả về thông qua tác vụ tạo nhạc.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
Suno là dịch vụ tạo nhạc, biến ý tưởng bằng văn bản thành các bài nhạc. Quy trình tự động trong tài liệu nhận phần mô tả ngắn về bản nhạc mong muốn và lựa chọn nhạc không lời, sau đó tạo ra hai bài nhạc. Dùng bản mô tả yêu cầu để xác lập chủ đề, cảm xúc và định hướng âm nhạc mà bạn muốn nghe trong các bản nhạc hoàn chỉnh.
Bắt đầu với vai trò mà âm nhạc cần đảm nhận. Nhạc nền êm dịu cho phần giải thích, đoạn mở đầu sôi động cho video ngắn hoặc bài hát chiêm nghiệm về một hành trình đều tạo ra mục đích cụ thể cho bản mô tả yêu cầu. Mô tả cảm xúc mong muốn và các đặc điểm âm nhạc quan trọng đối với mục đích đó bằng một vài cụm từ rõ ràng.
Với bài hát có giọng hát, nêu rõ chủ đề và ngôn ngữ trong bản mô tả sáng tạo. Mô tả ý tưởng mà bản nhạc cần thể hiện và sắc thái mà phần trình diễn cần truyền tải. Nghe kết quả hoàn chỉnh để đánh giá giọng hát, lời ca và phần phối khí kết hợp với nhau như thế nào. Lưu thông tin bản nhạc được tạo cùng âm thanh để xem xét.
Với kết quả không lời, dùng lựa chọn nhạc không lời trong tài liệu và mô tả định hướng âm nhạc trong văn bản. Nêu không khí mong muốn và các nhạc cụ nổi bật khi chúng quan trọng đối với dự án. Xem xét bản nhạc hoàn chỉnh theo vị trí của nó trong bản dựng, bao gồm các đoạn cần làm nền cho lời nói hoặc hỗ trợ chuyển cảnh hình ảnh.
Quy trình tự động tạo ra hai bài nhạc từ ý tưởng đã gửi. Xem chúng là hai phương án riêng biệt và giữ lại cả hai tệp âm thanh hoàn chỉnh. Nghe từng bản từ phần mở đầu, qua phần phát triển đến phần kết. So sánh các bản nhạc thực tế theo cùng mục đích, bao gồm cảm xúc, cách phối khí và mức độ phù hợp với cách sử dụng dự kiến.
Quá trình tạo nhạc được tổ chức dưới dạng tác vụ. Giữ ID tác vụ được trả về khi kiểm tra kết quả và phân biệt các bản nhạc đã hoàn thành với những mục vẫn đang xử lý. Kết quả trong tài liệu bao gồm thông tin của từng bản nhạc như tiêu đề, trạng thái, vị trí tệp âm thanh và thời lượng. Lưu chính tệp âm thanh hoàn chỉnh cùng siêu dữ liệu có sẵn và bản mô tả yêu cầu ban đầu.
Với video hoặc bài thuyết trình, nghe thử bản nhạc đã chọn cùng nội dung thực tế. Kiểm tra phần mở đầu, các đoạn chuyển tiếp và phần kết ở mức âm lượng nghe dự kiến. Đánh dấu đoạn phù hợp với bản dựng và giữ toàn bộ bản nhạc để phục vụ các thay đổi sau này. Một trích đoạn nhạc phù hợp được đánh giá trong ngữ cảnh của giọng nói, hình ảnh và nhịp độ tác phẩm hoàn chỉnh.
Lưu ý tưởng bằng văn bản, lựa chọn nhạc không lời, lựa chọn mô hình và tất cả các bản nhạc hoàn chỉnh cùng nhau. Khi một phương án cần chỉnh sửa, xác định điểm không phù hợp về âm nhạc, chẳng hạn phần phối khí quá dày khi làm nền cho lời nói hoặc phần mở đầu phát triển quá chậm. Giữ định hướng hữu ích và chỉnh phần liên quan đến vấn đề đó trong bản mô tả yêu cầu.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiBắt đầu
Suno tạo nhạc từ một ý tưởng ngắn bằng văn bản. Quy trình tự động trong tài liệu tạo ra hai bài nhạc và có lựa chọn nhạc không lời; âm thanh hoàn chỉnh cùng siêu dữ liệu của từng bản nhạc được trả về thông qua tác vụ tạo nhạc.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Âm thanh · Ảnh · Video
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Music POST /v1/music/generations
- Đầu vào
text- Đầu ra
audio,image,video
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn suno-api Điều kiện: Dùng chính xác bộ chọn định tuyến Ailoot này. | Mặc định— |
Trườnggpt_description_prompt | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn Điều kiện: Mô tả ý tưởng âm nhạc hoặc chủ đề bài hát. | Mặc định— |
Trườngmv | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Điều kiện: Chọn một phiên bản Suno cụ thể được nêu trong tài liệu; ví dụ dùng chirp-crow (v5). | Mặc định— |
Trườngmake_instrumental | Loạiboolean | Yêu cầuBắt buộc | Giá trị & giới hạn Điều kiện: Đặt true cho nhạc không lời hoặc false cho bài hát. | Mặc định— |
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, gpt_description_prompt, mv, make_instrumental |
Tham sốoptional | Hợp đồng |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốconditions | Hợp đồngDùng chính xác bộ chọn định tuyến Ailoot này., Mô tả ý tưởng âm nhạc hoặc chủ đề bài hát., Chọn một phiên bản Suno cụ thể được nêu trong tài liệu; ví dụ dùng chirp-crow (v5)., Đặt true cho nhạc không lời hoặc false cho bài hát. |
Vòng đời: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Bảng giá
Cách tính phí cuối cùng
Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí ước tính để so sánh
Giá theo cấu hình
Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.
| Cấu hình | Biểu mức phí | Số lượng dự báo | Lượng dùng để tính phí | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Số lượng dự báo— | Lượng dùng để tính phí— | Phí Đầu vào · Token đầu vào · Ước tính chỉ để so sánh — / 1K token Đầu ra · Token đầu ra · Ước tính chỉ để so sánh — / 1K token Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh — / 1K token |
| Cấu hìnhMỗi yêu cầu | Biểu mức phí— | Số lượng dự báo— | Lượng dùng để tính phímột yêu cầu | Phí Đầu vào · Ước tính chỉ để so sánh $0.2 mỗi yêu cầu |
| Cấu hìnhChi phí tạo ước tính | Biểu mức phí— | Số lượng dự báoước tính cho một lần tạo | Lượng dùng để tính phí— | Phí Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $0.2 ước tính trước khi tạo Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất. |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Music
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "suno-api",
"gpt_description_prompt": "古诗词",
"mv": "chirp-crow",
"make_instrumental": false
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Nhận và lưu kết quả
Ailoot Ultra · Music
Tải xuống từng ảnh trả về hoặc lưu nội dung Base64 của ảnh
GET /v1/music/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ lại toàn bộ phản hồi và tiêu đề, các mã định danh gốc, mọi đầu ra thực tế và tất cả trường mức sử dụng/hạch toán. Lưu từng tài sản duy nhất thuộc quyền sở hữu và giữ lại mọi vai trò tham chiếu đến tài sản đó.
Nếu cần kiểm tra phản hồi gốc
Giữ lại id tác vụ hoặc thao tác công khai được trả về và tất cả tiêu đề. Chỉ đọc tác vụ ban đầu; unknown hoặc result_pending_check không cho phép tạo thêm tác vụ.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngid | Loạistring |
Trườngpolling_url | Loạistring |
Trườngprovider_task_id | Loạistring |
Trườngdata.task_id | Loạistring |
Trườngdata.status | Loạistring |
Trườngdata.data[].audio_url | Loạistring |
Trườngdata.data[].image_url | Loạistring |
Trườngdata.data[].image_large_url | Loạistring |
Trườngdata.data[].video_url | Loạistring |
Bí danh
Bí danh mô hình
Ailoot Ultra suno-api
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · suno-api
- Có những đầu vào và kết quả nào?
POST /v1/music/generations·suno-api:text→audio,image,video- Yêu cầu sử dụng những trường nào?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental