Skip to content

Latest commit

 

History

243 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Suno Music Generation API

Suno AI music and lyrics generation service.

Platform API Docs

Suno Music Generation

API home page: Ace Data Cloud - Suno Music Generation

Keywords: suno-api, ai-music, music-generation, lyrics-generation, rest-api, ai-api, aiaudio, suno, mp3, audio-url, custom-model, studio

Why Use Suno Music Generation on Ace Data Cloud

  • Unified developer platform with one API key, billing system, and usage tracking
  • Production-ready AI API endpoints served from https://api.acedata.cloud
  • English integration guides, API references, and service documentation
  • Global-ready workflow for developers building chat, image, video, music, and search products

Overview

<style> .suno-page * { box-sizing: border-box; } .suno-page h1, .suno-page h2, .suno-page h3, .suno-page h4, .suno-page h5, .suno-page h6, .suno-page p, .suno-page ul, .suno-page ol, .suno-page li, .suno-page pre, .suno-page blockquote, .suno-page table, .suno-page td, .suno-page th { margin: 0; padding: 0; } .suno-page { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--el-text-color-primary); background: var(--el-bg-color); line-height: 1.6; } .suno-page a { text-decoration: none; color: inherit; } .suno-page a:hover { text-decoration: none; } .suno-page ul { list-style: none; } .markdown-body .suno-page a { color: inherit !important; text-decoration: none !important; } .markdown-body .suno-page a:hover { text-decoration: none !important; } .markdown-body .suno-page a.s-btn-primary, .markdown-body .suno-page a.price-btn-fill, .markdown-body .suno-page a.btn-cta-light { color: #ffffff !important; } .markdown-body .suno-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; } .markdown-body .suno-page a.price-btn-out { color: var(--el-text-color-primary) !important; } .markdown-body .suno-page a.btn-cta-ghost { color: #94a3b8 !important; } .markdown-body .suno-page a.btn-cta-ghost:hover { color: #e2e8f0 !important; } .markdown-body .suno-page h1, .markdown-body .suno-page h2 { border-bottom: none !important; padding-bottom: 0 !important; } .s-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; } .s-container-narrow { max-width: 800px; margin: 0 auto; padding: 0 24px; } .s-container-wide { max-width: 1100px; margin: 0 auto; padding: 0 32px; } .s-section { padding: 80px 0; } .s-section-lg { padding: 100px 0; } .s-section-sm { padding: 48px 0; } .s-bg-white { background: var(--el-bg-color); } .s-bg-gray { background: var(--el-bg-color-page); } .s-bg-dark { background: #0f172a; color: #f8fafc; } .s-header { text-align: center; margin-bottom: 64px; } .s-header h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; margin-bottom: 20px; line-height: 1.15; } .s-header p { font-size: clamp(16px, 2vw, 18px); color: var(--el-text-color-regular); max-width: 640px; margin: 0 auto; line-height: 1.6; } .s-bg-dark .s-header h2 { color: #f8fafc; } .s-bg-dark .s-header p { color: var(--el-text-color-secondary); } .suno-page .s-btn-primary { display: inline-flex; align-items: center; gap: 6px; padding: 14px 28px; background: #277186; color: #ffffff !important; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: background 0.2s, transform 0.15s; border: none; cursor: pointer; text-decoration: none !important; } .suno-page .s-btn-primary:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; } .suno-page .s-btn-secondary { display: inline-flex; align-items: center; gap: 6px; padding: 14px 28px; background: var(--el-bg-color); color: var(--el-text-color-primary) !important; border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 15px; font-weight: 600; transition: border-color 0.2s, background 0.2s; cursor: pointer; text-decoration: none !important; } .suno-page .s-btn-secondary:hover { background: var(--el-bg-color-page); text-decoration: none !important; } .suno-hero { padding: 100px 0 80px; text-align: center; background: var(--el-bg-color); position: relative; overflow: hidden; } .suno-hero::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 900px; height: 500px; background: radial-gradient(ellipse, rgba(39, 113, 134, 0.06) 0%, transparent 70%); pointer-events: none; } .hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 13px; font-weight: 600; color: var(--el-text-color-regular); margin-bottom: 28px; } .hero-badge .badge-dot { width: 6px; height: 6px; background: #10b981; border-radius: 50%; display: inline-block; } .suno-hero h1 { font-size: clamp(36px, 5vw, 60px); font-weight: 700; line-height: 1.05; letter-spacing: normal; color: var(--el-text-color-primary); margin-bottom: 20px; position: relative; } .suno-hero h1 span { color: #277186; } .suno-page .hero-subtitle { font-size: clamp(16px, 2vw, 20px); color: var(--el-text-color-regular); line-height: 1.6; max-width: 620px; margin: 0 auto 56px; position: relative; } .hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 56px; position: relative; } .hero-highlights { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; position: relative; } .hero-highlights .h-item { font-size: 14px; color: var(--el-text-color-regular); font-weight: 500; } .hero-highlights .h-div { width: 1px; height: 16px; background: var(--el-border-color-light); } @media (max-width: 640px) { .hero-highlights .h-div { display: none; } .hero-highlights { gap: 8px 16px; } .hero-actions { flex-direction: column; align-items: center; } .hero-actions a { width: 100%; max-width: 280px; justify-content: center; } } .suno-stats { padding: 48px 0; background: var(--el-bg-color-page); border-top: 1px solid var(--el-border-color-lighter); border-bottom: 1px solid var(--el-border-color-lighter); } .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center; } .stat-icon { font-size: 28px; margin-bottom: 12px; } .stat-val { font-size: clamp(28px, 4vw, 40px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; margin-bottom: 4px; } .stat-lbl { font-size: 14px; color: var(--el-text-color-secondary); font-weight: 500; } @media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } } @media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; gap: 20px; } } .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } .feat-card { padding: 32px 28px; border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); background: var(--el-bg-color); transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .feat-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .feat-icon { font-size: 32px; margin-bottom: 16px; } .feat-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .feat-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .features-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .features-grid { grid-template-columns: 1fr; } } .code-split { display: flex; gap: 48px; align-items: center; } .code-left { flex: 1; min-width: 0; } .code-right { flex: 1; } .code-wrap { border-radius: 16px !important; overflow: hidden !important; border: 1px solid #334155 !important; background: #0f172a !important; } .markdown-body .suno-page .code-wrap { border-radius: 16px !important; overflow: hidden !important; border: 1px solid #334155 !important; background: #0f172a !important; } .code-bar { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 12px 20px !important; background: #1e293b !important; border-bottom: 1px solid #334155 !important; } .code-dots { display: flex; gap: 6px; } .code-dots i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; } .code-dots .r { background: #ef4444; } .code-dots .y { background: #f59e0b; } .code-dots .g { background: #10b981; } .code-lang { font-size: 12px; color: var(--el-text-color-secondary); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .code-block { padding: 24px !important; margin: 0 !important; overflow-x: auto !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important; white-space: pre !important; background: transparent !important; border: none !important; border-radius: 0 !important; } .markdown-body .suno-page .code-block { padding: 24px !important; margin: 0 !important; overflow-x: auto !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important; white-space: pre !important; background: transparent !important; border: none !important; border-radius: 0 !important; } .code-right h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 12px; letter-spacing: normal; } .code-right > p { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 32px; } .explain-steps { display: flex; flex-direction: column; gap: 20px; } .explain-step { display: flex; gap: 16px; align-items: flex-start; } .step-num { width: 32px; height: 32px; border-radius: 50%; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: var(--el-text-color-regular); flex-shrink: 0; } .step-text h4 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; } .step-text p { font-size: 14px; color: var(--el-text-color-secondary); line-height: 1.5; } @media (max-width: 768px) { .code-split { flex-direction: column; } .code-left { order: 2; } .code-right { order: 1; } } .actions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .act-card { padding: 28px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); text-align: center; transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .act-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .act-icon { font-size: 36px; margin-bottom: 16px; } .act-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .act-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .actions-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .actions-grid { grid-template-columns: 1fr; } } .usecases-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .uc-card { padding: 28px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); text-align: center; transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .uc-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .uc-icon { font-size: 36px; margin-bottom: 16px; } .uc-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .uc-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .usecases-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .usecases-grid { grid-template-columns: 1fr; } } .steps-row { display: flex; align-items: flex-start; justify-content: center; margin-bottom: 48px; } .stp-card { flex: 1; max-width: 320px; text-align: center; padding: 0 24px; } .stp-num { font-size: clamp(48px, 6vw, 72px); font-weight: 700; color: #e2e8f0; letter-spacing: -0.04em; line-height: 1; margin-bottom: 20px; } .stp-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 10px; } .stp-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; } .stp-conn { width: 60px; height: 2px; background: var(--el-border-color-light); margin-top: 36px; flex-shrink: 0; } .steps-cta { text-align: center; } @media (max-width: 768px) { .steps-row { flex-direction: column; align-items: center; gap: 32px; } .stp-conn { width: 2px; height: 32px; margin: 0; } .stp-card { max-width: 100%; } } .cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; } .suno-page .cmp-table { display: table !important; width: 100%; max-width: 860px; margin: 0 auto; border-collapse: collapse; font-size: 15px; } .suno-page .cmp-table th, .cmp-table td { padding: 16px 20px; text-align: center; border-bottom: 1px solid var(--el-border-color-light); } .suno-page .cmp-table th { font-weight: 700; color: var(--el-text-color-regular); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; background: var(--el-bg-color-page); } .suno-page .cmp-table td:first-child, .cmp-table th:first-child { text-align: left; font-weight: 600; color: var(--el-text-color-primary); } .cmp-us { font-weight: 700; } .cmp-brand { font-weight: 700; color: var(--el-text-color-primary); } .ck { color: #10b981; font-weight: 700; font-size: 18px; } .cx { color: #d1d5db; font-weight: 700; font-size: 18px; } @media (max-width: 640px) { .cmp-table th, .cmp-table td { padding: 12px 10px; font-size: 13px; } } .models-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 960px; margin: 0 auto; } .mdl-card { padding: 32px 28px; border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); background: var(--el-bg-color); position: relative; } .mdl-card.mdl-rec { border-color: #277186; border-width: 2px; } .mdl-rec-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); padding: 4px 14px; background: #277186; color: #ffffff; border-radius: 9999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; } .mdl-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .mdl-head h3 { font-size: 20px; font-weight: 700; color: var(--el-text-color-primary); } .mdl-tag { padding: 3px 10px; background: var(--el-bg-color-page); border-radius: 9999px; font-size: 11px; font-weight: 700; color: var(--el-text-color-regular); text-transform: uppercase; letter-spacing: 0.04em; } .mdl-tag-blue { background: #eff6ff; color: #2563eb; } .mdl-tag-purple { background: #e9f1f3; color: #277186; } .suno-page .mdl-desc { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 20px; } .mdl-feats { display: flex; flex-direction: column; gap: 8px; } .mdl-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; } @media (max-width: 768px) { .models-grid { grid-template-columns: 1fr; } } .price-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; max-width: 720px !important; margin: 0 auto !important; align-items: start; } .price-card { padding: 36px 32px; border: 1px solid var(--el-border-color-light); border-radius: 20px; background: var(--el-bg-color); position: relative; } .price-card-feat { border: 2px solid #277186; box-shadow: 0 8px 32px rgba(0,0,0,0.08); transform: scale(1.03); } .price-feat-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 5px 18px; background: #277186; color: #ffffff; border-radius: 9999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; } .price-tier { font-size: 16px; font-weight: 700; color: var(--el-text-color-regular); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px; } .price-amt { font-size: clamp(36px, 5vw, 48px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; } .price-per { font-size: 16px; color: var(--el-text-color-secondary); font-weight: 500; } .suno-page .price-desc { font-size: 14px; color: var(--el-text-color-secondary); margin-bottom: 24px; margin-top: 8px; } .suno-page .price-feats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 36px; } .suno-page .price-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; display: flex; align-items: center; gap: 8px; } .price-ck { color: #10b981; font-weight: 700; font-size: 14px; flex-shrink: 0; } .price-btn { display: block; text-align: center; padding: 14px 0; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: background 0.2s, border-color 0.2s, transform 0.15s; width: 100%; cursor: pointer; } .suno-page .price-btn-fill { background: #277186; color: #ffffff !important; border: none; text-decoration: none !important; } .suno-page .price-btn-fill:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; } .suno-page .price-btn-out { background: var(--el-bg-color); color: var(--el-text-color-primary) !important; border: 1px solid var(--el-border-color-light); text-decoration: none !important; } .suno-page .price-btn-out:hover { background: var(--el-bg-color-page); text-decoration: none !important; } @media (max-width: 768px) { .price-grid { grid-template-columns: 1fr; } .price-card-feat { transform: none; } } .faq-list { display: flex; flex-direction: column; } .faq-item { border-bottom: 1px solid var(--el-border-color-light); } .faq-item:first-child { border-top: 1px solid #e5e7eb; } .faq-q { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--el-text-color-primary); list-style: none; user-select: none; transition: color 0.2s; } .faq-q::-webkit-details-marker { display: none; } .faq-q:hover { color: var(--el-text-color-primary); } .faq-chev { font-size: 18px; color: var(--el-text-color-secondary); transition: transform 0.2s; flex-shrink: 0; } .faq-item[open] .faq-chev { transform: rotate(180deg); } .faq-a { padding: 0 0 20px; } .faq-a p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.7; } .rel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 800px; margin: 0 auto; } .rel-card { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); transition: border-color 0.2s, box-shadow 0.2s; } .rel-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.05); } .rel-icon { font-size: 28px; flex-shrink: 0; } .rel-info { flex: 1; min-width: 0; } .rel-info h3 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; } .rel-info p { font-size: 13px; color: var(--el-text-color-secondary); line-height: 1.4; } .rel-arrow { font-size: 18px; color: #cbd5e1; flex-shrink: 0; transition: color 0.2s, transform 0.2s; } .rel-card:hover .rel-arrow { color: var(--el-text-color-regular); transform: translateX(3px); } @media (max-width: 640px) { .rel-grid { grid-template-columns: 1fr; } } .suno-cta { padding: 100px 0; background: #0f172a; text-align: center; position: relative; overflow: hidden; } .suno-cta::before { content: ''; position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 700px; height: 400px; background: radial-gradient(ellipse, rgba(39, 113, 134, 0.12) 0%, transparent 70%); pointer-events: none; } .suno-cta h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 700; color: #f8fafc; letter-spacing: normal; margin-bottom: 28px; position: relative; } .suno-cta > div > p { font-size: clamp(16px, 2vw, 18px); color: var(--el-text-color-secondary); max-width: 520px; margin: 0 auto 56px; line-height: 1.6; position: relative; } .cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; position: relative; } .suno-page .btn-cta-light { display: inline-flex; align-items: center; gap: 6px; padding: 14px 32px; background: #277186; color: #ffffff !important; border-radius: 9999px; font-size: 15px; font-weight: 700; transition: background 0.2s, transform 0.15s; text-decoration: none !important; } .suno-page .btn-cta-light:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; } .suno-page .btn-cta-ghost { display: inline-flex; align-items: center; padding: 14px 32px; background: transparent; color: #94a3b8 !important; border: 1px solid #334155; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: border-color 0.2s, color 0.2s; text-decoration: none !important; } .suno-page .btn-cta-ghost:hover { border-color: var(--el-text-color-regular); color: #e2e8f0 !important; text-decoration: none !important; } .suno-page code { background: #dbeafe !important; padding: 2px 8px !important; border-radius: 5px !important; font-size: 13px !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; color: #1e40af !important; border: 1px solid #bfdbfe !important; } .s-text-dark { color: var(--el-text-color-primary); } .s-text-brand { color: #277186; } .s-section-body { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.8; text-align: center; max-width: 680px; margin: 0 auto; } .s-section-body p + p { margin-top: 16px; } .s-text-muted { color: var(--el-text-color-secondary); } .tag-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 16px; } .tag-item { padding: 4px 12px; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 12px; font-weight: 600; color: var(--el-text-color-regular); } html.dark .suno-page { background: var(--el-bg-color); color: var(--el-text-color-primary); } html.dark .suno-page a { color: inherit; } html.dark .markdown-body .suno-page a { color: inherit !important; } html.dark .markdown-body .suno-page a.s-btn-primary, html.dark .markdown-body .suno-page a.price-btn-fill, html.dark .markdown-body .suno-page a.btn-cta-light { color: #ffffff !important; } html.dark .markdown-body .suno-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; } html.dark .markdown-body .suno-page a.price-btn-out { color: var(--el-text-color-primary) !important; } html.dark .markdown-body .suno-page a.btn-cta-ghost { color: #94a3b8 !important; } html.dark .markdown-body .suno-page a.btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; } html.dark .s-bg-white { background: var(--el-bg-color); } html.dark .s-bg-gray { background: var(--el-bg-color-page); } html.dark .s-bg-dark { background: var(--el-bg-color); } html.dark .s-header h2 { color: var(--el-text-color-primary); } html.dark .s-header p { color: var(--el-text-color-secondary); } html.dark .suno-page .s-btn-primary { background: #277186; color: #ffffff !important; } html.dark .suno-page .s-btn-primary:hover { background: #1f5a6b; } html.dark .suno-page .s-btn-secondary { background: #1e293b; color: var(--el-text-color-primary) !important; border-color: #475569; } html.dark .suno-page .s-btn-secondary:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); } html.dark .suno-hero { background: var(--el-bg-color); } html.dark .suno-hero::before { background: radial-gradient(ellipse, rgba(39, 113, 134, 0.15) 0%, transparent 70%); } html.dark .hero-badge { background: var(--el-bg-color-page); border-color: var(--el-border-color); color: var(--el-text-color-secondary); } html.dark .suno-hero h1 { color: var(--el-text-color-primary); } html.dark .suno-hero h1 span { color: #3b9ab5; } html.dark .suno-page .hero-subtitle { color: var(--el-text-color-secondary); } html.dark .hero-highlights .h-item { color: var(--el-text-color-secondary); } html.dark .hero-highlights .h-div { background: var(--el-border-color); } html.dark .suno-stats { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .stat-val { color: var(--el-text-color-primary); } html.dark .stat-lbl { color: var(--el-text-color-regular); } html.dark .feat-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .feat-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .feat-card h3 { color: var(--el-text-color-primary); } html.dark .feat-card p { color: var(--el-text-color-secondary); } html.dark .code-right h2 { color: var(--el-text-color-primary); } html.dark .code-right > p { color: var(--el-text-color-secondary); } html.dark .step-num { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); } html.dark .step-text h4 { color: var(--el-text-color-primary); } html.dark .step-text p { color: var(--el-text-color-regular); } html.dark .suno-page code { background: #1e3a5f !important; color: #93c5fd !important; border-color: #2563eb !important; } html.dark .s-text-dark { color: var(--el-text-color-primary); } html.dark .s-text-brand { color: #3b9ab5; } html.dark .s-section-body { color: var(--el-text-color-secondary); } html.dark .act-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .act-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .act-card h3 { color: var(--el-text-color-primary); } html.dark .act-card p { color: var(--el-text-color-secondary); } html.dark .uc-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .uc-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .uc-card h3 { color: var(--el-text-color-primary); } html.dark .uc-card p { color: var(--el-text-color-secondary); } html.dark .stp-num { color: #334155; } html.dark .stp-card h3 { color: var(--el-text-color-primary); } html.dark .stp-card p { color: var(--el-text-color-secondary); } html.dark .stp-conn { background: var(--el-border-color); } html.dark .cmp-table th { background: var(--el-bg-color-page); color: var(--el-text-color-secondary); } html.dark .cmp-table td { border-color: var(--el-border-color); } html.dark .cmp-table th { border-color: var(--el-border-color); } html.dark .cmp-table td:first-child { color: var(--el-text-color-primary); } html.dark .cmp-brand { color: var(--el-text-color-primary); } html.dark .cx { color: var(--el-text-color-regular); } html.dark .mdl-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .mdl-card.mdl-rec { border-color: #277186; } html.dark .mdl-head h3 { color: var(--el-text-color-primary); } html.dark .mdl-tag { background: var(--el-border-color); color: var(--el-text-color-secondary); } html.dark .mdl-tag-blue { background: #1e3a5f; color: #60a5fa; } html.dark .mdl-tag-purple { background: rgba(39, 113, 134, 0.2); color: #3b9ab5; } html.dark .mdl-desc { color: var(--el-text-color-secondary); } html.dark .mdl-feats li { color: var(--el-text-color-secondary); } html.dark .price-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .price-card-feat { border-color: #277186; box-shadow: 0 8px 32px rgba(0,0,0,0.3); } html.dark .price-tier { color: var(--el-text-color-secondary); } html.dark .price-amt { color: var(--el-text-color-primary); } html.dark .price-desc { color: var(--el-text-color-regular); } html.dark .price-feats li { color: var(--el-text-color-secondary); } html.dark .suno-page .price-btn-out { background: #1e293b; color: var(--el-text-color-primary) !important; border-color: #334155; } html.dark .suno-page .price-btn-out:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); } html.dark .faq-item { border-color: var(--el-border-color); } html.dark .faq-q { color: var(--el-text-color-primary); } html.dark .faq-q:hover { color: #ffffff; } html.dark .faq-chev { color: var(--el-text-color-regular); } html.dark .faq-a p { color: var(--el-text-color-secondary); } html.dark .rel-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .rel-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 12px rgba(0,0,0,0.3); } html.dark .rel-info h3 { color: var(--el-text-color-primary); } html.dark .rel-info p { color: var(--el-text-color-regular); } html.dark .rel-arrow { color: var(--el-text-color-regular); } html.dark .rel-card:hover .rel-arrow { color: var(--el-text-color-secondary); } html.dark .suno-cta { background: #020617; } html.dark .suno-cta::before { background: radial-gradient(ellipse, rgba(39, 113, 134, 0.2) 0%, transparent 70%); } html.dark .tag-item { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); } html.dark .suno-page .btn-cta-light { color: #ffffff !important; } html.dark .suno-page .btn-cta-ghost { color: #94a3b8 !important; } html.dark .suno-page .btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; } html.dark .suno-page .price-btn-fill { color: #ffffff !important; } .suno-page .code-left,.suno-page .code-right{width:100%;max-width:100%;min-width:0} .suno-page .code-wrap{max-width:100%;min-width:0} </style>
Suno API · Ace Data Cloud

Suno API:
Generate AI Music

Integrate Suno AI music generation capabilities into your application through a stable, comprehensive REST API. Create custom songs, instrumentals, remixes, covers, and more—all through a unified interface.

⚡ v6 Model Family 🎵 Unified Actions 📄 OpenAPI 3.0 Specification 🔑 Bearer Token Authentication
🎵
16
Available Actions
🤖
6
Model Versions
📡
12
API Endpoints
📦
5
Output Formats

Does Suno Have an Official API?

Suno currently does not provide a public, self-service REST API. Its music generation features can only be accessed through the Suno website and app.

Ace Data Cloud fills this gap by providing a stable, production-ready API that gives you complete programmatic access to all of Suno's music generation capabilities—including the current Chirp v6 model family—through a clean REST interface, with an OpenAPI specification, Webhook support, streaming, and pay-as-you-go pricing.

All Suno API Features

A comprehensive API suite covering the complete Suno music generation workflow

🎵

Complete Music Generation

Generate complete songs with lyrics, vocals, and instruments from text prompts, or create instrumental music. Supports inspiration mode and custom mode for fine-grained control.

🔄

Unified Actions, One API

Generate, Extend, Cover, Mashup, Stems, Add Stem, Extract Stem, Sounds, Adjust Speed, Remaster, Underpaint, Overpaint, Replace Section, and more—all through the /suno/audios endpoint.

Pay per use: Add Stem 0.672 Credits (1.344 in enhanced mode), Extract Stem 1.12, generate sounds 0.112, adjust speed 0.28; enhanced song generation mode is 1.12 Credits.

🎤

Custom Personas

Create and save custom singer voice styles with the Persona API. Reuse a consistent vocal identity across unlimited song generations.

📝

AI Lyric Generation

Automatically generate structured lyrics with section markers (verse, chorus, bridge) using two AI models. Also supports mashup lyrics, combining the lyrics of two songs.

🔀

Multiple Output Formats

Supports output in MP3 (default), MP3 URL (generate playable links for existing audio, 0.04 Credits each), MP4 (video with visualization), WAV (lossless audio), and MIDI (music notation) formats. Vocal separation can extract vocals, drums, bass, and more.

⚡

Streaming and Webhooks

Supports real-time NDJSON streaming for progress updates, or set callback_url to receive results asynchronously. No polling required.

📤

Enhanced Audio Upload

Use mode=enhanced with /suno/upload to import authorized audio that regular uploads may not support, then use the audio ID for subsequent creations such as Cover, Samples, and Mashup.

🎚️

Studio Multitrack Projects

Create, read, and save multitrack projects with /suno/projects, generate or replace track candidates, and export a specified project version as a complete song.

cURL
curl -X POST https://api.acedata.cloud/suno/audios \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "generate",
    "prompt": "An upbeat pop song about a summer road trip",
    "model": "chirp-v4",
    "custom": false,
    "callback_url": "https://your-app.com/webhook"
  }'
