Claude Fable 5 is now on CometAPI — state-of-the-art performance in coding, agents, and scientific research. Try it now

GPT-5.5 vs Claude Sonnet 4.6 vs Gemini 3.1 Pro: Lo que ningún benchmark te dice

CometAPI
AnnaJun 12, 2026
GPT-5.5 vs Claude Sonnet 4.6 vs Gemini 3.1 Pro: Lo que ningún benchmark te dice

Hay un tipo particular de reunión que sucede en todo equipo que construye sobre LLMs de frontera. Alguien comparte el último ranking de benchmarks. Otra persona señala que las posiciones han cambiado desde el mes pasado. Una tercera menciona que el modelo que su equipo usa actualmente ha caído dos posiciones en alguna métrica de la que ninguno había oído hablar hace tres semanas. Al final de la reunión, nadie está seguro de si migrar, y la conversación se agenda de nuevo para el próximo trimestre.

El problema de esa reunión no son las personas que asisten. Es que los benchmarks miden tareas sintéticas, y tu producto no es una tarea sintética. La tabla te dice cómo rinde un modelo en MMLU, en SWE-bench Verified, en GPQA Diamond — pruebas diseñadas por investigadores para ser medibles entre modelos. Ninguna de esas pruebas se parece a los prompts que tu aplicación realmente envía en producción. Ninguna captura cómo maneja un modelo el tipo específico de entrada desordenada y con forma de dominio que generan tus usuarios.

Este artículo recorre el ejercicio exacto que los benchmarks no pueden hacer. Tres prompts concretos, diseñados para enviarse a GPT-5.5, Claude Sonnet 4.6 y Gemini 3.1 Pro a través del mismo endpoint compatible con OpenAI, con los mismos parámetros de temperatura y sin prompting adicional. Los prompts abarcan tres categorías que tocan la mayoría de cargas de trabajo en producción: extracción estructurada de un documento desordenado, una tarea de planificación de alto razonamiento y generación de código bajo restricciones. Las observaciones a continuación son los patrones de comportamiento que los equipos que realizan este tipo de comparación reportan de forma consistente — los patrones que tú mismo verías si ejecutaras estos prompts en tu propia configuración.

En las tablas de clasificación, estos tres modelos puntúan dentro de 0.8 puntos porcentuales entre sí en SWE-bench Verified. En la práctica, se comportan de manera muy diferente. La elección entre ellos no se trata de cuál puntúa más alto en benchmarks — se trata de qué patrón de comportamiento encaja con tu carga de trabajo.

Lo que miden los benchmarks y lo que se les escapa

Los benchmarks existen porque tienen que existir. Los proveedores de modelos necesitan pruebas estandarizadas para sustentar afirmaciones de capacidad, los investigadores las necesitan para publicar comparaciones, y el resto de nosotros las necesitamos para tener cualquier punto de partida objetivo al evaluar modelos. Son útiles. También son incompletos en formas que importan para el uso en producción.

Tres limitaciones concretas valen la pena explicitarse, porque cada una aparece en los ejemplos de prompts a continuación.

  • Los benchmarks miden capacidad aislada, no patrones de comportamiento. SWE-bench Verified te dice si un modelo puede resolver un tipo particular de issue de GitHub. No te dice si el modelo tiende a sobreingenierizar problemas simples, si hace preguntas aclaratorias cuando el prompt es ambiguo, o si produce una salida que coincide con la estructura que pediste a la primera. Estas son las cosas que observarás a diario en producción.
  • Los benchmarks se afinan. Cuando una versión de modelo destaca su puntuación en un benchmark en particular, eso es una señal de que el modelo fue al menos en parte optimizado para ese benchmark. El rendimiento en el mundo real y el rendimiento en el benchmark pueden divergir — a veces de manera sustancial — cuando el modelo sale de las condiciones para las que el benchmark fue diseñado.
  • Los benchmarks agregan. Una diferencia de 0.8 puntos porcentuales en la puntuación de SWE-bench Verified puede ocultar el hecho de que el Modelo A es mucho mejor en una categoría específica de tarea y peor en otra, mientras que el Modelo B es consistente en todo. La agregación colapsa la información que necesitas para decidir.

