For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal

Procedencia del contenido

Busca señales de procedencia del contenido en imágenes y audio.

Usa la API de procedencia del contenido para comprobar si un archivo de imagen o audio contiene señales de procedencia de OpenAI compatibles. Envía un archivo a POST /v1/content_provenance_checks para recibir los resultados completos de la verificación en la misma respuesta. Usa estas señales en flujos de trabajo de revisión de contenido, verificación de hechos, etiquetado, y confianza y seguridad.

Para verificar un archivo en tu navegador, usa la herramienta web en openai.com/verify.

Para conocer los parámetros de las solicitudes y los esquemas de las respuestas, consulta la referencia de la API de procedencia del contenido.

Un resultado not_detected significa que la herramienta no encontró señales compatibles en el archivo cargado. Aun así, el contenido podría haberse generado con OpenAI si sus metadatos se eliminaron o muestran indicios de manipulación, si su marca de agua se degradó, si proviene de un modelo de generación antiguo o si se creó antes de que las señales de procedencia estuvieran disponibles. Actualmente, la herramienta no detecta contenido generado por modelos de IA de otras empresas, por lo que un resultado not_detected tampoco descarta esa posibilidad.

Qué verifica la herramienta de procedencia del contenido

La herramienta de procedencia del contenido busca las siguientes señales en los archivos compatibles:

SeñalSe aplica aQué verifica
Credenciales de contenido C2PAImágenesMetadatos firmados con detalles sobre el emisor y el uso de IA
SynthIDImágenes y audioUna marca de agua integrada directamente en los medios compatibles

Los metadatos C2PA proporcionan más contexto sobre el origen de un archivo. Editar, convertir o compartir un archivo puede eliminar sus metadatos. Una marca de agua SynthID forma parte de la imagen o del audio en sí y puede persistir tras algunas transformaciones.

La API busca señales de OpenAI compatibles. No es un detector de IA de uso general ni identifica contenido generado por todos los sistemas de IA. Las marcas de agua visibles y las etiquetas son distintas de las señales de procedencia que verifica la API.

Verificar un archivo

Envía un archivo de imagen o audio en el campo file con el SDK de OpenAI. El SDK construye la solicitud multiparte y lee tu clave de API de la variable de entorno OPENAI_API_KEY:

Verificar una imagen
import { createReadStream } from "node:fs";
import OpenAI, { toStreamingFile } from "openai";

const client = new OpenAI();

const result = await client.contentProvenanceChecks.create({
  file: toStreamingFile(createReadStream("myimage.png"), "myimage.png", {
    type: "image/png",
  }),
});

console.log(result);

Usa estas versiones del SDK de OpenAI o posteriores: Python 2.52.0, Go 3.49.0 y Ruby 0.75.0.

Para verificar audio Opus, usa el mismo punto de acceso y establece el tipo de medio del archivo cargado en audio/ogg:

curl https://api.openai.com/v1/content_provenance_checks \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "file=@./example.opus;type=audio/ogg"

La respuesta contiene el resultado completo. Por ejemplo, al verificar una imagen se devuelve:

{
  "object": "content_provenance_check",
  "created_at": 1778000000,
  "results": [
    {
      "type": "c2pa",
      "outcome": "detected",
      "validation_state": "trusted",
      "issuer": "OpenAI OpCo, LLC",
      "model": "gpt-image",
      "generated_at": "2026-07-27T18:34:12Z"
    },
    {
      "type": "synthid",
      "outcome": "not_detected",
      "model": null,
      "generated_at": null
    }
  ]
}

El campo object identifica la respuesta, y created_at indica cuándo se creó la verificación mediante una marca de tiempo Unix en segundos. Las entradas de results dependen del archivo cargado: las imágenes incluyen resultados de C2PA y SynthID, y el audio incluye un resultado de SynthID. La API omite las verificaciones que no se aplican en lugar de devolver not_detected.

La API completa la verificación antes de responder. No necesitas crear una tarea en segundo plano, consultar periódicamente otro punto de acceso ni cargar el archivo en la API de archivos.

Si una solicitud falla, revisa el estado HTTP y error.code cuando esté disponible. Un archivo mal formado, no compatible o bloqueado devuelve 400; una organización sin acceso recibe 404; y las solicitudes que superan el límite de solicitudes devuelven 429. Reintenta solo ante fallas transitorias, como límites de solicitudes o errores del servidor. Para obtener orientación general, consulta Códigos de error de la API.

Comprender los resultados de la verificación

Lee por separado cada entrada aplicable de results. Los resultados de imágenes incluyen entradas de C2PA y SynthID, mientras que los resultados de audio incluyen una entrada de SynthID. La respuesta no incluye un campo outcome en el nivel superior.