Response
{
  "success": true,
  "task_id": "b3d7a1...",
  "data": [{
    "id": "a8f2c9...",
    "title": "Summer Highway",
    "style": "cheerful pop, driving beat",
    "duration": 124.5,
    "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
    "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
    "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4",
    "state": "succeeded"
  }]
}

Quick Start—Get Up and Running in 5 Minutes

A simple REST API with Bearer Token authentication. Generate your first AI song with a single request.

1

Get Your API Key

Sign up for Ace Data Cloud and get your Bearer Token from the console

2

Send a POST Request

Send a request to /suno/audios with your prompt and model preferences

3

Get Your Song

Receive the audio URL, cover image, lyrics, and video—ready to use instantly

Complete music workflow, one API

The most comprehensive Suno API—covering every music creation workflow

✨

Generate

Create songs from text prompts in inspired or custom mode

⏩

Extend

Continue a song from any timestamp, adding new lyrics and styles

🎭

Cover

Create a new version of any song in a completely different style

🔗

Concat

Merge extended segments into one seamless complete track

🎚️

Stems

Separate vocals, drums, bass, melodies, and other tracks

🎧

Remaster

Upgrade old songs with improved audio quality (v4.5+ / v5)

🎸

Underpaint

Add instrumental accompaniment to uploaded vocal tracks

