본문으로 건너뛰기

Claude Fable 5로 일관된 앙상블 장면 쓰기

인물 중심 장면을 계획하고, 누가 무엇을 아는지 지키고, 이야기의 구체적인 문제를 고치고, Claude Fable 5 요청 비용을 계산하는 방법을 안내합니다.

작성자
Lydia
발행
읽는 시간
약 14분
수정
비에 젖은 창밖으로 불 켜진 여객선이 보이는 가운데, 나무 탁자에 나란히 앉은 두 성인과 그 위에 놓인 닫힌 가죽 주머니와 머그잔.

세 성인이 자정이 지난 여객선 대합실을 함께 쓰고 있어요. 한 사람은 막배가 취소된 것을 알고, 한 사람은 편지의 파란 봉인만 봤고, 한 사람은 누가 그 편지를 보냈는지 알아요. 이 장면은 글이 누구에게도 알아야 할 것 이상을 알게 하지 않을 때만 성립해요. Claude Fable 5는 이런 장면에 잘 맞아요. 시스템 메시지에 목소리와 확정된 사실을, 사용자 메시지에 직전 장면을 넣고, 극적인 비트를 하나만 요청한 다음 결과를 사실과 대조해 보세요. 1,000,000 토큰 창은 시리즈 바이블이나 이어서 쓰고 싶은 완성된 장 하나를 위한 것이지, 600단어짜리 장면 하나를 위해 책 전체를 보내라는 뜻이 아니에요.

Fable 5에는 성인 소설에서 중요한 한계도 있어요. SpicyAPI는 이 모델을 완화로 분류해요. 2026년 9월 테스트에서 두 성인 사이의 노골적인 서술 장면은 아홉 번 모두 거부되거나 수위가 낮아졌고, 가벼운 시시덕거림조차 순화되어 돌아왔어요. 이야기에 그런 장면을 직접 써야 한다면 Claude Opus 5.5를 쓰세요(무검열로 분류돼요. 가장 강한 장면을 아무 틀 없이 요청하면 수위가 낮아져 돌아올 수 있지만, 롤플레이 가이드 「Claude Opus 5.5 for NSFW Roleplay: Test Results, System Setup and Costs」에서 시스템 메시지로 틀을 잡은 실행은 모두 완료됐어요). 시점, 지식, 목소리가 어려운 장면에는 Fable 5를 남겨 두세요. 아래 예시는 성인 사이의 긴장을 쌓고 모두 옷을 입은 채로 두기 때문에, 이 연습은 수위가 높은 콘텐츠의 한계가 아니라 긴장, 시점, 연속성에 관한 것이에요.

먼저 Playground에서 시도하기

  1. Claude Fable 5를 열고 Playground로 전환하세요.
  2. 아래의 시점과 인물 지식 규칙을 시스템 메시지에 넣으세요. 여객선 장면 패킷을 사용자 메시지로 붙여 넣으세요.
  3. 극적인 비트를 하나만 요청한 다음, 엘린이 발신자도 취소도 알지 못하는지 확인하세요.

엔드포인트가 받는 것

설정SpicyAPI의 Fable 5
모델 IDanthropic/claude-fable-5/chat
입력텍스트와 image_url 파트, 최대 1,000,000 토큰
출력 한도128,000 토큰, max_tokens 기본값은 4,096
추론reasoning_effort: low, medium, high, 기본값 medium, 출력으로 과금돼요
기타 제어stop(최대 4개 시퀀스), tools(최대 128개), tool_choice, parallel_tool_calls
지원하지 않음temperature, top_p, response_format
형식OpenAI 호환 /v1/chat/completions, 스트리밍 지원

이것이 현재 Fable 5 엔드포인트의 제약이에요. 이 경로는 temperature와 top_p를 받지 않으며, 이 명세에 없는 필드를 다른 Claude 요청에서 복사해 오면 안 돼요. 기계가 읽을 수 있는 출력이 필요하면, 파라미터가 JSON 스키마인 도구를 정의하고 tool_choice로 강제하세요. 본문에서 JSON을 요청하는 것은 형식 파라미터가 아니에요. 또한 대화는 어시스턴트 메시지로 끝날 수 없으므로 답변의 첫 단어를 미리 채워 넣을 수 없어요. 도입부는 지시문에서 알려 주세요.

누가 무엇을 아는지를 중심으로 장면 패킷 만들기

