• Mensagens
  • Agentes Gerenciados
  • Administração
Search...
⌘K
Primeiros passos
Introdução ao ClaudeInício rápido
Desenvolvendo com o Claude
Visão geral dos recursosUsando a API de MensagensMotivos de parada e fallbackRecusas e fallbackCrédito de fallback
Capacidades do modelo
Pensamento estendidoPensamento adaptativoEsforçoOrçamentos de tarefas (beta)Modo rápido (prévia de pesquisa)Saídas estruturadasCitaçõesStreaming de MensagensProcessamento em loteResultados de pesquisaStreaming de recusasSuporte multilíngueEmbeddings
Ferramentas
Visão geralComo funciona o uso de ferramentasTutorial: Crie um agente com uso de ferramentasDefinir ferramentasLidar com chamadas de ferramentasUso de ferramentas em paraleloTool Runner (SDK)Uso de ferramentas estritoUso de ferramentas com cache de promptFerramentas de servidorSolução de problemasFerramenta de pesquisa na webFerramenta de busca na webFerramenta de execução de códigoFerramenta de consultoriaFerramenta de memóriaFerramenta BashFerramenta de uso de computadorFerramenta de editor de texto
Infraestrutura de ferramentas
Referência de ferramentasGerenciar contexto de ferramentasCombinações de ferramentasPesquisa de ferramentasChamada programática de ferramentasStreaming granular de ferramentas
Gerenciamento de contexto
Janelas de contextoCompactaçãoEdição de contextoCache de promptMensagens de sistema no meio da conversaCriar um modo de orquestraçãoDiagnóstico de cache (beta)Contagem de tokens
Trabalhando com arquivos
API de ArquivosSuporte a PDFImagens e visão
Skills
Visão geralInício rápidoPráticas recomendadasSkills para empresasSkills na API
MCP
Servidores MCP remotosConector MCP
Claude em plataformas de nuvem
Amazon BedrockAmazon Bedrock (legado)Claude Platform na AWSMicrosoft FoundryVertex AI
Log in
Crédito de fallback
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Mensagens/Desenvolvendo com o Claude

Crédito de fallback

Evite pagar o custo de cache de prompt duas vezes ao repetir uma solicitação recusada do Claude Fable 5 em outro modelo.

Os caches de prompt são específicos por modelo. Quando o Claude Fable 5 recusa uma solicitação e você a repete em outro modelo, o prefixo da conversa que já estava em cache para o Claude Fable 5 precisa ser gravado no cache do novo modelo do zero, e gravações de cache custam mais do que leituras de cache. O crédito de fallback elimina esse custo extra: a recusa carrega um token de crédito, você ecoa o token na nova tentativa, e a nova tentativa é cobrada como se a conversa tivesse estado no novo modelo desde o início.

Você só precisa desta página quando constrói a nova tentativa por conta própria: no SDK de Ruby ou PHP, via HTTP puro, ou com lógica de retry personalizada. O fallback do lado do servidor e o middleware do SDK aplicam o crédito de fallback automaticamente. Se você usa qualquer um deles, pule esta página.

Recusas e fallback aborda como detectar recusas e escolher uma abordagem de fallback. Cache de prompt explica leituras de cache e gravações de cache, caso esses termos sejam novos para você.

O fluxo básico

  1. 1

    Ative com o cabeçalho beta

    Envie a solicitação que pode ser recusada com o cabeçalho anthropic-beta: fallback-credit-2026-06-01. O cabeçalho server-side-fallback-2026-06-01 também concede os mesmos campos.

  2. 2

    Leia dois campos da recusa

    Em uma recusa, stop_details inclui fallback_credit_token, uma string opaca que representa o crédito, e fallback_has_prefill_claim, um booleano que indica qual formato de corpo de retry usar. Ambos são null quando nenhum crédito está disponível para a recusa.

  3. 3

    Construa a nova tentativa

    Comece a partir do corpo da solicitação recusada. Defina model como o modelo de fallback e adicione o token como o parâmetro de nível superior fallback_credit_token. Escolha o formato do corpo na tabela abaixo.

  4. 4

    Envie a nova tentativa com o mesmo cabeçalho

    Envie a nova tentativa com o mesmo cabeçalho beta fallback-credit-2026-06-01. A nova tentativa precisa do cabeçalho para resgatar o token.

O campo fallback_has_prefill_claim indica se a nova tentativa pode continuar a saída parcial do modelo recusado em vez de começar do zero:

fallback_has_prefill_claimCorpo da nova tentativa
trueO corpo da solicitação recusada, inalterado, mais uma mensagem de assistente anexada cujo content ecoa o content da resposta recusada. O modelo da nova tentativa continua a resposta de onde o modelo recusado parou, e chamadas de ferramentas de servidor já concluídas não são reexecutadas.
falseO corpo da solicitação recusada, inalterado.