🎤

Overpaint

Add AI vocals to uploaded instrumental tracks

✂️

Replace Section

Regenerate content within a specified time range of an existing song

🔀

Mashup

Blend two reference songs into a new creation

📤

Upload + Extend

Upload your own audio and extend it with AI generation

🎯

Persona

Maintain a consistent singer identity across multiple songs

+ Upload Cover + Persona Voice + Sample + Full Stems

What can you build with the Suno API?

From consumer apps to enterprise platforms—developers are building these projects

🎮

Music Creation Apps

Build consumer apps that let users generate custom songs, share, and collaborate

🎬

Video & Content

Automatically generate royalty-free background music for videos, short clips, and podcasts

🤖

AI Agents & MCP

Integrate with Claude, ChatGPT, or any AI Agent through our MCP Server for natural-language music creation

🏪

E-commerce & Advertising

Generate branded music, advertising music, and product audio content in bulk

Get Started in 3 Steps

From sign-up to generating your first AI song in under 5 minutes

01

Sign Up and Get an API Key

Create a free account on Ace Data Cloud. Generate your Bearer Token from the API management console.

02

Make Your First API Call

Send a POST request with a text prompt to /suno/audios. Use the SDK, cURL, or any HTTP client.

03

Integrate and Scale

Embed the API into your app. Use Webhooks for asynchronous processing and scale to production with confidence.