El ejercicio a continuación está diseñado para hacer aflorar exactamente el tipo de información que los benchmarks agregan hasta hacer desaparecer. El punto no es declarar un ganador — es mostrarte las preguntas que debes formular cuando ejecutes el mismo ejercicio sobre tus propios prompts.

La configuración

Tres prompts, elegidos porque se mapearon a categorías que la mayoría de las cargas de trabajo en producción tocan. La configuración: cada prompt se envía a los tres modelos con parámetros idénticos (temperatura 0.3, sin override del sistema, formato de respuesta predeterminado), accedidos a través de un único endpoint compatible con OpenAI para que la comparación sea manzanas con manzanas — sin peculiaridades de SDK específicas de proveedor, sin mapeos de parámetros distintos, sin riesgo de que un modelo reciba un trato especial por cómo se construye la solicitud.

Los prompts están a continuación, como bloques de código que puedes copiar y ejecutar. Las descripciones de comportamiento que siguen a cada uno son los patrones que los equipos reportan de forma consistente cuando ejecutan este tipo de comparación — patrones documentados en múltiples estudios de terceros en 2026, y el tipo de cosas que deberías esperar ver tú mismo cuando ejecutes estos prompts en tu propia configuración. Ejecutarlo tú mismo es el punto; el artículo existe para darte el marco y los prompts iniciales para hacerlo.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["COMET_API_KEY"],  # or replace with your API key
    base_url="https://api.cometapi.com/v1",  # one endpoint, multiple models
)

MODELS = [
    "gpt-5.5",
    "claude-sonnet-4-6",
    "gemini-3.1-pro",
]


def run_comparison(prompt: str, temperature: float = 0.3) -> dict[str, str]:
    """
    Send the same prompt to all three models and return their responses.
    """
    responses = {}

    for model in MODELS:
        result = client.chat.completions.create(
            model=model,
            messages=[
                {
                    "role": "user",
                    "content": prompt,
                }
            ],
            temperature=temperature,
        )

        responses[model] = result.choices[0].message.content

    return responses


# Example usage
if __name__ == "__main__":
    prompt = "Summarise the key risks in this contract."

    outputs = run_comparison(prompt)

    for model, response in outputs.items():
        print(f"\n--- {model} ---")
        print(response)

Prompt 1: Extracción estructurada desde un documento desordenado

Esta es la tarea básica de la mitad de las funciones de LLM lanzadas en 2026. Tomar una entrada no estructurada — un email, un ticket de soporte, una transcripción de reunión, un formulario escaneado — y extraer campos específicos en un objeto estructurado. El prompt a continuación pide a cada modelo extraer siete campos de un email de atención al cliente deliberadamente desordenado que contiene información parcial, señales conflictivas y un campo que no está presente en el texto fuente.

El prompt

You are processing customer support emails. Extract the followingseven fields from the email below into a JSON object with exactlythese keys: - customer_name (string)- order_id (string)- issue_type (one of: "shipping", "product_quality", "billing",  "returns", "other")- urgency (one of: "low", "medium", "high")- requested_action (string)- affected_product (string)- escalation_history (any prior contact about this issue, if mentioned) 

Email:---Hi there, I'm writing about order #FT-2289334 from last Tuesday. The Cascadehiking boots I received are NOT the size 11 I ordered — they'reclearly size 10 (I can see the label inside). I have a guided trekbooked in 5 days and I genuinely don't know what to do. I've beena customer for years and this is the first time something likethis has happened. Can you sort this out urgently? I'd prefer a same-day exchange ifat all possible. I'm in Manchester. Margaret W.--- Return only the JSON object. No commentary, no markdown code fences.

Qué observar

Tres cosas. Primero, si el modelo se adhiere al esquema JSON solicitado sin inventar. Segundo, cómo maneja el modelo el campo que no existe en la fuente (escalation_history — el cliente no menciona contacto previo sobre este problema específico): ¿admite la ausencia o fabrica algo plausible? Tercero, si el modelo produce comentarios adicionales fuera del JSON, requiriendo que el procesamiento posterior elimine el envoltorio. El campo de urgencia también vale la pena observarlo: “5 días” no es inmediato, pero el cliente está claramente ansioso, lo que deja espacio para la interpretación.

Lo que los equipos que corren esto reportan de forma consistente

