HiAPI
블로그

사용 가이드

qwen-audio-3.0-tts-plus 개발자 프롬프트 레시피

바로 복사해 붙여넣을 수 있는 스크립트, 리듬, 구두점, 감정 프롬프트 패턴으로 오늘부터 재사용하세요

Nov 3, 2026
Cover art for a qwen-audio-3.0-tts-plus prompt guide: flat faceted mineral cross-section in teal and malachite on deep petrol ground.

TTS 프롬프트를 코드처럼 엄격하게 다뤄야 하는 이유

대부분의 팀은 텍스트 음성 변환을 일회성 작업으로 취급합니다. 누군가 데모 상자에 문장을 입력하고, 오디오가 그럭저럭 들리면 프롬프트는 채팅 기록 속으로 사라집니다. 3주 뒤 문구 변경으로 다시 실행해야 할 때, 아무도 원래의 연출 효과를 재현할 수 없습니다. 목소리는 달라졌고, 리듬은 바뀌었으며, 유일한 해결책은 다시 추측하는 것입니다.

이런 실패 유형은 모델 문제가 아니라 프로세스 문제입니다. TTS 프롬프트는 출력을 빚어내는 입력이며, 설정 파일이나 템플릿 문자열과 똑같습니다. 어디에도 존재하지 않는다면 검토하거나, 차이를 비교하거나, 롤백할 수 없습니다.

모든 프롬프트를 하나의 레시피로 다루세요. 이름과 버전 번호가 붙은 산출물로서, 스크립트와 그것을 올바르게 들리게 만드는 연출 지시를 짝지은 것입니다. 호출하는 코드 옆에 두고, 스크립트 텍스트가 바뀌거나 호출부가 바뀌거나 모델 버전이 발밑에서 업데이트될 때마다 다시 테스트하세요.

보상은 밋밋하지만 가치 있습니다. 레시피에 버전 기록이 있으면 실패한 재생성은 차이 비교가 됩니다. 이해관계자가 "더 따뜻하게 해달라"고 요구하는 일은 재작성이 아니라 브랜치가 됩니다. 신입 엔지니어 온보딩은 기억에 의존하는 대신 폴더 하나를 건네는 일이 됩니다.

작업 원칙 하나: 오디오가 배포할 만큼 좋다면, 그것을 생성한 레시피도 커밋할 만큼 좋은 것입니다.

즉석 프롬프트는 다시 실행하면 조각나 버리지만, 버전이 있는 레시피는 구조와 샘플을 정렬된 상태로 유지합니다.

재사용 가능한 qwen-audio-3.0-tts-plus 레시피 해부

실제 사용을 견디는 레시피에는 네 부분이 있습니다. 긴 문자열 하나가 아니라 프롬프트 파일의 독립 필드로 두어, 다른 층은 건드리지 않고 한 층만 편집할 수 있게 하세요.

1. 연출 설명

전체 낭독 스타일을 정하는 짧은 지시 블록입니다. 청중, 리듬감, 격식 수준, 대상 매체(설명 내레이션, 광고 낭독, IVR 안내)를 지정합니다. 평이한 언어로 쓰고 시리즈 내에서 안정적으로 유지하세요. 가장 적게 바뀌는 층입니다.

Delivery: calm product explainer, moderate tempo, warm but not
chatty, addressed to a developer audience. Avoid rising
trailing intonation on statements.

2. 스크립트 본문

실제로 낭독할 단어들입니다. 그 이상은 아닙니다. 무대 지시를 문장 중간에 묻지 말고, 오디오로 새어 나갈 수 있는 삽입구도 넣지 마세요. 낭독되어서는 안 되는 단어는 이 필드에 속하지 않습니다.

3. 세그먼트 마커

본문을 독립적으로 지시할 수 있는 블록으로 나누는 구분자이며, 보통 블록당 한두 문장입니다. 세그먼트는 어조와 리듬 주석을 붙이는 곳이므로 모호함이 없고 파싱 비용이 낮아야 합니다.