Why Choose Ace Data Cloud Over Other Suno APIs?

See our competitive advantages in the features developers care about most

Feature Ace Data Cloud Other Platforms
Chirp v5 Model ✓ Partially Supported
Unified Actions (Extend, Cover, Stems, etc.) ✓ Partially Supported
OpenAPI 3.0 Specification ✓ Partially Supported
Webhook Callbacks ✓ Partially Supported
NDJSON Streaming ✓ Partially Supported
Custom Persona ✓ Partially Supported
MP3 + MP3 URL + MP4 + WAV + MIDI ✓ Partially Supported
MCP Server (AI Agent Integration) ✓ Partially Supported
Pay As You Go ✓ Partially Supported
No Watermark ✓ Partially Supported

Comparison of Suno and Other AI Models

Trying to decide between Suno, Udio, and other AI music platforms? See how they compare.

Capability Suno (via Ace Data) Udio Others
Songs with vocals ✓ ✓ ✗
Custom lyrics ✓ ✓ ✗
Instrumental music ✓ ✓ ✓
Song continuation and remixing ✓ ✓ ✗
Vocal separation ✓ ✗ ✗
Persona voice cloning ✓ ✗ ✗
API access ✓ ✗ Limited

Which model is right for you?

Choose from 6 Suno model versions based on your quality and speed needs