엘린은 34세의 보존 전문가예요. 로언은 36세의 여객선 정비사예요. 마라는 61세의 매표원이에요. 셋 모두 성인이에요. 엘린은 로언이 다음 배까지 남기를 바라요. 로언은 외투 속 봉인된 편지를 설명하지 않고 떠나고 싶어 해요. 마라는 00:40 출항이 취소된 사실을 둘 중 누구에게도 말하지 않았어요.

패킷은 각자가 아는 것과 말하는 방식의 차이를 정리해요.

인물아는 것원하는 것말하는 방식
엘린(시점 인물)편지에 파란 봉인이 있다. 로언이 그것을 숨기고 있다로언이 남는 것정확하고 실용적인 질문을 한다. 안심시켜 달라고 결코 청하지 않는다
로언누가 편지를 보냈는지설명하지 않고 떠나는 것날씨와 엔진 이야기로 대답한다
마라00:40 출항이 취소됐다. 봉인을 알아본다다른 지시가 있을 때까지 규정을 따르는 것짧은 문장. 규정을 인용한다. 발신자를 결코 이름으로 말하지 않는다

갈등은 "감정을 풍부하게 만들어라"가 아니에요. 엘린에게 고정된 서술이 발신자를 이름으로 밝히거나 취소를 알려서는 안 된다는 점이 갈등이에요. 엘린은 그 어느 쪽도 모르기 때문이에요. 젖은 외투, 종이컵 두 잔의 차, 출발 안내판에 적는 마라의 분필이 인물들에게 만질 거리를 줘요. 비트는 엘린이 직접 질문하기로 결심하는 순간이에요.

Playground에서는 reasoning_effort: medium을 쓰고, 목소리와 사실은 시스템 메시지에, 과제는 사용자 메시지에 넣으세요. API 연동에서는 답변을 스트리밍으로 받으세요. API 키에서 SPICY_API_KEY를 설정하세요. 요청은 SpicyAPI의 텍스트 및 스트리밍 가이드를 따라요.

bash
cat > request.json <<'JSON'
{
  "model": "anthropic/claude-fable-5/chat",
  "messages": [
    {
      "role": "system",
      "content": "Write original fiction in close third person, past tense, limited to Elin. Committed facts: Rowan knows who sent the letter; Elin has only seen its blue seal. Mara knows the 00:40 sailing is cancelled, recognises the blue seal and does not explain either fact. Use only these three named characters. Never reveal what Elin cannot know. Voices: Elin asks precise practical questions and never asks for reassurance. Rowan answers with weather and engine details and avoids the letter. Mara speaks in short sentences, quotes policy and never names a sender. Return only the scene."
    },
    {
      "role": "user",
      "content": "All three characters are adults: Elin is 34, Rowan is 36, Mara is 61. Setting: a ferry waiting room after midnight. Elin wants Rowan to stay for the next ferry; Rowan wants to leave without explaining the letter; Mara wants to follow the rules until told otherwise. Two paper cups of tea, a wet coat, a chalked departure board. Write about 600 words. Begin with Rowan reaching for his coat. Let attraction show through restrained dialogue and small actions; keep everyone clothed. End with Elin asking who sent the letter. Do not answer her."
    }
  ],
  "max_tokens": 6000,
  "reasoning_effort": "medium",
  "stream": true,
  "stream_options": { "include_usage": true }
}
JSON

# Save a new key for this scene; reuse it only for an unchanged retry.
uuidgen > request-key.txt
curl --fail-with-body -sSN --max-time 900 https://api.spicyapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(cat request-key.txt)" \
  --data-binary @request.json \
  --dump-header response-headers.txt --output stream.log

Agent에게 호출 준비를 맡기기

장면 수정을 반복할 때는 코딩 Agent에게 SpicyAPI Skill을 쓰라고 요청하세요. “Read anthropic/claude-fable-5/chat, then adapt the example to my input; show the request before running it.” CLI 조회는 spicyapi models get anthropic/claude-fable-5/chat --json이고, MCP 조회는 spicyapi_model_get에 model: "anthropic/claude-fable-5/chat"을 넘기는 거예요. 채팅 호출은 호환 클라이언트나 채팅 API를 쓰고, 미디어 작업 명령은 채팅 답변을 생성하지 않아요.