[seg-01] First segment text here.
[seg-02] Second segment text here.

4. 출력 기대치

결과가 어떻게 들려야 하는지, 그리고 실제로 수행한 검증(길이 범위, 음절 단위 표본 검사, 승인된 오디오 링크)을 사람이 읽을 수 있게 설명한 것입니다. 현장에 없는 사람도 레시피를 검토할 수 있게 해줍니다.

각 사용 사례마다 네 부분을 한 파일에 담고, 모델이 아니라 사용 사례로 이름을 붙이세요. 그러면 기반 모델을 바꿔도 강제로 이름을 바꾸지 않아도 됩니다. 레시피는 우선 규격서로 읽히고, 그다음에 프롬프트로 읽혀야 합니다.

네 개의 쌓인 층은 연출 설명부터 기대 출력까지 레시피의 재사용 가능한 해부 구조에 대응합니다.

레시피: 내레이션과 보이스오버 리듬

TTS에서 리듬은 주로 글쓰기 문제입니다. 엔진은 준 대로 읽으므로, 길고 끊김 없는 문장은 급하게 읽히거나 강조가 이상해지기 쉽습니다. 해결책은 프롬프트 언어를 건드리기 전에 문장 길이와 줄바꿈을 제어하는 것입니다.

Delivery: documentary-style narration, unhurried, even energy,
clear sentence-final falling intonation.

[seg-01] Most audio pipelines fail at the same place.
[seg-02] Not at the model.
[seg-03] At the prompt that nobody saved.
[seg-04] A script change arrives, someone re-runs the generation,
and the voice comes back different, with no record of
what the old one looked like.

이를 반복 가능하게 만드는 세 가지:

  • 짧은 도입 세그먼트. 초반에는 마커마다 한 문장씩 두어 엔진에 명확한 경계를 주고, 예측 가능한 리듬을 확보하세요.
  • 세그먼트 내부의 물리적 줄바꿈은 자연스러운 절 경계에 두세요. 청중이 멈춤으로 들을 구두점을 늘리지 않으면서 리듬 힌트 역할을 합니다.
  • 연출 설명에 문장 끝 하강 억양을 명시하세요. 상승 억양으로 끝나는 서술은 불확실하게 들리며, 장편 내레이션에서 가장 흔한 불만입니다.

귀로 듣기 위해 쓰고, 그다음 확인하세요. 스크립트를 소리 내어 읽어 보세요. 숨이 찬 곳이 바로 단락을 나눌 곳입니다. 문장에 생각이 하나 이상 들어 있으면 그것은 두 문장입니다.

짧은 단면은 빠르게 읽히고 긴 단면은 느리게 읽히며, 틈은 스크립트의 줄바꿈을 표시합니다.

레시피: 구두점과 멈춤 제어

구두점은 이미 가지고 있는 리듬 제어 수단입니다. 추가 지시 언어 없이도 의식적으로 사용하면 멈춤 길이와 강조를 이끌어낼 수 있습니다. 대부분의 엔진이 따르는 대략적인 순서는 짧은 것에서 긴 것 순으로 다음과 같습니다:

comma  <  dash  <  period  <  ellipsis

이 순서는 유용한 기본값이지 보장은 아닙니다. 항상 들어보며 확인하세요. 아래 레시피는 각 마커가 하나의 역할만 맡게 합니다.

Delivery: instructional narration, steady tempo, deliberate
pauses at section changes.

[seg-01] Here is the part most people skip: the punctuation.
[seg-02] A comma is a breath. A dash — a short hold. A period
ends the thought.
[seg-03] And an ellipsis... is a real pause. Use it sparingly.
[seg-04] Three rules. Short sentences. One idea each.
Punctuate on purpose.

