> ## Documentation Index
> Fetch the complete documentation index at: https://student-213fb9fc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape

<div id="browser-actions">
  ## Acciones del navegador
</div>

Puedes realizar interacciones en el navegador antes de hacer scraping usando el parámetro `actions`. Esto te permite:

* Esperar a que se carguen elementos
* Hacer clic en botones o enlaces
* Rellenar campos de formularios
* Pulsar teclas
* Desplazar páginas (scroll)
* Tomar capturas de pantalla
* Ejecutar JavaScript personalizado
* Generar archivos PDF

Las acciones admitidas incluyen `wait`, `click`, `write`, `press`, `scroll`, `screenshot`, `scrape`, `executeJavascript` y `pdf`. Para ver la documentación detallada con ejemplos, consulta la [Guía avanzada de scraping](https://docs.firecrawl.dev/advanced-scraping-guide#actions-actions).


## OpenAPI

````yaml es/api-reference/v2-openapi.json post /scrape
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v2
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: >-
        Extraer datos de una sola URL y, opcionalmente, extraer información con
        un LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    url:
                      type: string
                      format: uri
                      description: La URL que se va a scrapear
                  required:
                    - url
                - $ref: '#/components/schemas/ScrapeOptions'
                - type: object
                  properties:
                    zeroDataRetention:
                      type: boolean
                      default: false
                      description: >-
                        Si se establece en true, se habilitará la no retención
                        de datos para este scraping. Para activar esta función,
                        ponte en contacto con help@firecrawl.dev
      responses:
        '200':
          description: Respuesta satisfactoria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
        '402':
          description: Se requiere pago
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
        '429':
          description: Demasiadas solicitudes
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
        '500':
          description: Error del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  code:
                    type: string
                    example: UNKNOWN_ERROR
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      type: object
      properties:
        formats:
          $ref: '#/components/schemas/Formats'
        onlyMainContent:
          type: boolean
          description: >-
            Devuelve solo el contenido principal de la página, sin incluir
            encabezados, navegación, pies de página, etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se incluirán en la salida.
        excludeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se excluirán de la salida.
        maxAge:
          type: integer
          description: >-
            Devuelve una versión en caché de la página si su antigüedad es menor
            que este valor en milisegundos. Si la versión en caché de la página
            es más antigua que este valor, se hará scraping de la página. Si no
            necesitas datos extremadamente recientes, habilitar esto puede
            acelerar tus procesos de scraping hasta un 500 %. El valor
            predeterminado es de 2 días.
          default: 172800000
        headers:
          type: object
          description: >-
            Encabezados que se enviarán en la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
        waitFor:
          type: integer
          description: >-
            Especifica un tiempo de espera en milisegundos antes de obtener el
            contenido, dando a la página tiempo suficiente para cargarse. Este
            tiempo de espera es adicional a la función de espera inteligente de
            Firecrawl.
          default: 0
        mobile:
          type: boolean
          description: >-
            Defínelo en true si quieres emular el scraping desde un dispositivo
            móvil. Útil para probar páginas responsive y tomar capturas de
            pantalla móviles.
          default: false
        skipTlsVerification:
          type: boolean
          description: Omitir la verificación de certificados TLS al realizar solicitudes.
          default: true
        timeout:
          type: integer
          description: >-
            Tiempo de espera (timeout) de la solicitud, en milisegundos. El
            valor predeterminado es 30000 (30 segundos) y el máximo es 300000
            (300 segundos).
          default: 30000
          maximum: 300000
        parsers:
          type: array
          description: >-
            Controla cómo se procesan los archivos durante el scraping. Cuando
            se incluye "pdf" (valor predeterminado), se extrae el contenido del
            PDF y se convierte a formato Markdown, con la facturación basada en
            el número de páginas (1 crédito por página). Cuando se pasa un array
            vacío, el archivo PDF se devuelve codificado en base64 con una
            tarifa fija de 1 crédito por todo el PDF.
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                  mode:
                    type: string
                    enum:
                      - fast
                      - auto
                      - ocr
                    default: auto
                    description: >-
                      Modo de procesamiento de PDF. "fast": solo extracción de
                      texto (usa el texto incrustado; es la opción más rápida).
                      "auto" (predeterminado): primero intenta la extracción
                      rápida y, si es necesario, recurre a OCR. "ocr": fuerza el
                      procesamiento con OCR en todas las páginas.
                  maxPages:
                    type: integer
                    minimum: 1
                    maximum: 10000
                    description: >-
                      Número máximo de páginas del PDF que se pueden analizar.
                      Debe ser un número entero positivo de hasta 10 000.
                required:
                  - type
                additionalProperties: false
          default:
            - pdf
        actions:
          type: array
          description: >-
            Acciones que se realizarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - title: Wait
                oneOf:
                  - type: object
                    title: Wait by Duration
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar una cantidad determinada de milisegundos
                      milliseconds:
                        type: integer
                        minimum: 1
                        description: Número de milisegundos que se va a esperar
                    required:
                      - type
                      - milliseconds
                    additionalProperties: false
                  - type: object
                    title: Wait for Element
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar a que aparezca un elemento específico
                      selector:
                        type: string
                        description: Selector CSS del elemento al que se debe esperar
                        example: '#my-element'
                    required:
                      - type
                      - selector
                    additionalProperties: false
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Realiza una captura de pantalla. Los enlaces estarán en la
                      matriz `actions.screenshots` de la respuesta.
                  fullPage:
                    type: boolean
                    description: >-
                      Determina si se debe tomar una captura de pantalla de
                      página completa (omitiendo viewport.height) o limitarla al
                      viewport actual.
                    default: false
                  quality:
                    type: integer
                    description: >-
                      La calidad de la captura de pantalla, de 1 a 100. 100 es
                      la máxima calidad.
                  viewport:
                    type: object
                    properties:
                      width:
                        type: integer
                        description: El ancho del viewport en píxeles
                      height:
                        type: integer
                        description: Altura del viewport en píxeles
                    required:
                      - width
                      - height
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Haz clic en un elemento
                  selector:
                    type: string
                    description: Selector de consulta para localizar el elemento mediante
                    example: '#load-more-button'
                  all:
                    type: boolean
                    description: >-
                      Hace clic en todos los elementos que coinciden con el
                      selector, no solo en el primero. No genera un error si
                      ningún elemento coincide con el selector.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    description: >-
                      Escribe texto en un campo de texto, área de texto o
                      elemento contenteditable. Nota: primero debes enfocar el
                      elemento usando una acción de “hacer clic” antes de
                      escribir. El texto se escribirá carácter por carácter para
                      simular la entrada por teclado.
                  text:
                    type: string
                    description: Texto a teclear
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Pulsa una tecla en la página. Consulta
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para obtener los códigos de teclas.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pulsa una tecla en la página
                  key:
                    type: string
                    description: Tecla que hay que pulsar
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Desplazar la página o un elemento concreto
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Sentido de desplazamiento
                    default: down
                  selector:
                    type: string
                    description: Selector del elemento al que se hará scroll
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: >-
                      Extrae el contenido de la página actual y devuelve la URL
                      y el HTML.
                required:
                  - type
              - type: object
                title: Execute JavaScript
                properties:
                  type:
                    type: string
                    enum:
                      - executeJavascript
                    description: Ejecutar código JavaScript en la página
                  script:
                    type: string
                    description: Código JavaScript a ejecutar
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Genera un PDF de la página actual. El PDF se devolverá en
                      el array `actions.pdfs` de la respuesta.
                  format:
                    type: string
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    description: El tamaño de la página del PDF resultante
                    default: Letter
                  landscape:
                    type: boolean
                    description: Indica si se debe generar el PDF en orientación horizontal
                    default: false
                  scale:
                    type: number
                    description: El factor de escala del PDF resultante
                    default: 1
                required:
                  - type
        location:
          type: object
          description: >-
            Configuración de ubicación para la solicitud. Cuando se especifica,
            se utilizará un proxy adecuado si está disponible y se emularán la
            configuración de idioma y la zona horaria correspondientes. De
            manera predeterminada será "US" si no se especifica.
          properties:
            country:
              type: string
              description: >-
                Código de país alfa-2 según ISO 3166-1 (p. ej., 'US', 'AU',
                'DE', 'JP')
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              description: >-
                Idiomas y configuraciones regionales preferidos para la
                solicitud, en orden de prioridad. De forma predeterminada, se
                utiliza el idioma de la ubicación especificada. Consulta
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                type: string
                example: en-US
        removeBase64Images:
          type: boolean
          description: >-
            Elimina todas las imágenes codificadas en base64 de la salida, que
            pueden ser excesivamente largas. El texto alternativo (alt) de la
            imagen se mantiene en la salida, pero la URL se reemplaza por un
            marcador de posición.
          default: true
        blockAds:
          type: boolean
          description: Habilita el bloqueo de anuncios y de ventanas emergentes de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          description: |-
            Especifica el tipo de proxy que se usará.

             - **basic**: Proxies para hacer scraping de sitios con poca o ninguna protección antibots. Son rápidos y suelen funcionar bien.
             - **enhanced**: Proxies avanzados para hacer scraping de sitios con soluciones antibots más sofisticadas. Son más lentos, pero más fiables en ciertos sitios. Pueden costar hasta 5 créditos por solicitud.
             - **auto**: Firecrawl reintentará automáticamente el scraping con proxies mejorados si el proxy básico falla. Si el reintento con **enhanced** tiene éxito, se cobrarán 5 créditos por el scraping. Si el primer intento con **basic** tiene éxito, solo se cobrará el coste normal.
          default: auto
        storeInCache:
          type: boolean
          description: >-
            Si es true, la página se almacenará en el índice y la caché de
            Firecrawl. Establecerlo en false es útil si tu actividad de scraping
            puede plantear problemas relacionados con la protección de datos. El
            uso de algunos parámetros asociados con scraping de datos sensibles
            (por ejemplo, acciones, headers) hará que este parámetro sea false.
          default: true
    ScrapeResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            markdown:
              type: string
            summary:
              type: string
              nullable: true
              description: Resumen de la página si `summary` se incluye en `formats`
            html:
              type: string
              nullable: true
              description: >-
                HTML limpio de la página si `html` está incluido en `formatos`.
                Elimina las etiquetas `<script>`, `<style>`, `<noscript>`,
                `<meta>` y `<head>`; convierte las URL relativas en absolutas;
                resuelve el `srcset` de imágenes responsive a la variante de
                mayor tamaño. Respeta los filtros `onlyMainContent`,
                `includeTags` y `excludeTags`.
            rawHtml:
              type: string
              nullable: true
              description: >-
                El HTML exacto, sin modificar, tal como se recibe de la página
                si `rawHtml` está incluido en `formatos`. No se aplica ningún
                tipo de limpieza ni filtrado.
            screenshot:
              type: string
              nullable: true
              description: >-
                Captura de pantalla de la página si `screenshot` está incluido
                en `formats`. Las capturas de pantalla caducan después de 24
                horas y ya no podrán descargarse.
            links:
              type: array
              items:
                type: string
              description: >-
                Lista de enlaces de la página si `links` está incluido en
                `formats`
            actions:
              type: object
              nullable: true
              description: >-
                Resultados de las acciones especificadas en el parámetro
                `actions`. Solo aparece si se proporcionó el parámetro `actions`
                en la solicitud
              properties:
                screenshots:
                  type: array
                  description: >-
                    URLs de las capturas de pantalla, en el mismo orden que las
                    acciones de captura de pantalla indicadas.
                  items:
                    type: string
                    format: url
                scrapes:
                  type: array
                  description: >-
                    Extrae el contenido en el mismo orden que las acciones de
                    scraping proporcionadas.
                  items:
                    type: object
                    properties:
                      url:
                        type: string
                      html:
                        type: string
                javascriptReturns:
                  type: array
                  description: >-
                    Valores de retorno de JavaScript, en el mismo orden que las
                    acciones de executeJavascript proporcionadas.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                      value: {}
                pdfs:
                  type: array
                  description: >-
                    Archivos PDF generados en el mismo orden que las acciones de
                    PDF proporcionadas.
                  items:
                    type: string
            metadata:
              type: object
              properties:
                title:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Título extraído de la página, puede ser una cadena de texto
                    o un array de cadenas de texto
                description:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Descripción extraída de la página, puede ser una cadena de
                    texto o un array de cadenas
                language:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  nullable: true
                  description: >-
                    Idioma extraído de la página; puede ser una cadena de texto
                    o un array de cadenas de texto
                sourceURL:
                  type: string
                  format: uri
                  description: >-
                    La URL original solicitada. Puede diferir de la URL final de
                    la página si hubo redirecciones.
                url:
                  type: string
                  format: uri
                  description: >-
                    La URL final de la página después de seguir todas las
                    redirecciones.
                keywords:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Palabras clave extraídas de la página; puede ser una cadena
                    o un array de cadenas
                ogLocaleAlternate:
                  type: array
                  items:
                    type: string
                  description: Locales alternativos de la página
                '<any other metadata> ':
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Otros metadatos extraídos del HTML, pueden ser una cadena o
                    un array de cadenas
                statusCode:
                  type: integer
                  description: El código de estado de la página
                error:
                  type: string
                  nullable: true
                  description: El mensaje de error de la página
            warning:
              type: string
              nullable: true
              description: >-
                Puede mostrarse al usar LLM Extraction. El mensaje de
                advertencia te informará de cualquier problema con la
                extracción.
            changeTracking:
              type: object
              nullable: true
              description: >-
                Información de seguimiento de cambios cuando `changeTracking`
                está en `formats`. Solo está presente cuando se solicita el
                formato `changeTracking`.
              properties:
                previousScrapeAt:
                  type: string
                  format: date-time
                  nullable: true
                  description: >-
                    La marca de tiempo del rastreo anterior con la que se
                    compara la página actual. Es null si no existe un rastreo
                    anterior.
                changeStatus:
                  type: string
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  description: >-
                    El resultado de la comparación entre las dos versiones de la
                    página. "new" indica que esta página no existía antes,
                    "same" indica que el contenido no ha cambiado, "changed"
                    indica que el contenido ha cambiado y "removed" indica que
                    la página fue eliminada.
                visibility:
                  type: string
                  enum:
                    - visible
                    - hidden
                  description: >-
                    La visibilidad de la página o URL actual. "visible"
                    significa que la URL se descubrió por una ruta orgánica
                    (enlaces o sitemap), y "hidden" significa que la URL se
                    descubrió a partir de la memoria de rastreos anteriores.
                diff:
                  type: string
                  nullable: true
                  description: >-
                    Diff de los cambios al estilo Git cuando se usa el modo
                    `git-diff`. Solo está presente cuando el modo está
                    configurado en `git-diff`.
                json:
                  type: object
                  nullable: true
                  description: >-
                    Resultados de comparación en JSON cuando se usa el modo
                    `json`. Solo aparece cuando el modo está configurado en
                    `json`. Genera una lista de todas las claves y sus valores
                    de los scrapes `previous` y `current`, según el tipo
                    definido en el `schema`. Ejemplo
                    [aquí](/features/change-tracking)
            branding:
              type: object
              nullable: true
              description: >-
                Información de marca extraída de la página si `branding` está
                incluido en `formatos`. Incluye colores, fuentes, tipografía,
                espaciado, componentes y más.
              properties:
                colorScheme:
                  type: string
                  enum:
                    - light
                    - dark
                  description: Paleta de colores detectada de la página.
                logo:
                  type: string
                  nullable: true
                  description: URL del logotipo principal.
                colors:
                  type: object
                  nullable: true
                  description: Colores de la marca extraídos de la página.
                  properties:
                    primary:
                      type: string
                      description: Color principal de la marca (hex).
                    secondary:
                      type: string
                      description: Color secundario de la marca (hex).
                    accent:
                      type: string
                      description: Color de acento (hex).
                    background:
                      type: string
                      description: Color de fondo (hex).
                    textPrimary:
                      type: string
                      description: Color principal del texto (hex).
                    textSecondary:
                      type: string
                      description: Color secundario del texto (hex).
                    link:
                      type: string
                      description: Color de los enlaces (hex).
                    success:
                      type: string
                      description: Color de éxito/positivo (hexadecimal).
                    warning:
                      type: string
                      description: Color de advertencia (hexadecimal).
                    error:
                      type: string
                      description: Color de error/peligro (hexadecimal).
                fonts:
                  type: array
                  nullable: true
                  description: Lista de familias tipográficas usadas en la página.
                  items:
                    type: object
                    properties:
                      family:
                        type: string
                        description: Nombre de la familia tipográfica.
                typography:
                  type: object
                  nullable: true
                  description: Información detallada sobre tipografía.
                  properties:
                    fontFamilies:
                      type: object
                      description: Familias tipográficas según su función.
                      properties:
                        primary:
                          type: string
                          description: Familia tipográfica principal.
                        heading:
                          type: string
                          description: Familia tipográfica para encabezados.
                        code:
                          type: string
                          description: Familia tipográfica para código (monoespaciada).
                    fontSizes:
                      type: object
                      description: Tamaños de fuente para diferentes jerarquías de texto.
                      properties:
                        h1:
                          type: string
                        h2:
                          type: string
                        h3:
                          type: string
                        body:
                          type: string
                    fontWeights:
                      type: object
                      description: Definiciones de pesos de fuente.
                      properties:
                        light:
                          type: integer
                        regular:
                          type: integer
                        medium:
                          type: integer
                        bold:
                          type: integer
                    lineHeights:
                      type: object
                      description: >-
                        Valores de altura de línea para diferentes tipos de
                        texto.
                      properties:
                        heading:
                          type: string
                        body:
                          type: string
                spacing:
                  type: object
                  nullable: true
                  description: Información de espaciado y maquetación.
                  properties:
                    baseUnit:
                      type: integer
                      description: Unidad base de espaciado en píxeles.
                    borderRadius:
                      type: string
                      description: Radio de borde por defecto.
                    padding:
                      type: object
                      description: Valores de espaciado interno (padding).
                    margins:
                      type: object
                      description: Valores de margen.
                components:
                  type: object
                  nullable: true
                  description: Estilos de componentes de la interfaz de usuario.
                  properties:
                    buttonPrimary:
                      type: object
                      description: Estilos del botón principal.
                      properties:
                        background:
                          type: string
                        textColor:
                          type: string
                        borderRadius:
                          type: string
                    buttonSecondary:
                      type: object
                      description: Estilos de botones secundarios.
                      properties:
                        background:
                          type: string
                        textColor:
                          type: string
                        borderColor:
                          type: string
                        borderRadius:
                          type: string
                    input:
                      type: object
                      description: Estilos de campos de entrada.
                icons:
                  type: object
                  nullable: true
                  description: Estilos de íconos.
                images:
                  type: object
                  nullable: true
                  description: Imágenes de la marca.
                  properties:
                    logo:
                      type: string
                      description: URL de la imagen del logotipo.
                    favicon:
                      type: string
                      description: URL del favicon.
                    ogImage:
                      type: string
                      description: URL de la imagen de Open Graph.
                animations:
                  type: object
                  nullable: true
                  description: Configuración de animaciones y transiciones.
                layout:
                  type: object
                  nullable: true
                  description: >-
                    Configuración de diseño de la página (rejilla, alturas de
                    encabezado y pie de página).
                personality:
                  type: object
                  nullable: true
                  description: >-
                    Atributos de personalidad de la marca (tono, energía,
                    público objetivo).
    Formats:
      type: array
      items:
        oneOf:
          - type: object
            title: Markdown
            properties:
              type:
                type: string
                enum:
                  - markdown
            required:
              - type
          - type: object
            title: Summary
            properties:
              type:
                type: string
                enum:
                  - summary
            required:
              - type
          - type: object
            title: HTML
            properties:
              type:
                type: string
                enum:
                  - html
            required:
              - type
          - type: object
            title: Raw HTML
            properties:
              type:
                type: string
                enum:
                  - rawHtml
            required:
              - type
          - type: object
            title: Links
            properties:
              type:
                type: string
                enum:
                  - links
            required:
              - type
          - type: object
            title: Images
            properties:
              type:
                type: string
                enum:
                  - images
            required:
              - type
          - type: object
            title: Screenshot
            properties:
              type:
                type: string
                enum:
                  - screenshot
              fullPage:
                type: boolean
                description: >-
                  Determina si se debe tomar una captura de pantalla de página
                  completa (omitiendo viewport.height) o limitarla al viewport
                  actual.
                default: false
              quality:
                type: integer
                description: >-
                  La calidad de la captura de pantalla, del 1 al 100. 100 es la
                  calidad más alta.
              viewport:
                type: object
                properties:
                  width:
                    type: integer
                    description: El ancho del viewport en píxeles
                  height:
                    type: integer
                    description: Altura del viewport en píxeles
                required:
                  - width
                  - height
            required:
              - type
          - type: object
            title: JSON
            properties:
              type:
                type: string
                enum:
                  - json
              schema:
                type: object
                description: >-
                  El esquema que se utilizará para la salida en formato JSON.
                  Debe ajustarse a [JSON Schema](https://json-schema.org/).
              prompt:
                type: string
                description: El prompt que se utilizará para la salida en formato JSON
            required:
              - type
          - type: object
            title: Change Tracking
            properties:
              type:
                type: string
                enum:
                  - changeTracking
              modes:
                type: array
                items:
                  type: string
                  enum:
                    - git-diff
                    - json
                description: >-
                  El modo que se usará para el seguimiento de cambios.
                  'git-diff' proporciona un diff detallado y 'json' compara los
                  datos JSON extraídos.
              schema:
                type: object
                description: >-
                  Esquema JSON para la extracción cuando se usa el modo `json`.
                  Define la estructura de los datos que se van a extraer y
                  comparar. Debe ajustarse a [JSON
                  Schema](https://json-schema.org/).
              prompt:
                type: string
                description: >-
                  Prompt que se usará para el seguimiento de cambios cuando se
                  utilice el modo `json`. Si no se proporciona, se usará el
                  prompt predeterminado.
              tag:
                type: string
                nullable: true
                default: null
                description: >-
                  Etiqueta que se utilizará para el seguimiento de cambios. Las
                  etiquetas pueden separar el historial de seguimiento de
                  cambios en “ramas” independientes, donde el seguimiento de
                  cambios con una etiqueta específica solo se comparará con
                  extracciones realizadas con la misma etiqueta. Si no se
                  proporciona, se usará la etiqueta predeterminada (null).
            required:
              - type
          - type: object
            title: Branding
            properties:
              type:
                type: string
                enum:
                  - branding
            required:
              - type
      description: >-
        Formatos de salida que se incluirán en la respuesta. Puedes especificar
        uno o varios formatos, ya sea como cadenas (p. ej., `'markdown'`) o como
        objetos con opciones adicionales (p. ej., `{ type: 'json', schema: {...}
        }`). Algunos formatos requieren configurar opciones específicas.
        Ejemplo: `['markdown', { type: 'json', schema: {...} }]`.
      default:
        - markdown
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````