초안은 세 번에 걸쳐 패킷과 대조하세요. 서술에서 발신자의 이름과 "cancel"을 검색하세요. 이름이 있는 인물의 수를 세세요. 셋보다 많다면 모델이 누군가를 만들어 낸 거예요. 마지막 줄을 읽고, 그것이 답이 없는 엘린의 질문인지 확인하세요.

세 사람이 세 사람답게 들리게 하기

앙상블 장면에는 나이와 외모의 목록 이상이 필요해요. 말하는 인물마다 다른 당면 목표와 대화를 피하는 다른 방식을 주세요. 편지를 둘러싼 엘린과 로언의 갈등은 그대로 두고, 매표원 마라에게는 두 사람이 여행을 갈지 결정하기를 바라는 이유를 주세요. 엘린은 질문하고, 로언은 가장 덜 드러내는 부분에만 대답하고, 마라는 실용적인 결정을 요구해요. 이 차이가 대사마다 이름을 되풀이하지 않아도 누구 말인지 알아볼 수 있는 대화를 만들어요.

사람이 직접 쓴 대화의 예시예요.

"다음 배를 기다리면 되잖아." 엘린이 말했다.

"걸어갈 수도 있어." 로언은 외투를 주머니 위로 접었다.

마라가 승객 명부를 톡톡 두드렸다. "어느 쪽이든 괜찮아요. 어느 쪽인지만 알려 주세요."

엘린은 출발을 늦추려 해요. 로언은 왜 떠나는지 설명하기를 피해요. 마라의 끼어들기는 사적인 의견 충돌을 결정으로 몰아가요. 누구도 감정을 입 밖에 내지 않아도 이 대화는 감정을 담고 있어요.

모델에게는 이렇게 요청하세요. “Let Mara interrupt the departure argument; she may recognise the seal but never names a sender. Keep Elin's final question unanswered. Give each speaker a different immediate objective; do not explain those objectives in narration.” 이것은 막연히 더 나은 케미를 요구하는 대신, 장면에서 눈에 보이는 변화를 요구하는 거예요.

수정하는 동안 독자의 호기심 지키기

흔한 약한 초안은 서브텍스트를 곧바로 설명해 버려요. 로언이 편지를 숨기면, 다음 문장이 그 이유를 정확히 알려 줘요. 고치려면 행동은 남기고 설명은 빼세요. 가까운 시점은 외투가 주머니 위에서 움직이는 것은 알아챌 수 있지만, 숨겨진 편지나 로언의 사적인 의도는 읽을 수 없어요. 이야기의 다른 부분이 뒷받침한다면, 엘린이 그 몸짓을 불완전하게 해석하게 두세요.

또 다른 약한 초안은 두 인물에게 똑같이 유창하고 감정에 솔직한 목소리를 줘요. 지금 말할 수 있는 것을 정해 주세요. 엘린은 그가 남기를 바란다고 인정하는 대신 차를 한 잔 더 권할 수 있어요. 로언은 개인적인 질문에 대답하는 대신 여객선에 대해 물을 수 있어요. 이 장면에서 솔직함을 미리 다 써 버리지 않으면, 나중의 솔직함이 더 큰 무게를 가져요.

장면을 성인용 컴패니언 대화로 바꿀 때는 사용자의 인물을 사용자가 계속 조종하게 두세요. Fable에게 로언의 다음 대답과 눈에 보이는 행동만 쓰게 하고, 엘린의 답을 정하기 전에 멈추게 하세요. 모델의 다음 줄은 참여자가 대답할 거리를 주어야 하며, 한 메시지에서 관계의 양쪽을 모두 끝내서는 안 돼요.

구체적인 실패 고치기