Chirp v3.0 / v3.5

Legacy

Suitable for basic music generation. Fastest speed and best value, ideal for prototyping and background music.

  • ✓ Fastest generation speed
  • ✓ Lowest cost (as low as $0.045/call)
  • ✓ Reliable and stable for simple tasks
  • ✓ Suitable for batch processing
Recommended

Chirp v4 / v4.5

Production

The best balance of quality and cost, suitable for production-grade applications. Improved vocal, instrument, and mixing quality.

  • ✓ Studio-quality output
  • ✓ Clearer vocals and expressiveness
  • ✓ Enhanced instrument separation
  • ✓ Supports remastering (v4.5+)
  • ✓ Custom voice Persona

Chirp v5

Latest

Suno's latest and most advanced model, with the highest-fidelity audio and most natural vocals.

  • ✓ Highest audio quality
  • ✓ Most natural vocal expression
  • ✓ Variation control (high/normal/subtle)
  • ✓ All advanced features
  • ✓ Best for flagship products

Suno API Pricing

Transparent pay-as-you-go pricing. No subscription fees. No hidden costs. Pay only for what you use.

Up to 27% off volume packages

Pay-as-you-go
Generate
$0.045 / call

Core music generation—2 songs generated per call

  • ✓ v3.0 / v3.5: as low as $0.045 / call
  • ✓ v4 / v4.5 / v5: as low as $0.052 / call
  • ✓ Extend, Cover, Remix, Mashup
  • ✓ Stems, Remaster, segment sampling, and Inspo inspiration features
  • ✓ Underpaint & Overpaint
  • ✓ Webhook + streaming
  • ✓ Task polling—free