재현성을 유지하는 실용적 제약:

  • 하나의 마커, 하나의 의미. 대시가 어떤 때는 "유지"를 뜻하고 어떤 때는 장식일 뿐이라면, 레시피는 재실행 시 일관되게 읽히지 않습니다.
  • 마커를 겹치지 마세요. 느낌표를 여러 개 쓰거나 말줄임표와 대시를 교차시키면 멈춤이 불안정해집니다. 하나를 고르세요.
  • 구두점을 과하게 넣지 마세요. 세 단어마다 쉼표를 넣으면 낭독이 잘게 쪼개져 연출이 로봇처럼 들립니다.
  • 극단적인 경우를 테스트하세요. 완전히 구두점을 단段落과 같은 텍스트의 최소 구두점 버전을 비교하세요. 차이가 엔진이 구두점을 얼마나 중시하는지 알려줍니다.

구두점 변경은 순수 텍스트 편집이므로 차이 비교가 매우 쉽습니다. 그래서 반복 비용이 가장 낮은 레시피 층입니다.

레시피: 세그먼트별 감정과 어조 프롬프트

스크립트 전체에 대한 감정 지시는 취약합니다. "신나게 들리게"라는 주석을 5분 오디오에 적용하면 균일하게 큰 낭독이 되어 모든 전환을 평평하게 만듭니다. 세그먼트 수준 프롬프트가 더 나은 도구입니다. 하나의 연속 오디오 안에서 감정이 변하게 하고, 특정 줄의 결과가 틀렸을 때 해당 세그먼트만 다시 생성할 수 있게 합니다.

Delivery: multi-section product narration, same speaker
throughout, tone shifts at segment boundaries.

[seg-01 | tone: neutral, informative]
Here is what changed in this release.

[seg-02 | tone: neutral, informative]
The generation path is faster, and the retry logic is simpler.

[seg-03 | tone: warm, reassuring]
If something does fail, it now fails loudly and early,
not silently at the end of a long job.

[seg-04 | tone: upbeat, confident]
That is the whole update. Ship it.

세그먼트 프롬프트를 관리 가능하게 유지하는 지침:

  • 어조를 명명한 뒤 고정하세요. "따뜻함" 같은 맨 태그는 모호합니다. 여기서의 의미를 함께 적으세요. 안심시키는, 더 느린, 더 부드러운 끝맺음. 그러면 미래의 독자가 재현할 수 있습니다.
  • 화자를 일정하게 유지하세요. 모든 세그먼트가 같은 사람처럼 읽혀야 합니다. 페르소나가 아니라 감정을 프롬프트하세요.
  • 어조는 경계에서 바꾸고 문장 중간에서는 바꾸지 마세요. 세그먼트 중간의 전환은 검증하기 어렵고 부자연스럽게 들리기 쉽습니다.
  • 프로젝트마다 작은 어조 어휘집을 정해 두고 재사용하세요. 충분히 이해한 다섯 개 태그가 새로 만든 스무 개보다 낫습니다.

세그먼트가 독립적이므로 거부된 한 줄은 전체 트랙을 다시 생성할 필요 없이 세그먼트 하나만 다시 실행하면 됩니다. 덕분에 A/B 테스트도 저렴해집니다. seg-03의 프롬프트만 바꾸고 나머지는 그대로 두세요.

출력을 테스트하고 레시피를 고정하기

듣기 전까지 레시피는 가설일 뿐입니다. 루프는 짧고, 폴더 하나와 명명 규칙 외에는 도구가 필요 없습니다.

루프

  1. 초안 작성. 레시피 파일을 쓰거나 편집하세요. 한 번에 한 가지만 바꾸세요. 프롬프트 하나, 구두점 패턴 하나, 세그먼트 분할 하나.
  2. 생성. 편집한 세그먼트만이 아니라 전체 스크립트의 오디오를 생성하세요. 리듬은 문맥에 의존하며, 한 세그먼트의 변화가 인접 세그먼트의 읽기를 바꿉니다.
  3. 비교. 같은 스피커나 헤드폰으로 새 출력과 마지막 승인 버전을 연달아 들으세요. 리듬, 강조, 어조 전환을 각각 판단하세요. 이들은 독립적으로 실패합니다.