Resultados de C2PA

Un resultado de C2PA describe el estado de las credenciales de contenido de una imagen:

{
  "type": "c2pa",
  "outcome": "detected",
  "validation_state": "trusted",
  "issuer": "OpenAI OpCo, LLC",
  "model": "gpt-image",
  "generated_at": "2026-07-27T18:34:12Z"
}

Usa los campos de la siguiente manera:

  • outcome indica si se detectaron credenciales de generación con IA emitidas por OpenAI, con el valor detected o not_detected.
  • validation_state indica si el estado del archivo de manifiesto es trusted, valid, invalid o not_present.
  • issuer identifica al emisor del archivo de manifiesto cuando esa información está disponible.
  • model identifica el modelo que generó el contenido cuando esa información está disponible.
  • generated_at indica cuándo se generó el contenido si esa información está disponible.

El resultado es detected solo cuando un archivo de manifiesto con estado trusted o valid identifica a OpenAI como su emisor e incluye una acción de generación con IA. Un archivo de manifiesto de terceros, uno sin una acción de generación con IA, uno con estado invalid o uno con estado not_present produce not_detected. Los campos issuer y validation_state pueden describir un archivo de manifiesto incluso cuando el resultado es not_detected.

No consideres un archivo de manifiesto con estado invalid como evidencia confiable de procedencia. Un resultado not_present significa que la imagen no tiene un archivo de manifiesto C2PA disponible.

Resultados de SynthID

Un resultado de SynthID indica si el verificador detectó una marca de agua compatible en un archivo de imagen o audio:

{
  "type": "synthid",
  "outcome": "detected",
  "model": null,
  "generated_at": null
}

Un resultado detected significa que el archivo contiene una marca de agua reconocida. Un resultado not_detected significa que el verificador no detectó esa marca de agua. Esto no descarta que el contenido se haya generado o modificado con IA. Los campos model y generated_at proporcionan el modelo que generó el contenido y el momento de generación cuando esos datos están disponibles; cualquiera de los dos campos puede tener el valor null.

Formatos compatibles y disponibilidad

La API admite los siguientes formatos de archivo:

  • Imágenes: PNG, JPEG y WebP.
  • Audio: MP3, Opus, AAC, FLAC, WAV y PCM.

Limita cada archivo cargado a 50 MiB. El audio debe durar 60 segundos o menos después de la decodificación.

Establece el tipo de medio de la parte file cargada. Por ejemplo, usa image/png para una imagen PNG o audio/ogg para audio Opus. No agregues un campo type independiente ni establezcas manualmente el encabezado de solicitud multipart/form-data. La opción -F de curl establece el tipo de contenido de la solicitud y el delimitador multiparte. Envía un archivo por solicitud.

Las verificaciones de procedencia del contenido no pueden acogerse a la retención cero de datos.

Los límites de solicitudes estrictos ayudan a proteger la API contra el uso indebido. Las organizaciones pueden solicitar límites más altos, y OpenAI revisa cada solicitud de forma individual.

Si la API devuelve 429 rate_limit_exceeded, reduce la frecuencia de tus solicitudes y respeta el encabezado Retry-After cuando esté presente. Consulta Límites de solicitudes para obtener orientación general sobre los reintentos.

Usar los resultados de la verificación de forma responsable

Usa los resultados de la verificación como evidencia dentro de un proceso de revisión más amplio:

  • Considera detected como evidencia de una señal compatible específica, no como el historial completo de un archivo.
  • Interpreta not_detected como la ausencia de evidencia detectada, no como prueba de que el contenido fue creado por una persona o de que no se generó con OpenAI.
  • Revisa el emisor de C2PA antes de atribuir una imagen a un proveedor específico.
  • Verifica el archivo original cuando sea posible. La compresión, el recorte, las capturas de pantalla, la eliminación de metadatos y las conversiones de formato pueden borrar o debilitar una señal.
  • Ten en cuenta el producto de origen, el modelo, el formato del archivo y la fecha de creación. No todo el contenido generado con OpenAI contiene una señal compatible.
  • Combina las decisiones automatizadas con la revisión humana en flujos de trabajo donde haya mucho en juego.
  • No uses consultas repetidas para aplicar ingeniería inversa a una marca de agua, eliminarla o evadirla.
  • No deduzcas el prompt, la cuenta ni la identidad del creador a partir de un resultado de verificación.

El uso de la API de procedencia del contenido está sujeto al Acuerdo de servicios de OpenAI.

Para obtener información sobre la configuración de monitoreo y retención en toda la plataforma, consulta los controles de datos.