View pricing details View API documentation
Enterprise
Custom

Volume discounts for high-usage teams

  • ✓ Usage-based discounts
  • ✓ Priority support
  • ✓ Dedicated account manager
  • ✓ Custom rate limits
  • ✓ SLA guarantee
Contact sales

Frequently Asked Questions

Everything you need to know about using the Suno API

Does Suno have an official API? ▾

Suno currently does not provide a public, self-service REST API. Ace Data Cloud provides stable, production-ready APIs that give you full access to all of Suno's music generation capabilities, including the current Chirp v6 model family.

How does pricing work? ▾

We use a pay-as-you-go model, with no subscription or monthly fees. Each API call has transparent per-operation pricing—for example, song generation starts at $0.052 and lyrics start at $0.002. Volume packages offer discounts of up to 27%. You can top up at any time. Task polling is always free.

Which models are supported? ▾

Currently supported models include Chirp v6, v6-wild, v6-mini, and compatible models. Each model has its own focus in generation speed, experimentation, and style adherence; refer to the API parameter enumeration for specific available values.

How should I handle longer generation times? ▾

Three options: (1) Use callback_url—set a Webhook URL, and we will POST the result when complete. (2) Use NDJSON streaming—set the Accept: application/x-ndjson request header to receive real-time progress. (3) Poll via /suno/tasks—this endpoint is free and lets you check the status at any time.