새 버전이 이기면 승격하세요. 그렇지 않으면 파일을 되돌리고, 실패 이유에 대한 기록을 커밋 메시지에 남기세요.

기록할 것

  • 전송한 것과 정확히 같은 전체 레시피 파일.
  • 렌더링된 오디오를 일치하는 이름으로 옆에 저장.
  • 각 비교에 대한 한 줄 결론: 무엇을 바꿨는지, 무엇이 개선되었는지, 무엇이 퇴보했는지.

고정

레시피가 승인되면 태그를 붙이세요. v1, v1.1, 또는 프로젝트에서 이미 쓰는 규칙에 따라 날짜 기반 태그를 사용하세요. 그때부터 태그된 레시피가 배포 산출물이며, 추가 편집은 거기서 분기합니다. 모델 버전이 발밑에서 바뀌면 먼저 태그된 레시피에서 다시 생성하세요. 그러면 기억이 아니라 알려진 참조에 대해 차이를 측정할 수 있습니다.

고정을 유효하게 만드는 두 가지 규칙: 고정된 레시피를 제자리에서 편집하지 말고, 생성한 레시피가 저장소에 없는 오디오는 절대 배포하지 마세요.

흔한 레시피 오류와 수정 방법

팀이 레시피에 버전 관리를 도입한 뒤 가장 자주 나타나는 실패 유형입니다. 각각에는 텍스트 수준의 수정 방법이 있습니다.

과도한 프롬프팅

연출 설명, 어조 태그, 강조 마커, 괄호 지시를 한 세그먼트에 겹쳐 넣는 경우입니다. 결과는 불안정한 낭독이고, 아무도 유지보수할 수 없는 레시피입니다.

수정: 레시피당 연출 설명 하나, 세그먼트당 어조 프롬프트 하나, 나머지는 구두점이 맡게 하세요. 한 세그먼트에 지시가 세 개 필요하면 그것은 아마 두 세그먼트입니다.

일관되지 않은 구두점

어떤 곳에서는 대시와 말줄임표를 장식적으로 쓰고, 다른 곳에서는 의미를 부여하는 경우입니다. 같은 마커가 스크립트 전체에서 다른 멈춤을 만듭니다.

수정: 각 마커에 정확히 하나의 역할을 부여하고, 생성 전에 파일에서 위반을 점검하세요. ...와 —를 검색하는 데는 몇 초밖에 걸리지 않습니다.

재현 불가능한 스크립트

복사해 붙여넣은 텍스트에 스마트 따옴표, 불필요한 공백, 또는 사람 검토자에게 보내려던 괄호 내용이 낭독되는 경우입니다.

수정: 스크립트 본문에는 말할 의도가 없는 내용을 두지 말고, 편집기에서 따옴표와 간격을 정규화하며, 붙여넣을 때마다 파일 차이를 비교하세요.

스크립트 전체 감정

"신나게" 또는 "진지하게" 지시 하나가 수 분짜리 오디오 전체를 덮는 경우입니다.

수정: 어조 프롬프트를 세그먼트로 옮기고, 화자를 일정하게 유지하며, 귀로 확인할 수 있는 경계에서 감정이 변하게 하세요.

테스트하지 않은 편집

텍스트가 괜찮아 보인다는 이유로 프롬프트를 바꾸고 듣지 않은 채 바로 배포하는 경우입니다.

수정: 승격 전에 생성하고 비교하세요. 종이 위에서 맞아 보이는 프롬프트도 리듬이나 강조에서 여전히 어긋날 수 있습니다.

확신이 없을 때는 지시를 더하지 말고 줄이세요. 구두점이 깔끔하고 세그먼트 경계가 정직한 짧은 레시피가, 모든 것을 통제하려는 긴 레시피보다 재현하기 쉽습니다. 레시피를 만들고, 출력을 듣고, 효과가 있는 것을 고정하세요.

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기