GPT-5.5. Suele producir JSON limpio al primer intento. La adherencia al esquema es sólida; todos los campos solicitados están presentes y el formato es analizables sin preprocesamiento. Para campos ausentes, GPT-5.5 tiende a devolver un null explícito. Por lo general, no envuelve el JSON en fences de código markdown ni incluye explicaciones en prosa, lo que hace trivial el procesamiento posterior. En llamadas interpretativas ambiguas como la calificación de urgencia aquí, GPT-5.5 tiende a ser más conservador que los otros dos — donde Claude y Gemini podrían calificar el ticket como “high” por el tono emocional del cliente, GPT-5.5 a menudo se ancla en la ventana concreta de 5 días y cae en “medium”.

Claude Sonnet 4.6. También produce JSON limpio, y suele ser el más preciso de los tres al seguir el esquema solicitado. Donde GPT-5.5 deja un campo faltante como null, Claude a menudo agrega campos no solicitados señalando problemas de calidad de datos — una clave "notes" o "data_quality_notes" que no se pidió pero que contiene información genuinamente útil. Ese campo extra es útil para revisores humanos, pero causa fallos si tu parser posterior es estricto con el esquema. Este es un patrón recurrente con Claude: alta calidad, pero a veces más exhaustivo de lo que el prompt pidió, requiriendo instrucciones explícitas para acotar.

Gemini 3.1 Pro. Suele producir la salida más económica de los tres. Todos los campos solicitados, sin campos extra, sin prosa que rodee. La adherencia al esquema es exactamente la solicitada. Una peculiaridad a tener en cuenta: para campos ausentes, Gemini tiende a devolver una cadena vacía en lugar de null. Parsers JSON estrictos que distinguen entre ambos detectarán la diferencia; los laxos no. El comportamiento es lo suficientemente consistente entre ejecuciones como para que parezca una preferencia del modelo más que un artefacto.

Lo que esto te indica

Los tres modelos pueden hacer extracción estructurada. Las diferencias están en el margen conductual alrededor del esquema solicitado. Si tu sistema posterior es estricto con el esquema y trata campos extra como errores, Gemini 3.1 Pro y GPT-5.5 son elecciones más seguras. Si quieres que el modelo haga aflorar problemas de calidad de datos sin que se lo pidas, Claude Sonnet 4.6 es más útil. Nada de esto aparece en un benchmark.

Prompt 2: Una tarea de planificación con alto razonamiento

Este prompt pide a los modelos que planifiquen una investigación de varios pasos: una pregunta de investigación con tres restricciones implícitas que un modelo cuidadoso debería identificar antes de secuenciar el trabajo. El tipo de tarea que una aplicación orientada a agentes delegaría a un LLM como paso de planificación antes de invocar herramientas.

El prompt

I'm trying to answer this research question for my team: "Is our customer churn rate higher among users who haven't usedfeature X in the last 30 days?" Produce a plan for how to investigate this. The plan should:- Identify the steps required- Sequence them with dependencies- Be actionable for a data analyst on my team Return the plan in clear, structured form.

Las restricciones implícitas que vale la pena observar: la pregunta nunca define qué significa “churn” (¿cierre de cuenta? ¿sin inicios de sesión? ¿sin compras?), no especifica cómo controlar variables de confusión (los usuarios de bajo engagement abandonan por muchas razones no relacionadas con la feature X) y no establece un grupo de comparación de referencia. Un planificador cuidadoso debería hacer aflorar las tres antes de producir los pasos.

Qué observar

Si el modelo realmente razona a través del problema o produce una secuencia de pasos con apariencia plausible que en realidad no se sostiene al examinarla. Si identifica las restricciones implícitas sin que se le mencionen. Y si las dependencias entre pasos son correctas — un plan que parece bien pero tiene el paso tres dependiendo de un resultado que produciría el paso cinco es inútil en la práctica.

Lo que los equipos que corren esto reportan de forma consistente

GPT-5.5. Suele producir el plan más utilizable operativamente. El razonamiento tiende a ser visible — GPT-5.5 enumera sus suposiciones sobre las restricciones implícitas (definición de churn, grupo de control, variables de confusión) antes de detallar los pasos, lo que facilita detectar dónde su interpretación difiere de lo pretendido. Las dependencias de pasos se identifican y etiquetan de forma fiable. La salida a menudo incluye una sección que señala qué pasos pueden paralelizarse, lo cual no se pidió pero agrega valor genuino. Esta es el tipo de tarea donde aflora el entrenamiento en uso de herramientas y comportamiento orientado a agentes de GPT-5.5 — la planificación está moldeada por el supuesto de que seguirá una ejecución posterior.