Is the output watermarked? ▾

No. All audio outputs are clean and watermark-free. Generated MP3, MP3 URL, WAV, MP4, and MIDI files can be used directly in production environments.

Can it be used with AI Agents such as Claude or ChatGPT? ▾

Yes! We provide an official MCP Server (mcp-suno, available on PyPI) that integrates directly with Claude Desktop, VS Code, and other MCP-compatible AI tools. Your AI Agent can generate music through natural-language conversations. We also provide a standard REST API + OpenAPI specification to support any other integration method.

What is "Persona"? How do I use it? ▾

A Persona is a saved singer vocal style. Upload a reference song via /suno/upload, then create a Persona via /suno/persona. Once created, you can reference the persona_id in any generation request to maintain a consistent vocal identity across multiple songs.

Which output formats are supported? ▾

Six outputs: MP3 (default, included in every response), MP3 URL (generates a playable link for existing audio, via /suno/mp3), MP4 (video with waveform visualization, via /suno/mp4), WAV (lossless audio, via /suno/wav), MIDI (musical notation, via /suno/midi), and separated tracks (vocals, drums, bass, etc., via the stems operation).

Other AI Models

Explore our complete suite of AI APIs, covering images, video, search, and more

🎨

Black Forest Labs' top-tier text-to-image model