실패에 이름을 붙이고, 해당 구절을 그것이 어기는 사실과 함께 보내세요.

  • 발신자가 드러난다. “Rewrite only the paragraph that names the sender. Elin may see the blue seal and Rowan covering it; she cannot identify its origin. Keep all dialogue outside that paragraph unchanged.” 그냥 “less exposition”이라고만 하면 지식 오류가 말로 드러나지 않은 채로 남아요.
  • 로언이 모든 것을 한꺼번에 설명한다. 문제는 표현이 아니라 갈등이에요. 여객선에 대한 실용적인 질문에는 대답하고 편지는 피하는 대체 대화를 요청하세요. 마지막 줄까지 아무것도 바뀌지 않으면, 지정한 질문으로 엘린이 주도권을 잡도록 요구하세요.
  • 목소리가 화려해진다. 직접 승인한 문장 두세 개를 붙여 넣고 유지할 특징을 말하세요. 짧은 관찰, 구체적인 동사, 끊어지는 대사 같은 것들이에요. 샘플의 이미지를 빌리지 않고 그 특징만 유지해서 다시 쓰라고 요청하세요.
  • 새로운 인물이나 사실이 나타난다. 시스템 메시지에 “Use only these named characters and these facts”를 추가하고 다시 실행하세요.
  • 같은 표현이 계속 돌아온다. 계속 지우는 표현을 시스템 메시지에 금지 목록으로 적고, 구체적인 대체 표현을 요청하세요.

"더 좋게 만들어 줘" 한 번 대신 별도의 패스로 수정하세요. 시점과 지식을 위한 패스, 사물의 연속성을 위한 패스, 문체를 위한 패스예요. 각 패스는 한 가지만 바꾸므로 효과가 있었는지 볼 수 있어요.

다음 집필 패스를 위한 프롬프트 세 가지

비평과 초안 작성은 분리하세요. 목소리, 대사의 서브텍스트, 해결되지 않은 복선에는 초점을 좁힌 패스를 쓰세요.

목소리:

text
Read this scene for Elin's viewpoint only. Mark sentences that reveal a
fact she cannot know or explain an emotion instead of showing an action.
For each, quote the sentence and propose one replacement. Keep the scene's
events, dialogue and final question unchanged.

대사:

text
Check Rowan's replies against his goal of avoiding the letter. Identify
the first reply that gives away too much. Replace that exchange with an
answer about the ferry that still lets Elin hear his reluctance. Do not
make him evasive in every line or change what the characters know.

이어 쓰기:

text
Before drafting the next scene, list the unresolved questions left here:
the sender, the cancelled sailing and Rowan's decision to leave. Suggest
one next beat that advances a question without answering all three.
Return the beat and the facts that must remain unchanged, not new prose.

채택한 수정본은 새로운 원문으로 보관하세요. 거부한 재작성이 어느새 다음 장의 이력이 되어서는 안 돼요.

모두 다시 보내지 않고 시리즈 이어 가기

다음 장면에서는 시스템 메시지에 목소리, 시점, 확정된 사실의 짧은 목록을 남겨요. 편지는 아직 봉인되어 있다, 마라는 취소를 알리지 않았다, 로언의 약속은 아직 미해결이다 같은 것들이에요. 여기에 있는 세 줄은 200,000 토큰 뒤에 묻힌 세 가지 사실보다 놓치기 어려워요. 사용자 메시지에는 직전 장면을 한 글자도 바꾸지 않고 넣으세요. 요약은 그때 중요해 보였던 것만 남기고, 나중에 중요해지는 줄은 대개 그게 아니기 때문이에요. 그 앞 장면은 끝부분의 행동이 중요할 때만 추가하세요.

과제가 원고 전체에 걸쳐 있을 때, 예를 들어 스무 장에 걸친 관계를 확인할 때는 원고 전체를 보내세요. 그렇지 않다면 비용이 보내지 않는 이유예요. 입력 100만 토큰당 $9일 때 요청당 비용은 다음과 같아요.

요청입력출력비용
장면 패킷과 직전 장면5,0003,000$0.18
시리즈 바이블과 최근 장들, 캐시 없음30,0003,000$0.405
같은 내용, 25,000 토큰을 캐시에서 읽음캐시 25,000 + 5,0003,000$0.2025
400,000 토큰 원고 전체, 캐시 없음400,0003,000$3.735

100만 토큰당 요금은 입력 $9, 캐시 입력 $0.90, 출력 $45, 캐시 쓰기 $11이며, Anthropic 정가보다 약 10% 낮아요. 추론은 출력으로 과금되므로, 청구액은 눈에 보이는 장면이 아니라 보고된 사용량으로 판단하세요. 캐시 읽기는 사용량에 표시될 때만 캐시 요금으로 청구돼요. 캐시를 쓰는 요청은 그 부분에 100만당 $11을 내므로, 반복해서 쓰는 바이블은 두 번째 요청부터 비용을 아끼고, 그것도 반복되는 앞부분이 바뀌지 않는 동안만이에요.