Claude Sonnet 4.6. Suele producir el plan más reflexivo, en el sentido literal — el plan de Claude a menudo incluye consideraciones que los otros dos modelos no plantean. En una pregunta como esta, es probable que Claude señale el problema metodológico de correlación vs causalidad, observe que “no han usado la feature X” podría ser en sí mismo un síntoma del churn y no una causa, e identifique explícitamente restricciones que no se hicieron explícitas pero que un analista cuidadoso debería detectar. La desventaja: el plan puede ser más largo de lo necesario, y algunos pasos individuales a veces están sobreingenierizados para la pregunta real. El patrón es consistente con el comportamiento de Claude en otros ámbitos — cuidado de nivel experto, a veces más del que requiere la tarea.

Gemini 3.1 Pro. Suele producir el plan más limpiamente estructurado, con el gráfico de dependencias más claro. La calidad del razonamiento es alta — Gemini identifica de forma fiable las restricciones implícitas, descompone el problema en una secuencia defendible y produce instrucciones paso a paso que realmente se podrían ejecutar. El inconveniente: el plan puede leerse como algo mecánico. Hace el trabajo pero no suele hacer aflorar los matices metodológicos que plantea Claude, ni las ideas de paralelización que incluye GPT-5.5. Esto coincide con el patrón más amplio de Gemini — fuerte en calidad de razonamiento, más “de oficio” en los juicios colindantes.

Lo que esto te indica

La calidad de razonamiento en esta tarea es alta en los tres modelos. Las diferencias están en el comportamiento circundante — lo que el modelo agrega más allá de la solicitud literal. GPT-5.5 aporta pragmatismo operativo (paralelización, pistas de ejecución). Claude aporta cuidado de experto (metodología, casos límite, matiz estadístico). Gemini aporta claridad y economía. Ninguna de estas es una elección incorrecta. Cuál encaja con tu aplicación depende de lo que quieres que el modelo haga cuando haya terminado la tarea que le pediste.

Prompt 3: Generación de código con restricciones específicas

Este prompt pide a los modelos implementar una función pequeña pero no trivial: una función en Python que toma una lista de eventos con timestamp y devuelve la brecha más larga entre eventos consecutivos, manejando cuatro casos límite. Las restricciones son explícitas; la intención es probar la generación de código bajo restricciones más que el techo de capacidad — todos los modelos pueden escribir esta función. Lo que varía es cómo manejan las restricciones.

El prompt

Write a Python function that takes a list of timestamped events andreturns the longest gap (in seconds) between consecutive events. Requirements:- Function signature: longest_gap(events: list[datetime]) -> float- Handle these edge cases:  1. Empty list (return 0.0 or raise — your choice, but be consistent)  2. Single event  3. Duplicate timestamps  4. Unsorted input- Use only the standard library- Include type hints- Return just the function. No tests or usage examples.

Qué observar

Si el modelo aborda los cuatro casos límite o deja algunos en silencio. Si las type hints son precisas o de relleno. Si la implementación elige un algoritmo defendible (ordenar y recorrer) o algo exótico. Y si el modelo respeta la restricción “sin tests, sin ejemplos de uso” al final del prompt — este es el tipo de instrucción al final del prompt que los modelos con fuerte seguimiento de instrucciones honrarán y los más débiles violarán discretamente.

Lo que los equipos que corren esto reportan de forma consistente

GPT-5.5. Suele producir el código más exhaustivamente diseñado. Los cuatro casos límite se manejan con ramas explícitas, las type hints son precisas (a menudo incluyendo Optional o Union para valores de retorno en casos límite), y un docstring con llamadas de ejemplo. La implementación suele elegir el algoritmo obvio — ordenar, recorrer, rastrear la brecha máxima — y es correcta. Algo a saber: GPT-5.5 a menudo incluye tests unitarios o ejemplos de uso incluso cuando el prompt pide explícitamente solo la función. Este es el trade-off con los modelos pragmáticos en lo operativo — agregan lo que creen que necesitarás, incluso cuando les pides que no lo hagan.