→
🎬

Create AI-generated videos using Dream Machine and Ray models

→
📹

Google's Veo video generation—cinematic-quality AI video

→
💬

Anthropic's Claude—powerful reasoning and coding capabilities through an OpenAI-compatible proxy

→

Start Generating AI Music Now

Join thousands of developers building with the most comprehensive Suno API. Pay as you go—no subscription fees, no commitments.

Quick Start

curl --request POST "https://api.acedata.cloud/suno/audios" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{}'

APIs and Guides

Explore the supported endpoints and integration guides for Suno Music Generation.

API Path Integration Guidance
Suno Audios Generation API /suno/audios Suno Audios Generation API Integration Guide
Suno Persona API /suno/persona Suno Persona API Integration Guide
Suno MP4 API /suno/mp4 Suno MP4 API Integration Guide
Suno Voices API /suno/voices Suno Voice Clone API Integration Instructions
Suno Timing API /suno/timing Suno Timing API Integration Guide
Suno Vox API /suno/vox Suno Vox API Integration Guide
Suno Wav API /suno/wav Suno Wav API Integration Guide
Suno MIDI API /suno/midi Suno MIDI API Integration Guide
Suno MP3 URL API /suno/mp3 Suno MP3 URL API Integration Guide
Suno Custom Models API /suno/custom-models Suno Custom Models Integration Guide
Suno Style Generation API /suno/style Suno Style API Integration Guide
Suno Studio Projects API /suno/projects Suno Studio Projects Integration Guide
Suno Lyrics Generation API /suno/lyrics Suno Lyrics Generation API Integration Guide
Suno MashupLyrics Generation API /suno/mashup-lyrics Suno Mashup Lyrics Generation API Integration Guide
Suno Tasks API /suno/tasks Suno Tasks API Integration Guide
Suno Upload API /suno/upload Suno Upload API Integration Guide

Related Resources

Support

If you meet any issue, please check support info or browse the latest documentation on docs.acedata.cloud.

Releases

Packages

Contributors