책 전체를 쓰기 전에 계획 단계와 본문 단계의 비용을 따로 계산하세요.

Fable 5와 더 저렴한 형제 모델 중 고르기

입력 5,000, 출력 3,000인 같은 장면에서 Fable 5는 $0.18, Claude Opus 5.5는 $0.072(입력 $3.60, 출력 $18), Claude Sonnet 5.5는 $0.04(입력 $2, 출력 $10)예요. 두 형제 모델 모두 무검열로 분류돼요. Fable 5는 창작 글쓰기 리더보드 스냅샷에서 407개 중 2위였어요. 앙상블 장면에서는 시점, 목소리, 연속성으로 초안을 평가하세요.

  • Fable 5를 고르세요. 지식과 목소리가 어려운 장면에 맞아요. 앙상블, 긴 이어 쓰기, 정보를 흘려서는 안 되는 가까운 시점, 이미 거의 되는 구절의 수정이 여기에 들어요.
  • Opus 5.5나 Sonnet 5.5를 고르세요. Fable 5가 거부하거나 수위를 낮출 성인 장면(Opus 가이드의 시스템 프롬프트 사용), 버릴 것으로 예상하는 첫 초안, 턴당 비용이 중요한 대량 작업에 맞아요.
  • 같은 패킷을 양쪽에서 실행하세요. 위의 요청을 Fable 5와 Opus 5.5에 모두 보내고, 세 가지 확인으로 각각 평가하세요. 새어 나간 지식이 없는지, 새 인물이 없는지, 마지막 질문이 답 없이 남았는지예요. 차이는 장면당 $0.11로, 짐작하는 것보다 저렴해요.

내 원고는 보관되나요?

여기서 쓰는 Chat Completions 인터페이스에서는 텍스트 답변이 스트리밍으로 전달되고, 나중에 다시 재생하려고 저장되지 않아요. 요청, 받은 본문, 스트림 로그는 로컬에 저장하세요. 작업과 과금 기록은 Logs에서 계속 확인할 수 있어요. 프롬프트 텍스트 보관은 데이터 보호에 있는 별도 설정으로, 기본값은 30일이고 기간을 설정할 수 있어요. 이 설정은 SpicyAPI의 보관을 제어해요. Anthropic은 별도로 서드파티 접근을 포함해 Fable 5 트래픽을 30일간 보관하도록 요구하므로, 플랫폼 쪽 기간을 줄여도 상위 제공자 쪽 기간은 줄지 않아요. 자세한 내용은 보관 문서를 참고하세요.

FAQ

Fable 5는 한 번의 요청으로 소설 한 편을 쓸 수 있나요?

출력 한도는 128,000 토큰이지만, 이것은 한도일 뿐 일관된 소설을 보장하는 것은 아니에요. 원고에는 위에서 설명한 장면 패킷과 최근 이어 쓰기를 쓰세요. 과제가 정말로 장을 가로지르는 관계를 필요로 할 때 책 전체를 보내세요.

장면이 끝나기 전에 스트림이 끊기면 어떻게 하나요?

부분 텍스트와 헤더를 보관하세요. length로 끝났다면 출력 예산에 도달했다는 뜻이고, 정상적인 완료 표시가 없다면 전송이 정상적으로 끝나지 않았다는 뜻이에요. 새 유료 요청을 보내기 전에 Logs에서 해당 작업의 확정된 과금을 확인하세요. 24시간 안에는 같은 키와 바뀌지 않은 본문을 재사용하면 두 번째로 수락되는 호출을 피할 수 있지만, 빠진 답변을 다시 재생할 수는 없어요.

Sonnet이나 Opus를 써 보기 전에 Fable에 돈을 내야 할까요?

버려도 되는 초안이나 대량 작업에는 더 저렴한 형제 모델을 쓰세요. 시점이나 목소리에 아직 손볼 곳이 있는 장면에 Fable을 아껴 두고, 개선을 평가할 수 있도록 같은 패킷을 쓰세요. 입력 5,000 토큰과 과금되는 출력 3,000 토큰에서 Opus 5.5와의 추가 비용은 요청당 약 $0.11이에요.

다른 언어 English · 日本語 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano · Polski

직접 해 보기

실행한 만큼만 결제하세요. 요금제도, 구독도 없습니다.

사용 모델: MiniMax H3 · ByteDance Seedance 2.0 Fast