API ต่อเพลงเต็ม (Get Full Song)

อัปเดต 2026-09-18 · ทีม Suno-API

คำอธิบายเอนด์พอยต์

การต่อเพลงเต็มใช้รวม «เพลงต้นฉบับ + ท่อนที่สร้างใหม่» ให้เป็นเพลงที่สมบูรณ์หนึ่งเพลง: หลัง Extend จะต่อท่อนถัดไป หลัง Replace Section จะเย็บท่อนใหม่กลับเข้าไปในเพลงต้นฉบับ หน้าเว็บทางการเรียกความสามารถนี้ว่า Get Full Song

เอนด์พอยต์: POST /api/music/concat

ค่าบริการ: มีค่าใช้จ่าย คงที่ 0.05 หยวนต่อครั้ง การต่อเพลงแยกจากราคาการสร้าง และไม่เข้าร่วม Max Mode หรือตัวคูณโปรไฟล์เสียง จำนวนที่หักจริงเป็นไปตามการตั้งราคาในระบบหลังบ้าน

ระยะเวลารอและ timeout (สำคัญ): เอนด์พอยต์นี้เป็นแบบซิงโครนัส — คำสั่งจะถูกรับและส่งเข้าสู่การต่อเพลงเมื่อคำตอบกลับมาเท่านั้น กรุณาตั้ง timeout ฝั่งไคลเอนต์ไว้ที่ 300 วินาทีขึ้นไป การไม่ได้รับคำตอบไม่ได้หมายความว่าไม่ได้ต่อ และอย่าลองซ้ำทันทีหลัง timeout (จะซ้ำคำสั่งและถูกหักเงินซ้ำ) หากการเชื่อมต่อขาด ให้ตรวจสอบภายหลังด้วย GET /api/music/songs

การยืนยันตัวตน

พารามิเตอร์ ชนิด จำเป็น หมายเหตุ
Authorization string ใช่ Bearer YOUR_API_KEY
Content-Type string ใช่ application/json

พารามิเตอร์คำขอ

พารามิเตอร์ ชนิด จำเป็น ค่าเริ่มต้น หมายเหตุ
song_id string ใช่ - song_id ของท่อนที่จะต่อ (ผลลัพธ์ของ Extend หรือ Replace Section) ต้องเสร็จสมบูรณ์
is_infill boolean ไม่ false false = ต่อสำหรับการขยาย; true = ต่อสำหรับการแทนที่ (infill)
source_audio_url string ไม่ - ที่อยู่ไฟล์เสียงต้นทาง เมื่อท่อนมาจากบัญชีภายนอก
source_file_name string ไม่ - ชื่อไฟล์ต้นทาง เมื่อท่อนมาจากบัญชีภายนอก
source_title string ไม่ - ชื่อเรื่องต้นทาง เมื่อท่อนมาจากบัญชีภายนอก

audio_id, source_clip_id, sourceClipId เป็นวิธีเขียนที่เทียบเท่า song_id ใช้อย่างใดอย่างหนึ่ง

ตัวอย่างคำขอ

curl -X POST https://www.suno-api.io/api/music/concat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "extended_or_replaced_clip_id",
    "is_infill": false
  }'

หากต้องการต่อหลังจากแทนที่ท่อน ให้ตั้ง is_infill เป็น true:

{ "song_id": "infilled_clip_id", "is_infill": true }

คำตอบ

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "concat_clip_id",
        "song_title": "ชื่อเพลงต้นทาง",
        "status": "queued"
      }
    ]
  }
}

การต่อคืนเพียง 1 ผลลัพธ์ (ไม่สร้าง 2 เพลงพร้อมกัน) บันทึก clips[].song_id แล้วใช้ API สอบถามเพลงและประวัติ สอบถามจนกว่าจะเป็น complete ก่อนดึงไฟล์เสียง

ความยาวของผลลัพธ์มาจากไหน

การต่อไม่ได้นำสองไฟล์มาต่อกันตรง ๆ แต่ตัดเพลงต้นทางตามจุดเวลาที่บันทึกไว้ในประวัติของท่อน:

โหมด องค์ประกอบของผลลัพธ์
is_infill: false เพลงต้นทาง [0 .. continue_at] + ความยาวทั้งหมดของท่อนที่ต่อ
is_infill: true เพลงต้นทาง [0 .. จุดเริ่ม] + ท่อนใหม่ที่แทนที่แล้ว + เพลงต้นทาง [จุดสิ้นสุด .. ท้ายเพลง]

ดังนั้นเสียงต้นฉบับหลังจากจุดต่อจะถูกทิ้งไป จึงไม่เกิดการซ้ำทั้งท่อน

ข้อควรระวัง

ถัดไปAPI รีมาสเตอร์ (Remaster)

รับคีย์ API

สร้างคีย์ API ในคอนโซลหลังสมัครสมาชิก การสร้างหนึ่งครั้งราคา 0.6 หยวน ได้ 2 เพลง ดาวน์โหลดไม่จำกัด และไม่ต้องใช้เบอร์โทรศัพท์

รับคีย์ API กลับไปภาพรวม