Claude Sonnet 4.6. Suele producir el código más legible. La función es concisa, los casos límite se manejan con un patrón limpio de cláusulas de guarda al inicio, type hints precisas y mínimas. Claude a menudo incluye un comentario reflexivo explicando una decisión de criterio que el prompt dejó abierta — por ejemplo, en timestamps duplicados, tratarlos como gap de longitud cero y explicar por qué, lo cual es una decisión defendible que el prompt no especificó. Claude tiende a respetar la restricción de “sin tests” más confiablemente que GPT-5.5. La función en sí es la de mayor mantenibilidad de las tres. Consistente con la reputación de Claude en calidad de código: limpio, idiomático, con sensación de experto.

Gemini 3.1 Pro. Suele producir el código más económico de los tres. La función es correcta, los casos límite se manejan, la implementación es la más corta. El docstring suele ser de una sola línea. Type hints presentes y precisas. La solución de Gemini rara vez incluye tests o comentarios extensos, y no sobreingenieriza — que es exactamente lo que el prompt pidió. Para un desarrollador que quiere una función que funcione y planea agregar tests por separado, esta es la vía más directa. Para un desarrollador que quiere que el modelo haga también el trabajo circundante, los otros dos agregan más (lo hayas pedido o no).

Lo que esto te indica

Los tres modelos pueden escribir la función. La diferencia conductual está en cuánto trabajo circundante hace cada modelo más allá de la solicitud literal — y qué tan bien cada uno respeta instrucciones negativas explícitas. GPT-5.5 se inclina hacia la minuciosidad, incluso cuando el prompt la descarta. Claude se inclina hacia el oficio (código legible, comentarios reflexivos sobre decisiones). Gemini se inclina hacia la economía (hacer exactamente lo solicitado, ni más ni menos). Para flujos orientados a agentes donde la salida del modelo entra directamente en una base de código de producción, el comportamiento que quieres depende de lo que tu proceso de revisión posterior espera — y de cuán estrictamente necesitas que se sigan instrucciones negativas.

Los patrones que emergen

A lo largo de los tres prompts anteriores, emergen tres patrones de comportamiento consistentes a partir de los estudios comparativos y los informes de desarrolladores publicados a lo largo de 2026. No son afirmaciones de capacidad — cada modelo maneja cada tarea a un nivel alto. Son tendencias, el tipo de cosas que solo ves cuando los equipos observan al mismo modelo manejar docenas de prompts. Ejecuta los prompts anteriores en tu propia configuración y verás los mismos patrones; el artículo existe para darte el marco para reconocer lo que estás viendo cuando lo hagas.

ModelTendencia de comportamientoEncaja mejor cuando…
GPT-5.5Pragmático en lo operativo. Agrega pistas de ejecución, código defensivo y salidas amigables para el proceso posterior. Fuerte en tareas orientadas a herramientas y agentes.Tu aplicación encadena la salida del modelo hacia ejecución posterior — agentes, flujos o pipelines donde el siguiente paso está automatizado.
Claude Sonnet 4.6Cuidado de nivel experto. Hace aflorar consideraciones más allá de la solicitud literal, plantea cuestiones de ética y metodología, produce código altamente legible.Tu aplicación tiene un humano revisando la salida del modelo — generación de contenido, revisión de código, análisis donde el oficio importa.
Gemini 3.1 ProEconómico y directo. Hace exactamente lo que se pidió, sin más. La adherencia al esquema más limpia y menor salida de tokens para trabajo equivalente.Tu aplicación tiene requisitos de salida estrictos, la previsibilidad de costos es una prioridad, o quieres que el modelo sea una herramienta precisa y no un colaborador reflexivo.

Un caveat importante. Estos patrones son tendencias, no reglas. Cada modelo puede encaminarse hacia cualquiera de estos comportamientos con prompting adecuado — un system prompt suficientemente detallado hará que Gemini agregue tests, o constriñirá a Claude a una salida mínima, o hará que GPT-5.5 omita los tests unitarios. El punto es lo que cada modelo hace por defecto, antes de que empieces a guiarlo. El comportamiento por defecto es lo que vives en producción a menos que lo contrarrestes activamente con prompting.

Cómo probar en tu propia carga de trabajo

