SmartCut - Casos de uso
Receitas prontas para usar SmartCut com texto, asset, URL e modos com ou sem IA
Esta página traz exemplos prontos para os cenários mais comuns do SmartCut.
Todos os exemplos usam o endpoint POST /api/externalAPIs/public/smartCut/lineSplit.
Base de requisição
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{ ... }'
1) Texto direto com IA
Use quando você já possui o texto e quer manter somente partes relevantes.
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"hostId": "1754b7e6-dbd7-4ca3-a843-7f06fad4e4c0",
"text": "Introducao do atendimento. Cliente quer migrar plano. Trecho irrelevante. Cliente cita prazo e orcamento.",
"method": "sentence-parse",
"options": {
"useAI": true,
"generalInstructions": "Mantenha somente frases sobre necessidade, prazo, orcamento ou servico.",
"model": "gpt-4o-mini",
"provider": "openai"
}
}'
2) Asset existente (asset_id)
Use quando a mídia já foi processada no ecossistema e você quer reaproveitar o conteúdo.
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"hostId": "1754b7e6-dbd7-4ca3-a843-7f06fad4e4c0",
"asset_id": "550e8400-e29b-41d4-a716-446655440000",
"method": "semantic-chunking",
"options": {
"useAI": true,
"generalInstructions": "Selecione trechos com fatos, requisitos e restricoes importantes.",
"maxTokenSize": 512
}
}'
3) URL com prefer_summary
Use para acelerar o fluxo quando existe resumo curto suficiente, evitando processamento completo quando possivel.
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"hostId": "1754b7e6-dbd7-4ca3-a843-7f06fad4e4c0",
"url": "https://example.com/video.mp4",
"method": "default",
"options": {
"urlStrategy": "prefer_summary",
"useAI": true,
"generalInstructions": "Retorne os trechos mais uteis para responder perguntas de produto.",
"roiGate": {
"maxContextChars": 8000
}
}
}'
4) Split sem IA (useAI=false)
Use quando você quer apenas particionar texto com custo minimo e controle total no cliente.
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"hostId": "1754b7e6-dbd7-4ca3-a843-7f06fad4e4c0",
"text": "Bloco A. Bloco B. Bloco C.",
"method": "chonkiejs",
"options": {
"useAI": false,
"chunkSize": 512,
"minCharactersPerChunk": 24
}
}'
5) ROI Gate com economia mínima
Use quando quiser garantir que o SmartCut só rode se valer a pena: defina um percentual mínimo de redução e o modelo alvo para o cálculo de viabilidade.
curl -X POST "{{BASE_URL}}/api/externalAPIs/public/smartCut/lineSplit" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"hostId": "1754b7e6-dbd7-4ca3-a843-7f06fad4e4c0",
"text": "Trecho longo de atendimento com muitos trechos irrelevantes...",
"options": {
"useAI": true,
"generalInstructions": "Mantenha apenas trechos com decisoes, pedidos e problemas relatados.",
"roiGate": {
"minimumSavingsRatio": 0.40,
"targetModel": "gpt-4o",
"targetProvider": "openai"
}
}
}'
Quando o gate reprovar, a resposta inclui:
{
"data": {
"success": true,
"lines": ["Trecho longo de atendimento com muitos trechos irrelevantes..."],
"skippedByRoiGate": true,
"roiGateReason": "Economia estimada (32%) abaixo do objetivo mínimo (40%); SmartCut ignorado",
"roiGateEstimates": {
"chars": 2100,
"tokensEst": 525,
"retentionRatio": 0.68,
"roi": 0.12,
"costViability": false
}
}
}
Respostas para tratar no cliente
Nos quatro cenarios, trate estes campos primeiro:
data.successdata.linesdata.allLinesdata.intervals(quandouseAI=true)data.error
Quando o ROI Gate decidir nao executar reducao, a resposta pode incluir:
data.skippedByRoiGate: truedata.roiGateReasondata.roiGateEstimates.chars— caracteres avaliadosdata.roiGateEstimates.tokensEst— tokens estimadosdata.roiGateEstimates.retentionRatio— fração prevista de retenção (0–1)data.roiGateEstimates.roi— estimativa de retorno sobre investimentodata.roiGateEstimates.costViability— viabilidade de custo frente ao modelo alvo
Quando intentModel e intentProvider forem informados, a resposta inclui:
data.savingsReport.savedTokens— tokens economizadosdata.savingsReport.savingsPct— percentual de reducaodata.savingsReport.savedCostUsd— economia estimada em USDdata.savingsReport.pricingMissing—truequando o modelo nao tem pricing cadastrado
Boas praticas
- Envie somente uma fonte por requisicao:
text,asset_id/assetIdouurl - Defina
generalInstructionsobjetivas quando usar IA - Comece com
sentence-parsepara texto humano e migre parasemantic-chunkingem RAG - Use
useAI=falsepara pipelines de pre-processamento sem selecao semantica - Use
roiGate.minimumSavingsRatiopara proteger pipelines sensíveis a custo; comece com0.35e ajuste com base nos relatórios deroiGateEstimates - Use
roiGate.skip: trueapenas em ambientes de teste ou quando o controle de viabilidade for feito externamente
Para referencia completa de parametros e campos da resposta, veja a pagina principal de SmartCut.