SDKs de Conversión de Archivos#
Librerías cliente oficiales para la API de EnConvert, publicadas para diez lenguajes: Node.js, Python, Go, Java, PHP, Ruby, C#, Rust, Kotlin y Swift. Todos los SDKs cubren las mismas dos superficies detrás de una única clave de API. La superficie de conversión transforma archivos y URLs en otros formatos, y la superficie de inteligencia web V2 percibe, descubre, busca, extrae, ingiere y monitoriza páginas web en vivo. Cada cliente expone esos endpoints como métodos tipados, gestiona la autenticación y devuelve URLs de descarga prefirmadas.
SDKs disponibles#
| Lenguaje | Paquete | Instalación | Fuente |
|---|---|---|---|
| Node.js / TypeScript | @enconvert/node-sdk |
npm install @enconvert/node-sdk |
enconvert/node-sdk |
| Python | enconvert |
pip install enconvert |
conversionapi/python-sdk |
| Go | github.com/conversionapi/go-sdk |
go get github.com/conversionapi/go-sdk |
conversionapi/go-sdk |
| Java | com.enconvert:enconvert-sdk |
Dependencia de Maven Central | conversionapi/java-sdk |
| PHP | enconvert/enconvert-php |
composer require enconvert/enconvert-php |
conversionapi/php-sdk |
| Ruby | enconvert |
gem install enconvert |
conversionapi/ruby-sdk |
| C# / .NET | Enconvert |
dotnet add package Enconvert |
conversionapi/csharp-sdk |
| Rust | enconvert |
cargo add enconvert |
conversionapi/rust-sdk |
| Kotlin | com.enconvert:enconvert-kotlin |
Dependencia de Maven Central | conversionapi/kotlin-sdk |
| Swift | Enconvert |
Swift Package Manager | conversionapi/swift-sdk |
Los diez se publican con licencia MIT.
Elige tu lenguaje#
- Node.js / TypeScript: Node 18+, sin dependencias en tiempo de ejecución, builds duales ESM y CJS, definiciones de tipos completas.
- Python: Python 3.9+, dataclasses tipadas y
py.typedincluido para mypy. - Go: Go 1.21+, solo librería estándar, sin dependencias de terceros.
- Java: Java 17+, una sola dependencia (Gson) y HTTP a través del propio
HttpClientdel JDK. - PHP: PHP 8.1+, se instala con Composer y se autocarga con PSR-4.
- Ruby: Ruby 3.0+, empaquetado como la gema
enconvert. - C# / .NET: .NET 8+, métodos asíncronos en toda la superficie y tipos de referencia anulables activados.
- Rust: un cliente bloqueante construido sobre
reqwest, así que no hace falta ningún runtime asíncrono. - Kotlin: JDK 17+, data classes idiomáticas y
kotlinx.serialization. - Swift: macOS 12+, iOS 15+, tvOS 15+ y watchOS 8+, con métodos async await.
¿No vas a escribir código? La CLI cubre la misma API desde una terminal, el servidor MCP la conecta con Claude, Cursor y Windsurf, y el nodo de n8n la incorpora a un flujo de trabajo.
¿Por qué usar un SDK?#
Llamar directamente a la API REST funciona, y los SDKs añaden cuatro cosas por encima:
- Opciones con tipos seguros. Autocompletado en el editor para cada parámetro de cada endpoint, de modo que un error tipográfico en el nombre de un campo falla en tiempo de compilación o de importación en lugar de volver como un
422. - Recuperación automática de tiempos de espera. Los renderizados pesados de URL a PDF y los documentos grandes a veces sobreviven al tiempo de espera del proxy inverso aunque la conversión termine bien en el servidor. Los SDKs generan un
job_iddel lado del cliente, lo envían con la solicitud y recurren de forma silenciosa al sondeo deGET /v1/convert/status/{job_id}si la llamada original devuelve 5xx. No escribes código extra. - Descargas en streaming. Apunta un método a una ruta local y el SDK transmite la respuesta directamente al disco con contrapresión, de modo que el uso de memoria se mantiene plano por muy grande que sea la salida.
- Errores consistentes. Una pequeña jerarquía de excepciones te deja capturar por clase en vez de analizar códigos de estado a mano.
Las dos superficies#
Todos los SDKs reparten sus métodos de la misma manera.
| Superficie | Qué hace | Referencia REST |
|---|---|---|
| Conversión | Documentos, imágenes, formatos de datos, URLs y sitios web completos convertidos a otros formatos | Resumen de endpoints |
| Inteligencia web (V2) | Percibir, descubrir, buscar, extraer, ingerir y monitorizar páginas web en vivo | V1 y V2 |
Cada renderizado de V2 lleva además una puntuación render_quality de 0.0 a 1.0. Una página bloqueada, un intersticial de desafío antibot o el shell vacío de una aplicación de una sola página vuelven marcados con una puntuación baja y avisos, en lugar de pasar en silencio como contenido real, así que una lectura defectuosa nunca entra sin ruido en el contexto de un agente.
Obtén una clave de API#
Cada SDK necesita una clave de API privada (sk_...). Genera una desde el panel de control y pásasela al constructor, leyéndola de una variable de entorno o de tu gestor de secretos. Nunca incrustes una clave privada en el código ni la publiques en código del lado del cliente. El código de navegador debe usar una clave pública (pk_) con un JWT, tal como se describe en Claves públicas y JWT.
Preguntas frecuentes#
¿Qué lenguajes tienen un SDK oficial de conversión de archivos?#
Diez: Node.js y TypeScript, Python, Go, Java, PHP, Ruby, C# y .NET, Rust, Kotlin y Swift. Los diez son oficiales, tienen licencia MIT y siguen la misma API REST, así que cualquier funcionalidad que llegue a la API es accesible desde cualquiera de ellos.
¿Por qué usar un SDK en lugar de llamar directamente a la API REST de conversión de archivos?#
Los SDKs añaden opciones con tipos seguros y autocompletado en el editor, recuperación automática de tiempos de espera para conversiones largas, descargas en streaming directas a disco y una jerarquía de errores consistente que te permite capturar por clase de excepción sin analizar códigos de estado.
¿Cómo gestiona el SDK las conversiones que superan el tiempo de espera del proxy inverso?#
El SDK genera un job_id del lado del cliente, lo envía con la solicitud y recurre al sondeo de GET /v1/convert/status/{job_id} si la solicitud original devuelve 5xx. Devuelve el resultado en cuanto el trabajo queda registrado como exitoso y lanza un error si queda registrado como fallido.
¿Puedo combinar llamadas del SDK con solicitudes HTTP en crudo?#
Sí. Todos los SDKs llaman a los mismos endpoints REST públicos documentados en este sitio, así que las llamadas del SDK y las llamadas HTTP hechas a mano pueden compartir un mismo proyecto y una misma clave.
¿Los SDKs cubren los endpoints de inteligencia web V2?#
Sí. Los diez exponen un espacio de nombres V2 que cubre perceive, discover, lookup, distill, ingest y watch, junto a los métodos de conversión de archivos. Consulta el V1 y V2 para saber qué hace cada endpoint.
¿Qué clave de API necesita un SDK?#
Una clave de API privada (sk_...), generada desde el panel de control y pasada al constructor. Léela de una variable de entorno en lugar de incrustarla en el código, y nunca la empaquetes en código del lado del cliente. El código de navegador debe usar una clave pública con un JWT.
¿Hay un SDK para mi lenguaje si no aparece en la lista?#
Todavía no, y no lo necesitas. La API es REST puro con cuerpos JSON y multipart, así que sirve cualquier cliente HTTP. Empieza por el resumen de endpoints y la guía de autenticación.