아직 오디오가 없습니다. 폼을 제출해 오디오를 생성하세요.
다양한 사용 사례와 매개변수 구성을 살펴보세요
숨겨진 수수료 없이 투명한 가격. 사용량에 따라 지불합니다.
| 규칙 및 양식 | Channel | 크레딧 | 가격 (USD) | 공식/참고 가격 | 일일 절감액 |
|---|---|---|---|---|---|
Suno upload-extend musicSuno | Starter | 1per run | $0.005 | - | - |
Suno 사용 전체 가이드
어떤 오디오 파일이든 업로드하고, 원본 소재와 매끄럽게 어울리는 AI 생성 이어지는 구간으로 확장하세요.

업로드 및 확장 API를 사용하면 어떤 오디오 파일이든 업로드하고 AI가 음악을 이어서 확장하는 연속 구간을 생성할 수 있습니다. 표준 확장 API가 Suno에서 생성된 트랙에 동작하는 것과 달리, 이 API는 직접 녹음한 파일, 다른 도구로 만든 음악, 그 밖의 모든 오디오 파일 등 어떤 오디오 소스와도 함께 사용할 수 있습니다. AI는 업로드된 오디오를 분석해 스타일, 템포, 키, 분위기를 이해한 다음, 원본 오디오가 끝나는 지점 또는 지정한 특정 지점부터 자연스럽게 이어지는 새로운 콘텐츠를 생성합니다.
AI가 오디오를 분석하고 어울리는 이어지는 구간을 자동으로 생성하도록 하세요. AI는 원본 오디오에서 스타일, 템포, 무드를 추론해 매끄럽게 확장합니다.
시작 지점, 스타일, 제목, 프롬프트를 지정해 직접 제어하세요. 원본과의 일관성을 유지하면서 원하는 방향으로 오디오를 확장하도록 AI를 안내할 수 있습니다.
직접 녹음한 파일, DAW 내보내기, 샘플, 타사 생성 음악 등 어떤 오디오 소스와도 동작합니다. 오디오가 Suno에서 생성된 것일 필요가 없습니다.
AI가 오디오를 자동으로 분석해 템포, 키, 스타일, 악기 구성을 이해하고 자연스럽게 들리는 확장을 생성합니다.
오디오의 어느 지점에서든 확장할 수 있습니다. 곡 중간에 새 섹션을 추가하거나, 아웃트로를 늘리거나, 특정 순간부터 이어서 만들 수 있습니다.
프롬프트와 스타일 파라미터를 사용해 확장이 전개되는 방식을 안내하세요. 원래의 느낌을 유지하거나 새로운 방향으로 발전시킬 수 있습니다.
몇 단계만으로 나만의 오디오 파일을 확장하세요
확장하려는 오디오 파일을 업로드하세요. 최대 50MB의 MP3, WAV, OGG, M4A, FLAC 형식을 지원합니다.
빠른 확장에는 자동 모드를, 이어지는 구간을 정밀하게 제어하려면 사용자 지정 모드를 사용하세요.
사용자 지정 모드에서는 continueAt 지점, 스타일, 제목을 지정하고, 선택적으로 확장을 설명하는 프롬프트를 입력하세요.
요청을 제출하세요. AI가 오디오를 분석하고 어울리는 이어지는 구간을 생성합니다.
원본 오디오와 새로 AI가 생성한 이어지는 구간이 포함된 확장된 트랙을 가져오세요.
최적의 결과를 위해 다음 가이드라인을 따르세요
선명한 오디오가 담긴 고품질 원본 파일일수록 더 좋은 확장 결과를 얻을 수 있습니다. 과도하게 압축되었거나 노이즈가 많은 녹음은 피하세요.
가장 매끄러운 결과를 위해 continueAt을 프레이즈의 끝, 섹션 이후, 또는 지속음 중간처럼 자연스러운 음악적 전환 지점으로 설정하세요.
프롬프트에는 에너지 고조, 브리지로 전환, 아웃트로 생성, 특정 요소 추가 등 음악이 어떻게 전개되어야 하는지 설명하세요.
진행 중인 녹음물을 업로드하고, AI가 자연스럽게 들리는 이어지는 구간으로 완성하도록 도와주게 하세요.
샘플, 라이선스 음악, 다른 AI 도구의 출력물 등 어떤 소스의 오디오든 가져와 확장하세요.
기존 곡에서 시작해 새로운 방향으로 확장함으로써 변형 버전과 대안 버전을 만들 수 있습니다.
짧은 루프나 세그먼트를 업로드하고 이를 전체 길이의 곡으로 확장하세요.
Suno에서 생성된 콘텐츠에만 제한되지 않습니다. 어떤 소스의 오디오 파일이든 고품질 AI 이어지는 구간으로 확장하세요.
고급 AI가 원본 오디오의 음악적 특성을 이해해 자연스럽고 일관성 있는 확장을 생성합니다.
주요 오디오 형식을 모두 지원하는 간편한 파일 업로드 API입니다. 업로드, 확장, 다운로드를 하나의 매끄러운 워크플로로 처리하세요.
모든 API는 Bearer Token을 통한 인증이 필요합니다.
Authorization: Bearer
SDK를 사용해 작업을 만들고 반환된 taskId를 저장한 다음 Suno의 결과를 조회합니다.
이 SDK 예제를 실행하기 전에 @apipass-dev/apipass-sdk을 설치하세요.
1npm install @apipass-dev/apipass-sdk
2# or
3pnpm add @apipass-dev/apipass-sdk
4# or
5yarn add @apipass-dev/apipass-sdkAPI Key는 서버 측 환경 변수에 보관하세요. SDK는 이를 Bearer token으로 자동 전송하고 JSON 헤더를 추가합니다.
client.jobs.createTask업로드된 오디오 파일을 확장하는 새 작업을 생성합니다
이 예제를 사용해 선택한 SDK를 빠르게 시작하세요.
1import { Apipass } from "@apipass-dev/apipass-sdk";
2
3const client = new Apipass({
4 apiKey: process.env.APIPASS_API_KEY!,
5});
6
7const task = await client.jobs.createTask({
8 "model": "suno/upload-extend",
9 "callBackUrl": "https://your-domain.com/api/callback",
10 "input": {
11 "audioUrl": "https://your-storage.com/audio/my-song.mp3",
12 "continueAt": 60,
13 "prompt": "Build into an epic chorus with full instrumentation",
14 "style": "Pop Rock, Anthemic",
15 "title": "My Song (Extended)"
16 }
17});
18
19console.log(task.data.taskId);이 API는 다음 구조의 JSON 페이로드를 받습니다:
1{
2 "model": "suno/upload-extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V5_5 |V5 | V4_5PLUS | V4_5ALL | V4_5 | V4",
6 "audioUrl": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "vocalGender": "m | f",
13 "personaId": "string",
14 "negativeTags": "string",
15 "styleWeight": "number",
16 "weirdnessConstraint": "number",
17 "audioWeight": "number"
18 },
19 "channel": "auto"
20}model필수stringSuno V5 업로드 및 확장을 위한 모델 식별자
"suno/upload-extend"
callBackUrl선택적string확장이 완료되었을 때 웹훅 알림을 수신할 URL
"https://your-domain.com/api/callback"
channel선택적stringchannel 파라미터를 통해 APIPASS 내 해당 제공자를 지정할 수 있습니다. 이러한 제공자는 실제 이미지 및 비디오 생성 작업을 처리합니다. APIPASS는 현재 세 가지 제공자 옵션을 제공합니다:
channel 파라미터의 기본값은 auto입니다. 활성화되면 APIPASS는 실시간 가격 및 안정성 지표를 기반으로 사용 가능한 제공자 간에 작업을 자동으로 배분하여 최소 비용과 안정적인 성능의 균형을 맞춥니다. 사용자 지정 라우팅 요구 사항이 없다면 기본값 auto를 유지하세요.
사용 가능한 옵션:
auto
업로드 및 확장을 위한 파라미터:
input.model_version선택적string사용할 Suno 모델 버전입니다. 기본값은 V5입니다.
사용 가능한 옵션:
"V5"
input.audioUrl필수string확장할 오디오 파일의 URL입니다. 공개적으로 접근 가능한 URL이어야 합니다.
"https://your-storage.com/audio/my-song.mp3"
input.instrumental선택적boolean보컬 없이 악기 연주 확장을 생성합니다.
선택 사항입니다. 기본값은 false입니다. 제공하는 경우 boolean이어야 합니다.
false
input.continueAt필수integer확장을 시작할 시간(초)입니다. 필수이며 0보다 커야 합니다.
사용자 지정 파라미터를 사용할 때는 0보다 커야 합니다
60
input.prompt선택적string확장 구간에 대한 설명입니다.
instrumental=false일 때 필수입니다. instrumental=true일 때는 선택 사항입니다. V4: 최대 3000자 V5_5, V5, V4_5PLUS, V4_5ALL, V4_5: 최대 5000자
"Build to an epic chorus with harmonies"
input.style필수string확장에 사용할 음악 스타일입니다. 필수입니다
V4: 최대 200자 V5_5, V5, V4_5PLUS, V4_5ALL, V4_5: 최대 1000자
"Pop Rock, Uplifting"
input.title필수string확장된 트랙의 제목입니다. 필수입니다
최대 길이: 80자
"My Song (Extended)"
personaId선택적inputPersona ID 선택적 문자열입니다. customMode=true일 때만 적용됩니다.
vocalGender선택적radio확장에 사용할 보컬의 성별을 선택합니다.
negativeTags선택적input확장에서 제외할 스타일 또는 특징입니다.
styleWeight선택적slider확장을 위한 스타일 가이드 가중치입니다.
weirdnessConstraint선택적slider확장의 창의성 수준을 제어합니다.
audioWeight선택적slider확장에 대한 오디오 영향 가중치입니다.
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_upload_ext_xyz789"
6 }
7}code상태 코드, 성공 시 200
message응답 메시지
data.taskId확장 상태 조회를 위한 작업 ID
확장이 완료되면 callBackUrl로 POST 요청이 전송됩니다
1{
2 "code": 200,
3 "data": {
4 "taskId": "task_upload_ext_xyz789",
5 "state": "success",
6 "completeTime": 1755599800000,
7 "costTime": 75000,
8 "model": "suno/upload-extend",
9 "resultJson": {
10 "data": [
11 {
12 "id": "ext_001",
13 "audio_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_audio.mp3",
14 "image_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_cover.jpeg",
15 "duration": 180.5
16 }
17 ]
18 }
19 },
20 "msg": "Extension completed successfully."
21}1{
2 "code": 501,
3 "data": {
4 "taskId": "task_upload_ext_xyz789",
5 "state": "fail",
6 "failCode": "INVALID_AUDIO_URL",
7 "failMsg": "Unable to download audio from provided URL"
8 },
9 "msg": "Extension failed."
10}client.jobs.recordInfo확장 작업 상태를 조회하고 결과를 가져옵니다
이 예제를 사용해 선택한 SDK를 빠르게 시작하세요.
1import { Apipass } from "@apipass-dev/apipass-sdk";
2
3const client = new Apipass({
4 apiKey: process.env.APIPASS_API_KEY!,
5});
6
7const result = await client.jobs.recordInfo("task_upload_ext_xyz789");
8
9console.log(result.data.state);
10console.log(result.data.resultJson);1{
2 "code": 200,
3 "data": {
4 "taskId": "task_upload_ext_xyz789",
5 "state": "success",
6 "resultJson": {
7 "data": [
8 {
9 "id": "ext_001",
10 "audio_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_audio.mp3",
11 "image_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_cover.jpeg",
12 "duration": 180.5
13 }
14 ]
15 }
16 }
17}data.state현재 상태: queuing, generating, success 또는 fail
data.resultJson.dataURL 및 메타데이터가 포함된 확장 오디오 트랙 배열
API 페이지는 매개변수 스키마를 보여주지만, Suno는 누락하기 쉬운 여러 비즈니스 특화 모드 조합 및 콜백 규칙도 가지고 있습니다.
모든 API는 Bearer Token을 통한 인증이 필요합니다.
Authorization: Bearer
업로드된 오디오 파일을 확장하는 새 작업을 생성합니다
이 API는 다음 구조의 JSON 페이로드를 받습니다:
1{
2 "model": "suno/upload-extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V5_5 |V5 | V4_5PLUS | V4_5ALL | V4_5 | V4",
6 "audioUrl": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "vocalGender": "m | f",
13 "personaId": "string",
14 "negativeTags": "string",
15 "styleWeight": "number",
16 "weirdnessConstraint": "number",
17 "audioWeight": "number"
18 },
19 "channel": "auto"
20}model필수stringSuno V5 업로드 및 확장을 위한 모델 식별자
"suno/upload-extend"
callBackUrl선택적string확장이 완료되었을 때 웹훅 알림을 수신할 URL
"https://your-domain.com/api/callback"
channel선택적stringchannel 파라미터를 통해 APIPASS 내 해당 제공자를 지정할 수 있습니다. 이러한 제공자는 실제 이미지 및 비디오 생성 작업을 처리합니다. APIPASS는 현재 세 가지 제공자 옵션을 제공합니다:
channel 파라미터의 기본값은 auto입니다. 활성화되면 APIPASS는 실시간 가격 및 안정성 지표를 기반으로 사용 가능한 제공자 간에 작업을 자동으로 배분하여 최소 비용과 안정적인 성능의 균형을 맞춥니다. 사용자 지정 라우팅 요구 사항이 없다면 기본값 auto를 유지하세요.
사용 가능한 옵션:
auto
업로드 및 확장을 위한 파라미터:
input.model_version선택적string사용할 Suno 모델 버전입니다. 기본값은 V5입니다.
사용 가능한 옵션:
"V5"
input.audioUrl필수string확장할 오디오 파일의 URL입니다. 공개적으로 접근 가능한 URL이어야 합니다.
"https://your-storage.com/audio/my-song.mp3"
input.instrumental선택적boolean보컬 없이 악기 연주 확장을 생성합니다.
선택 사항입니다. 기본값은 false입니다. 제공하는 경우 boolean이어야 합니다.
false
input.continueAt필수integer확장을 시작할 시간(초)입니다. 필수이며 0보다 커야 합니다.
사용자 지정 파라미터를 사용할 때는 0보다 커야 합니다
60
input.prompt선택적string확장 구간에 대한 설명입니다.
instrumental=false일 때 필수입니다. instrumental=true일 때는 선택 사항입니다. V4: 최대 3000자 V5_5, V5, V4_5PLUS, V4_5ALL, V4_5: 최대 5000자
"Build to an epic chorus with harmonies"
input.style필수string확장에 사용할 음악 스타일입니다. 필수입니다
V4: 최대 200자 V5_5, V5, V4_5PLUS, V4_5ALL, V4_5: 최대 1000자
"Pop Rock, Uplifting"
input.title필수string확장된 트랙의 제목입니다. 필수입니다
최대 길이: 80자
"My Song (Extended)"
personaId선택적inputPersona ID 선택적 문자열입니다. customMode=true일 때만 적용됩니다.
vocalGender선택적radio확장에 사용할 보컬의 성별을 선택합니다.
negativeTags선택적input확장에서 제외할 스타일 또는 특징입니다.
styleWeight선택적slider확장을 위한 스타일 가이드 가중치입니다.
weirdnessConstraint선택적slider확장의 창의성 수준을 제어합니다.
audioWeight선택적slider확장에 대한 오디오 영향 가중치입니다.
1curl -X POST "https://api.apipass.dev/api/v1/jobs/createTask" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -d '{
5 "model": "suno/upload-extend",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "audioUrl": "https://your-storage.com/audio/my-song.mp3",
9 "continueAt": 60,
10 "prompt": "Build into an epic chorus with full instrumentation",
11 "style": "Pop Rock, Anthemic",
12 "title": "My Song (Extended)"
13 }
14 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_upload_ext_xyz789"
6 }
7}code상태 코드, 성공 시 200
message응답 메시지
data.taskId확장 상태 조회를 위한 작업 ID