El ejercicio anterior es replicable en cualquier carga de trabajo, y debería serlo. Las puntuaciones de benchmarks son útiles como primer filtro, pero los patrones de comportamiento del modelo que importan para tu aplicación específica solo son visibles cuando ves a los modelos manejar tus prompts específicos.

Una guía práctica para ejecutar el ejercicio en tu propio tráfico:

  1. Elige tres categorías representativas de prompts. No tres prompts aleatorios — tres categorías que abarquen tu carga de trabajo. La mayoría de los sistemas en producción pueden descomponerse en unas pocas clases de prompt (extracción, clasificación, generación, razonamiento, código, resumen). Elige las categorías que representan la mayor parte de tu tráfico.
  2. Cura 20–30 ejemplos por categoría. De tráfico real, idealmente. Anonimiza si es necesario. El punto es que los prompts deben parecerse a lo que tu aplicación realmente ve, no a preguntas de benchmark. Veinte ejemplos por categoría bastan para ver patrones; treinta bastan para estar seguro.
  3. Ejecútalos a través de un solo endpoint, todos los modelos. Un endpoint agregador compatible con OpenAI hace esto dramáticamente más rápido que ejecutar cada modelo con su propio SDK. El código al inicio de este artículo es toda la configuración. La misma temperatura, los mismos parámetros, el mismo prompt — las diferencias en la salida son las diferencias de los modelos.
  4. Califica cualitativamente antes que cuantitativamente. Examina a simple vista las salidas primero. Los patrones de comportamiento suelen ser obvios dentro de la primera docena de prompts. Una vez que tengas una hipótesis sobre cómo se comporta cada modelo en tu carga de trabajo, entonces puedes construir una rúbrica para calificar — pero la hipótesis viene de la observación, no de una plantilla de calificación preconstruida.
  5. Presta atención a lo que el modelo agrega. La pregunta de benchmark es si el modelo obtiene la respuesta correcta. La pregunta de comportamiento es qué más hace el modelo. ¿Agrega tests? ¿Explica su razonamiento? ¿Plantea preocupaciones? ¿Produce campos extra que no pediste? Aquí es donde viven las diferencias entre modelos.
  6. Elige el modelo que se ajuste a tu patrón posterior. Si tu proceso posterior está automatizado, quieres un modelo cuyo comportamiento por defecto produzca salidas limpias y analizables. Si tu proceso posterior es revisión humana, quieres un modelo cuyo comportamiento por defecto agregue el tipo de juicio circundante que un revisor humano querría ver. La respuesta correcta depende de lo que viene después del modelo.

Conclusión

La elección entre GPT-5.5, Claude Sonnet 4.6 y Gemini 3.1 Pro no es sobre qué modelo es “mejor”. Es sobre qué modelo se ajusta a la forma de tu carga de trabajo — y esa forma es algo que los benchmarks no pueden ver. El ejercicio anterior se puede replicar en una tarde si ya tienes curados los prompts; el valor de hacerlo es que dejas de adivinar y empiezas a observar.

Para equipos que ejecutan el ejercicio por sí mismos: la configuración más fácil es un único endpoint compatible con OpenAI que expone los tres modelos detrás de una credencial. CometAPI es una vía; apuntas tu SDK existente de OpenAI a una URL base diferente y el parámetro del modelo se vuelve la variable. La pieza complementaria, The 2026 LLM API Pricing Comparison, cubre el lado de costos de la misma decisión — juntas te dan la imagen conductual y financiera que necesitas para elegir bien.

Los benchmarks te dicen lo que un modelo puede hacer. Los patrones de comportamiento te dicen lo que un modelo hará, por defecto, en tus prompts. La primera respuesta está publicada. La segunda tienes que observarla tú mismo. Veinte prompts por categoría, una tarde, y tendrás una respuesta que ninguna tabla de clasificación producirá jamás.

¿Listo para integrar con fiabilidad? Dirígete a CometAPI y a la documentación de la API para acceso fluido a Claude Fable 5 junto con otros modelos de frontera, facturación unificada y confiabilidad de nivel empresarial. Regístrate hoy y comienza con créditos generosos para nuevos usuarios: tu próximo proyecto de vanguardia te espera.

¿Listo para reducir los costos de desarrollo de IA en un 20%?

Comienza gratis en minutos. Créditos de prueba gratuitos incluidos. No se requiere tarjeta de crédito.

Leer Más