Saltar al contenido principal
Explorar documentación
En esta página
Ver Markdown~1.4k tokensDescargar Markdown~1.4k tokens

Estimar

POST /estimate/{sourceFileExtension} calcula una cotización para un archivo y un JSON de opciones sin subir el archivo.

Buscar opciones válidas

Llama a GET /options/{format} antes de construir un JSON de opciones. Devuelve los ids de capacidades válidos, las selecciones predeterminadas y los valores de opción permitidos para ese formato de origen.

GET /options/mp4
X-Fast-Api-Key: YOUR_API_KEY
{
  "format": "mp4",
  "job": "extract.mp4",
  "defaults": {
    "selectedCapabilities": ["video.audio", "video.frames", "video.metadata", "video.subtitles"],
    "includeManifest": true,
    "capabilityOptions": {
      "video.audio": {
        "audioFormat": "mp3"
      },
      "video.frames": {
        "frameMode": "every-n-seconds",
        "frameIntervalSeconds": 1,
        "maxExtractedFrames": 500
      }
    }
  },
  "capabilities": [
    {
      "id": "video.audio",
      "output": "audio",
      "defaultSelected": true,
      "options": [
        {
          "id": "audioFormat",
          "type": "enum",
          "defaultValue": "mp3",
          "allowedValues": ["mp3", "wav", "m4a", "original", "best"]
        }
      ]
    },
    {
      "id": "media.transcript",
      "output": "transcript",
      "defaultSelected": false,
      "options": [
        {
          "id": "transcription.mode",
          "type": "enum",
          "required": true,
          "defaultValue": "fast",
          "allowedValues": ["fast", "quality", "meeting-intelligence"]
        }
      ]
    }
  ]
}

Usa capabilities[].id dentro de options.extraction.selectedCapabilities. Si una capacidad seleccionada tiene options[], coloca cada valor en options.extraction.capabilityOptions[capability.id][option.id].

Petición

POST /estimate/mp4
Content-Type: application/json
X-Fast-Api-Key: YOUR_API_KEY
{
  "fileSizeMb": 25,
  "durationMinutes": 3,
  "options": {
    "extraction": {
      "selectedCapabilities": ["video.audio", "video.metadata", "media.transcript"],
      "capabilityOptions": {
        "media.transcript": {
          "transcription.mode": "quality"
        }
      }
    }
  }
}

Parámetros de ruta

ParámetroObligatorioNotas
sourceFileExtensionExtensión de origen con o sin punto, como mp4, pdf, docx o zip.

Campos

CampoObligatorioNotas
fileSizeBytes o fileSizeMbSe usa para precios por crédito de archivo y para límites.
durationSeconds o durationMinutesSí para audio y videoEsos formatos se cobran por duración.
pageCount, slideCount, sheetCount, documentUnitCountSí para documentosEnvía la métrica que corresponda al tipo de origen: pageCount para PDF y Word, slideCount para PowerPoint, sheetCount para Excel.
frameCountSí para imágenes que se cobran por fotogramaSe aplica a avif, avifs, gif, ico, png, tif, tiff y webp, incluidos los archivos de un solo fotograma.
workflowNoextract de forma predeterminada; usa transcribe para estimaciones solo de transcripción.
modePara anular el modo solo-transcripciónfast, quality o meeting-intelligence.
optionsNoEl mismo objeto de opciones de extracción que acepta POST /extract.

Casi todos los formatos se cobran según la mayor de dos o más métricas: por ejemplo, una presentación de PowerPoint cuesta lo que resulte mayor entre 1 crédito por cada 5 MB y 1 crédito por cada 5 diapositivas. El endpoint calcula el precio únicamente con las métricas que envías, así que cuando falta alguna prefiere no responder antes que devolver la cifra parcial más baja. Lee la métrica del archivo antes de pedir la estimación: todos esos valores se obtienen en local, sin subir nada.

Respuesta

{
  "job": "extract.mp4",
  "category": "video",
  "quotedCredits": 16,
  "lineItems": [
    {
      "kind": "base",
      "credits": 1
    },
    {
      "kind": "capability",
      "capabilityId": "media.transcript",
      "credits": 15,
      "mode": "quality",
      "unit": "minute"
    }
  ]
}

Cotización de créditos

quotedCredits es el coste cotizado en créditos para el archivo y el JSON de opciones. lineItems desglosa esa cotización entre extracción base y complementos seleccionados con coste adicional.

Errores

EstadoCódigoSignificado
400estimate.unsupported_formatLa extensión de origen no es compatible.
400estimate.invalid_file_sizeFalta fileSizeBytes o fileSizeMb, o el valor es cero o negativo.
400estimate.duration_limit_exceededLa duración supera el límite de tu plan.
422estimate.exact_metrics_requiredNo se envió una métrica con la que se cobra este formato.

estimate.exact_metrics_required indica exactamente qué falta enviar:

{
  "error": "estimate.exact_metrics_required",
  "format": "pptx",
  "job": "extract.pptx",
  "params": {
    "format": "pptx",
    "job": "extract.pptx",
    "missingMetrics": ["documentUnits"],
    "documentUnitKind": "slides",
    "fields": ["slideCount", "documentUnitCount"]
  }
}

Envía cualquier campo de params.fields y vuelve a intentarlo. Una presentación de 647 KB con 9 diapositivas cuesta 2 créditos (ceil(9 / 5) supera a ceil(0,647 / 5)), así que cotizarla solo por tamaño mostraría 1 crédito y luego cobraría 2. El endpoint devuelve este error en lugar de una cifra que no podría sostener.

Copiado