La respuesta corta
Si Whizi rechazó tu importación, revisa primero el archivo que elegiste: el único archivo que Whizi lee es conversations.json dentro de una exportación de ChatGPT o Claude, así que descomprime la exportación y elige ese archivo en lugar del zip en sí. Aparte de eso, una importación falla en uno de dos puntos y la redacción del mensaje indica cuál: el analizador del navegador que lee tu archivo de exportación, o el endpoint de importación que recibe las conversaciones que produjo el analizador. Los errores de archivo tienen que ver con el archivo que elegiste. Los errores de subida tienen que ver con la red o la sesión. Nada queda ambiguo entre medias, porque cada mensaje es una cadena fija ligada a una condición.
Lo segundo que hay que saber antes de reintentar algo: volver a ejecutar una importación nunca duplica chats. Cada conversación importada se identifica por cuenta, origen e id de origen, así que importar la misma exportación dos veces, reanudar tras una conexión caída o hacer clic en Importar dos veces hace que los mismos chats terminen apareciendo una sola vez.
| Lo que viste | Dónde falló | Qué hacer |
|---|---|---|
| Un mensaje sobre el formato de exportación o conversations.json | Al leer tu archivo, antes de subir nada | Elige otro archivo dentro de la exportación, ve la tabla más abajo |
| Un mensaje sobre tu sesión o tu conexión | Al subir, a mitad de camino | Inicia sesión de nuevo o reconéctate, luego vuelve a ejecutar la importación |
| Un conteo de conversaciones que no se pudieron importar | Algunos lotes fallaron en todos los reintentos | Vuelve a ejecutar la importación, recoge solo lo que falta |
| Nada, pero está tardando mucho | Limitación de frecuencia, funcionando como se diseñó | Espera, el importador reintenta por su cuenta |
Errores al leer tu archivo de exportación
Estos vienen del navegador, antes de que salga un solo byte de tu máquina. El propio archivo de exportación nunca se sube: el navegador lo analiza y solo envía las conversaciones normalizadas, así que un error aquí significa que el archivo nunca llegó lo bastante lejos como para enviarse.
| Mensaje | Causa | Solución |
|---|---|---|
That file is not a ChatGPT or Claude export. Look for conversations.json inside the export zip. | El analizador no puede identificar ninguno de los dos formatos de exportación, o un zip produce un contenido no reconocido | Abre el archivo de exportación y elige específicamente conversations.json |
There is no conversations.json inside that zip. Unzip it and pick the file directly. | El zip que elegiste no tiene una entrada coincidente | Descomprímelo tú mismo, busca conversations.json y elige ese archivo |
That file is not valid JSON, so there was nothing to read. | El archivo elegido no se puede analizar como JSON | Descarga de nuevo la exportación desde ChatGPT o Claude y elige conversations.json de ahí |
That export has no conversations with text in them. | La exportación se analiza pero produce cero conversaciones | La exportación está genuinamente vacía de transcripciones de texto. No hay nada que arreglar del lado de Whizi |
That file is too large for the browser to open. Pick the export .zip instead, which is read one file at a time. | El archivo .json sin comprimir elegido supera el límite de lectura del navegador | Elige el .zip en su lugar. Una exportación .json sin comprimir se acepta hasta 300 MB; la ruta .zip no tiene un techo propio, porque solo se descomprime la entrada conversations.json |
Could not read that file. Please try again. | La lectura del archivo falló por cualquier otro motivo | Es genuinamente un caso de reintento. Si se repite con el mismo archivo, elige el .zip de la exportación, que se lee una entrada a la vez |
El primer mensaje es el más amplio, porque una sola cadena cubre dos condiciones: un formato de exportación que el analizador no puede identificar, y un zip que produce un contenido no reconocido. Ambos llevan a la misma solución, que es descomprimir la exportación y elegir conversations.json directamente.
Errores de la propia subida
Una vez que el archivo se analiza, el importador envía las conversaciones en lotes. En esa etapa pueden fallar dos cosas, y ambas son recuperables.
| Mensaje | Causa | Solución |
|---|---|---|
Your session ended. Sign in again, then start the import. | La obtención del token no devolvió nada a mitad de la importación | Inicia sesión de nuevo y vuelve a empezar la importación. Lo que ya se guardó se queda, y la nueva ejecución lo omite |
The import could not be finished. Check your connection and try again. | Cualquier otro fallo de subida durante la ejecución de la importación | Revisa la conexión y vuelve a ejecutarla |
Un tercer resultado no es un error en absoluto sino un resumen: {count} could not be imported. Run the import again to pick them up. Ese es el conteo de conversaciones cuyos lotes fallaron en todos los reintentos. La instrucción en el mensaje es toda la solución, y la clave de desduplicación descrita en la respuesta corta es por qué la segunda ejecución no te cuesta nada.
Errores que devuelve el endpoint de importación
Estos son los códigos y las cadenas que produce la propia ruta de importación. El sitio web refleja los mismos límites y valida antes de enviar, así que importan sobre todo cuando algo envía directamente al endpoint o cuando un lote está malformado.
| Código | Mensaje | Causa |
|---|---|---|
invalid_import | A JSON object body is required. | El cuerpo de la importación no es un objeto |
invalid_source | An import source of chatgpt or claude is required. | Falta el campo source o no es uno de los dos orígenes aceptados |
empty_import | At least one conversation is required. | El arreglo de conversaciones falta o está vacío |
too_many_conversations | This batch has {count} conversations, over the 25 per request limit. | Más de 25 conversaciones en una sola solicitud |
too_many_messages | Conversation {n} carries {count} messages, over the 400 per request limit. Send the rest as an append. | Más de 400 mensajes en una conversación dentro de una solicitud |
invalid_import | Conversation {n} is not an object. | Una entrada del arreglo de conversaciones no es un objeto |
invalid_import | Conversation {n} has no messages array. | Una conversación no tiene arreglo de mensajes |
invalid_import | Conversation {n} has an invalid append target. | El campo appendTo no es ni una cadena ni null |
invalid_message | Conversation {n} message {m} is not an object. | Una entrada de mensaje no es un objeto |
invalid_message | Conversation {n} message {m} needs a role of "user" or "assistant". | Un mensaje tiene un rol distinto de esos dos |
invalid_message | Conversation {n} message {m} has no text. | El contenido del mensaje no es una cadena |
request_too_large | Request is too large. | El cuerpo JSON supera el límite de bytes de la ruta, ya sea por el Content-Length declarado o por los bytes realmente leídos |
Los límites detrás de esos mensajes: 25 conversaciones por solicitud, 400 mensajes por conversación por solicitud, y un cuerpo de solicitud de como máximo 2.000.000 de bytes. El importador del sitio web divide exactamente en 25 y 400 y mantiene cada solicitud por debajo de 1.200.000 bytes, deliberadamente por debajo del límite de 2.000.000 de bytes para dejar espacio al sobre de la solicitud. Una conversación con más de 400 mensajes no se rechaza, se corta: el resto se envía como fragmentos añadidos (append) sobre el chat que creó el primer fragmento.
Una importación grande se pausa 20 segundos a la vez
Importar conversaciones tiene un límite de 20 solicitudes por minuto por usuario. Una exportación grande alcanzará ese techo, y eso es esperado, no un fallo.
No verás ningún error cuando eso pase. Una importación que recibe un HTTP 429 no se muestra: el cliente espera 20 segundos y reintenta, hasta 4 intentos por lote. Así que una importación que parece estancada durante veinte segundos a la vez en una exportación grande está haciendo exactamente lo que debe. Déjala funcionando.
Si los lotes siguen fallando después de esos 4 intentos, quedan en el resumen {count} could not be imported. Run the import again to pick them up., y volver a ejecutar la importación una segunda vez es la solución, no el soporte.
Qué descarta la importación a propósito
Parte del contenido se descarta por diseño, y una importación que se completa igual puede verse incompleta frente al original.
En una exportación de ChatGPT, solo se importa la rama que estaba en pantalla. Las respuestas regeneradas y los borradores descartados no se reproducen como mensajes. El contenido que no forma parte de la transcripción también se omite: razonamiento oculto, código y salida de herramientas de análisis, borradores de navegación, bloques de instrucciones personalizadas y llamadas a funciones.
En una exportación de Claude, se descartan los bloques de pensamiento, las llamadas a herramientas y los archivos adjuntos. Solo se importan los bloques de texto.
Las conversaciones del archivo que no contienen texto legible se cuentan y se informan como omitidas en lugar de descartarse en silencio, así que un conteo de omitidos es información, no un fallo.
Una conversación sin título utilizable se convierte en Imported chat, y un título de más de 120 caracteres se recorta. Un mensaje importado que supera el límite de contenido se trunca en lugar de rechazarse, así que un solo mensaje demasiado grande no te cuesta el resto de esa conversación.
Por último, las marcas de tiempo: un mensaje importado con fecha anterior al 2015-01-01, o con fecha futura, se descarta como marca de tiempo y la fila vuelve a la hora de la importación. Un chat que aparece con la fecha en la que ejecutaste la importación, en lugar de su fecha original, cayó en esa regla.
Por qué volver a ejecutar la importación es seguro
La clave de desduplicación de la respuesta corta tiene un respaldo. Cuando una exportación no da un id de conversación estable, la clave pasa a ser un hash de la propia transcripción, así que una nueva ejecución sigue coincidiendo con esas conversaciones en lugar de añadir copias duplicadas.
Una consecuencia que conviene conocer: eliminar un chat importado y luego importar de nuevo la misma exportación hace que el chat vuelva, en lugar de informar de un duplicado. Si eliminaste deliberadamente una conversación importada, no vuelvas a ejecutar esa exportación a menos que quieras que reaparezca.
- Elige conversations.json dentro de la exportación, no el zip de la exportación en sí
- Una exportación .json sin comprimir se acepta hasta 300 MB, a partir de ahí usa el .zip
- Los errores de sesión y conexión significan iniciar sesión o reconectar, y luego reintentar
- Un conteo de conversaciones que no se pudieron importar significa volver a ejecutar la importación
- Eliminar un chat importado y volver a importar hace que reaparezca
- Que una importación grande se pause 20 segundos a la vez es limitación de frecuencia, no un fallo
- Las ramas regeneradas de ChatGPT, y los bloques de pensamiento y adjuntos de Claude, se descartan por diseño
Preguntas frecuentes
Whizi dice que mi exportación de ChatGPT no es una exportación de ChatGPT. ¿Por qué?
El mensaje es That file is not a ChatGPT or Claude export. Look for conversations.json inside the export zip. y se dispara cuando el analizador no puede identificar ninguno de los dos formatos en el archivo que elegiste, o cuando un zip produce un contenido no reconocido. El archivo que Whizi lee es conversations.json, así que descomprime la exportación y elige ese archivo directamente. Si elegiste el zip y recibiste There is no conversations.json inside that zip. Unzip it and pick the file directly. en su lugar, el zip no tiene ninguna entrada coincidente y hay que descargar la exportación de nuevo.
Mi importación se detuvo a mitad de camino. ¿Volver a ejecutarla duplicará mis chats?
No. Volver a ejecutarla es la recuperación prevista para una conexión caída, una sesión terminada o un lote fallido: la segunda ejecución hace que los mismos chats aparezcan una sola vez y recoge solo lo que falta. No hay ningún paso de limpieza previo que hacer.
¿Por qué solo se importaron algunas de mis conversaciones?
Pueden aparecer dos conteos distintos, y solo uno de ellos es un fallo. {count} could not be imported. Run the import again to pick them up. cuenta los lotes que fallaron en todos los reintentos, y volver a ejecutar la importación es la solución. Un conteo de omitidos es el otro, e informa de conversaciones del archivo que no tienen texto legible, no de conversaciones que salieron mal.
La importación lleva un rato sin moverse. ¿Está rota?
Fíjate en si vuelve a avanzar, más que en cuánto tiempo lleva. Una pausa de unos 20 segundos seguida de más avance es el limitador de frecuencia, porque el cliente espera 20 segundos y reintenta en lugar de mostrarte nada. Una importación realmente terminada lo indica, ya sea con una de las cadenas de error de esta página o con el resumen {count} could not be imported. Run the import again to pick them up.. Silencio más avance periódico significa dejarla en paz.
¿Se sube a Whizi mi archivo de exportación de ChatGPT o Claude?
No. El propio archivo de exportación nunca llega al servidor. Tu navegador lo lee, lo analiza y solo envía las conversaciones normalizadas, lo cual también explica por qué todo error de formato de esta página ocurre antes de que se envíe nada. El detalle completo del manejo de datos está en qué hace Whizi con tus datos.