Exemplo

O exemplo abaixo faz uma solicitação que pode ser recusada, resgata o token de crédito em uma nova tentativa contra o Claude Opus 4.8 e degrada através da escada de rejeição abordada em Quando uma nova tentativa é rejeitada.

client = Anthropic()

request = {
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Claude"}],
}


def send(model, body):
    return client.beta.messages.create(
        model=model, betas=["fallback-credit-2026-06-01"], **body
    )


response = send("claude-fable-5", request)

if (
    response.stop_reason == "refusal"
    and (details := response.stop_details)
    and (token := details.fallback_credit_token)
):
    exact_body = request | {"fallback_credit_token": token}
    # Prefira o formato de continuação, a menos que a afirmação seja False
    if details.fallback_has_prefill_claim is not False:
        # Ecoe o conteúdo da recusa, removendo espaços em branco finais de um
        # bloco de texto final (o validador de prefill o rejeita; a correspondência
        # do lado do servidor tolera a edição). Requisições com uso de ferramentas também
        # omitem blocos tool_use não pareados e removem espaços novamente após omissões.
        echoed = [block.model_dump() for block in response.content]
        match echoed:
            case [*_, {"type": "text"} as final_block]:
                final_block["text"] = final_block["text"].rstrip()
        attempt = exact_body | {
            "messages": [
                *request["messages"],
                {"role": "assistant", "content": echoed},
            ]
        }
    else:
        attempt = exact_body

    try:
        response = send("claude-opus-4-8", attempt)
    except BadRequestError as error:
        if "redemption temporarily unavailable" in str(error):
            raise  # Transient: retry with the token within its five-minute window
        try:
            # Recorra ao corpo inalterado, ainda com o token
            response = send("claude-opus-4-8", exact_body)
        except BadRequestError as error:
            if "redemption temporarily unavailable" in str(error):
                raise  # Transient: retry with the token within its five-minute window
            # O próprio token foi rejeitado: descarte-o e tente novamente sem ele.
            response = send("claude-opus-4-8", request)

print(json.dumps({"stop_reason": response.stop_reason, "model": response.model}))

Onde funciona

O crédito de fallback está em beta na Claude API, Claude Platform on AWS, Amazon Bedrock, Vertex AI e Microsoft Foundry. Tokens de crédito retornados em resultados de Message Batches não podem ser resgatados; o resgate se aplica apenas a solicitações diretas da Messages API.

O modelo da nova tentativa deve ser um dos alvos de fallback permitidos do modelo recusado. No lançamento, o alvo permitido do Claude Fable 5 é o Claude Opus 4.8 (claude-opus-4-8).

Verificando se o crédito foi aplicado

O reembolso é visível no usage da nova tentativa: cache_creation_input_tokens é menor, e cache_read_input_tokens é maior na mesma quantidade, do que a mesma solicitação reportaria sem o token. Uma diferença de zero significa que o token foi honrado, mas não havia nada para reprecificar, por exemplo porque o cache do modelo da nova tentativa já estava aquecido.

Quando uma nova tentativa é rejeitada

A maioria das novas tentativas resgata na primeira tentativa. Quando uma não resgata, a API retorna um erro 400 que indica o que tentar em seguida.

  1. 1

    Continuação rejeitada: reenvie o corpo inalterado

    Se a nova tentativa que anexa a mensagem de assistente for rejeitada com um erro 400, reenvie o corpo da solicitação recusada inalterado, ainda com o token.

  2. 2

    Token rejeitado: descarte o token

    Se o corpo inalterado também for rejeitado com um erro 400 cuja mensagem menciona fallback_credit_token, tente novamente sem o token. O crédito é perdido, mas a nova tentativa em si é processada.

Se a solicitação recusada executou ferramentas de servidor, uma nova tentativa sem token reexecuta e cobra novamente essas ferramentas. Nesse caso, exponha o erro 400 ao seu chamador em vez de prosseguir para uma nova tentativa sem token.

Referência

As seções abaixo cobrem casos extremos e as regras completas de resgate. A maioria das integrações não precisa delas.

Próximos passos

Recusas e fallback

Detecte recusas e escolha entre fallback do lado do servidor, o middleware do SDK e uma nova tentativa manual.

Cache de prompt

Como leituras de cache e gravações de cache são cobradas.

Stop reasons e fallback

Todos os valores de stop_reason e como lidar com eles.

Middleware do SDK

O helper do SDK que aplica o crédito de fallback automaticamente.

Was this page helpful?

  • O fluxo básico
  • Exemplo
  • Onde funciona
  • Verificando se o crédito foi aplicado
  • Quando uma nova tentativa é rejeitada
  • Referência
  • Próximos passos