API

API de PixelToPath

Vectoriza imágenes de forma programática con una sola llamada REST. Sube un archivo PNG, JPG, BMP o WebP, obtén un SVG limpio y listo para producción. El arte lineal en blanco y negro es trazado por Potrace, las imágenes a color por VTracer: los mismos motores que el conversor en línea gratuito.

10 conversiones gratis cada mes · No se requiere tarjeta de crédito

10 conversiones gratis / mes • 1 llamada REST • Motores Potrace + VTracer • Los créditos nunca caducan

Inicio rápido

Tres pasos y estarás convirtiendo imágenes a SVG desde tu terminal, tus scripts o tu aplicación.

1 · Crea tu cuenta

Regístrate en el portal de clientes con tu correo electrónico y una contraseña (más de 10 caracteres). No se requiere tarjeta de crédito.

2 · Crea una clave de API

En el portal, crea una clave. Se muestra una vez: guárdala en un lugar seguro. Las claves se ven como ptp_live_… y pueden revocarse en cualquier momento.

3 · Llama a /v1/convert

Envía tu imagen como multipart/form-data con tu clave en el encabezado de Authorization. El SVG volverá en el cuerpo de la respuesta.

Tu primera conversión

curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
  -H "Authorization: Bearer ptp_live_YOUR_KEY" \
  -F "[email protected]" \
  -F "colormode=binary" \
  -o logo.svg

Referencia interactiva: pixel-to-path.com/v1/docs (OpenAPI/Swagger).

Autenticación

Cada solicitud se autentica con un token Bearer en el encabezado Authorization:

Authorization: Bearer ptp_live_0123abc…
  • Las claves son secretas: se almacenan con hash en el servidor y se muestran solo una vez al crearlas. ¿Perdiste tu clave? Revócala y crea una nueva.
  • Una cuenta, varias claves: crea hasta 5 claves activas para separar tus proyectos. Tu cuota gratuita mensual se cuenta por cuenta, no por clave.
  • Revocación instantánea: una clave revocada deja de funcionar inmediatamente, desde el portal o en la respuesta de la API de una cuenta baneada.

POST /v1/convert

Subida + conversión en una única llamada stateless. Una llamada exitosa cuesta como máximo 1 crédito; las llamadas fallidas, no válidas o con rate-limit no cuestan nada.

Solicitud (multipart/form-data)

Campo Tipo Predeterminado Descripción
file file La imagen a convertir. PNG, JPEG, BMP o WebP · máx. 20 MB · máx. 50 Mpx · mín. 64×64 px.
colormode string color <code>color</code> usa el motor VTracer, <code>binary</code> usa Potrace (blanco y negro).
mode string spline Solo color (VTracer) — se ignora en modo binario. spline | polygon | none
hierarchical string stacked Solo color (VTracer) — se ignora en modo binario. stacked | cutout
filter_speckle int 4 Solo color (VTracer) — se ignora en modo binario. 0–16 — elimina pequeñas manchas de ruido.
color_precision int 6 Solo color (VTracer) — se ignora en modo binario. 1–8 — número de bits significativos por canal de color.
layer_difference int 16 Solo color (VTracer) — se ignora en modo binario. 0–64 — distancia entre capas de color.
corner_threshold int 60 0–180 — ángulo de detección de esquinas (ambos motores).
length_threshold float 4.0 3.5–10 — longitud mínima de segmento (ambos motores).
splice_threshold int 45 0–180 — ángulo de división de trazados (ambos motores).
path_precision int 3 0–8 — decimales en las coordenadas de los trazados.
invert bool false Solo binario (Potrace) — se ignora en modo color. Traza las áreas claras en lugar de las oscuras.
turdsize int 2 Solo binario (Potrace) — se ignora en modo color. 0–20 — suprime manchas hasta este tamaño.
alphamax float 1.0 Solo binario (Potrace) — se ignora en modo color. 0–1.334 — umbral de suavizado de esquinas.
opttolerance float 0.2 Solo binario (Potrace) — se ignora en modo color. 0–10 — tolerancia de optimización de curvas.

Dos motores, elegidos por "colormode"

La API ejecuta exactamente los mismos motores que el conversor en línea gratuito y la aplicación de escritorio:

binario — Potrace

Trazado en blanco y negro de arte lineal, escaneos, bocetos y logotipos. La parte oscura de la imagen (escala de grises < 50%) se traza sobre un fondo blanco. Ajusta el resultado con turdsize (eliminación de ruido), alphamax (suavizado de esquinas) y opttolerance (optimización de trazados).

color — VTracer

Vectorización en color por capas para ilustraciones, dibujos animados y fotos. Controla el nivel de detalle con filter_speckle, color_precision, layer_difference y el ajuste de curvas con mode (spline, polygon, none).

Las imágenes se preprocesan exactamente igual que en el sitio web: el lado más largo se redimensiona a 1500 px antes de la conversión, y la API devuelve el tipo de imagen detectado (line_art, logo, photo o illustration) en el encabezado X-Detected-Type.

Respuesta

En caso de éxito: 200 OK con image/svg+xml — el cuerpo es el archivo SVG en sí. Encabezados informativos:

Encabezado Descripción
X-Credits-RemainingCréditos de pago restantes en la cuenta, después del cobro de esta llamada.
X-Free-RemainingConversiones gratuitas restantes este mes.
X-Detected-TypeTipo de imagen detectado (información): line_art, logo, photo o illustration.
X-Processing-TimeTiempo de procesamiento del servidor en segundos.

GET /v1/me

Estado de la cuenta para la clave utilizada. Gratis — nunca se descuenta de tu cuota, nunca se cobra.

Ejemplo de respuesta

GET /v1/me
Authorization: Bearer ptp_live_…

{
  "key": { "name": "prod", "prefix": "ptp_live_0123abc", … },
  "usage": {
    "month": "2026-09", "free_used": 7, "free_limit": 10,
    "free_remaining": 3, "resets_at": "2026-10-01T00:00:00+00:00"
  },
  "credits": { "balance": 120 }
}

Errores

Cada error devuelve un JSON consistente. Las llamadas fallidas nunca consumen créditos.

HTTP/1.1 402 Payment Required
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly free quota used and no credits left.",
    "usage": { "free_used": 10, "free_limit": 10, "credits": 0 }
  }
}
HTTP Código Cuándo
401invalid_api_keyFalta la clave de API, está malformada, es desconocida o ha sido revocada.
402quota_exceededCuota gratuita mensual agotada y sin créditos restantes.
403account_bannedLa cuenta está baneada — todas sus claves son rechazadas.
403ip_blockedLa IP está en la lista de bloqueo.
413file_too_largeArchivo de más de 20 MB.
422invalid_image / image_too_small / invalid_paramsImagen no válida, imagen demasiado pequeña o valor de parámetro no válido.
429rate_limitedLímite de tasa por clave excedido (ver a continuación). Incluye un encabezado Retry-After.
500internal_errorLa conversión falló del lado del servidor — no se cobran créditos.

Límites de tasa

Los límites se aplican por clave de API, no por IP, por lo que una oficina compartida o un runner de CI nunca es penalizado por el tráfico de otra persona.

Límite Valor
Solicitudes por minuto, por clave60
Solicitudes por día, por clave2 000
Conversiones simultáneas, por clave2 (las llamadas adicionales esperan, luego 429)
Tamaño de archivo / resolución máx.20 MB / 50 Mpx

Precios

Cada cuenta nueva obtiene 10 conversiones gratuitas cada mes, sin necesidad de tarjeta de crédito. ¿Necesitas más? Compra imágenes prepago: cualquier cantidad (en lotes de 50), con descuentos por volumen. Nunca caducan y se acumulan con tu cuota gratuita mensual (las conversiones gratuitas se consumen primero).

Gratis

0 €/mes

  • 10 conversiones / mes
  • Ambos motores (Potrace + VTracer)
  • Hasta 5 claves de API
Crea una cuenta

Imágenes prepago

0,050 €/ imagen

Precios por volumen — cuantas más imágenes compres, más barata será cada una
Imágenes50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.010
  • 1 imagen comprada = 1 conversión (los créditos nunca caducan)
  • Nunca caducan, se acumulan con el nivel gratuito
  • Cualquier cantidad: 0,040 €/imagen desde 500, hasta 0,010 €/imagen
Comprar imágenes

Crédito automático: tu saldo se actualiza a los pocos segundos del pago, a través del webhook de pago. Los reembolsos deducen los créditos comprados, limitados al saldo actual. Pago seguro a través de Lemon Squeezy (el IVA se maneja automáticamente).

Ejemplos de código

Copia, pega y adapta. La API habla multipart/form-data puro, por lo que cualquier cliente HTTP funcionará.

cURL

curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
  -H "Authorization: Bearer ptp_live_YOUR_KEY" \
  -F "[email protected]" \
  -F "colormode=color" \
  -F "filter_speckle=4" \
  -o photo.svg

Python

import requests

resp = requests.post(
    "https://api.pixel-to-path.com/v1/convert",
    headers={"Authorization": "Bearer ptp_live_YOUR_KEY"},
    files={"file": open("photo.jpg", "rb")},
    data={"colormode": "color", "filter_speckle": 4},
)
resp.raise_for_status()
print(resp.headers["X-Credits-Remaining"], "credits left")
with open("photo.svg", "wb") as f:
    f.write(resp.content)

JavaScript

const form = new FormData();
form.append("file", new Blob([imageBytes]), "photo.jpg");
form.append("colormode", "color");

const resp = await fetch("https://api.pixel-to-path.com/v1/convert", {
  method: "POST",
  headers: { "Authorization": "Bearer ptp_live_YOUR_KEY" },
  body: form,
});
if (!resp.ok) {
  const { error } = await resp.json();
  throw new Error(`${error.code}: ${error.message}`);
}
const svg = await resp.text();
console.log(resp.headers.get("X-Credits-Remaining"), "credits left");

Preguntas frecuentes

¿Qué cuenta como una conversión?

Una llamada POST /v1/convert exitosa que devuelve un SVG. Las llamadas fallidas (imagen no válida, parámetros incorrectos, límite de tasa, error del servidor) y las llamadas a GET /v1/me nunca se cobran.

¿Cómo se cuenta la cuota gratuita mensual?

Por cuenta, según el mes del calendario UTC: se restablece el día 1 a las 00:00 UTC. Crear varias claves de API no multiplica la cuota gratuita: todas las claves de una cuenta comparten las mismas 10 conversiones gratuitas.

¿Caducan los créditos?

No. Los créditos comprados permanecen en tu cuenta hasta que los usas. Se consumen solo después de que se agotan tus 10 conversiones mensuales gratuitas.

¿Cómo obtengo más conversiones en un mes?

Compra imágenes prepago desde el portal de clientes: cualquier cantidad, en lotes de 50. Siempre verás exactamente cuántas imágenes obtienes: 50 imágenes 2,50 €, 500 imágenes 20 €, 2500 75 €, 10 000 200 €, 50 000 500 €. Los créditos se añaden a tu cuenta automáticamente a los pocos segundos del pago: sin clave de licencia, nada que introducir.

¿Qué pasa si pierdo mi clave de API?

Las claves se almacenan con hash, por lo que no se pueden recuperar. Revoca la clave perdida en el portal y crea una nueva: tiene efecto inmediato.

¿Qué formatos de imagen son compatibles?

PNG, JPEG, BMP y WebP, hasta 20 MB y 50 megapíxeles, al menos 64×64 píxeles. Las imágenes de más de 1500 px en su lado más largo se redimensionan antes de la conversión, exactamente como en el sitio web gratuito.

Elige tu versión

El mismo motor potente: elige el formato que se adapte a tu flujo de trabajo.

🌐

Herramienta en línea

Gratis

Convierte imágenes directamente en tu navegador. Sin instalar, sin cuenta.

Abrir la herramienta
💻

App de escritorio

Gratis y de código abierto

El conversor completo en tu máquina, para Windows y Linux.

Descargar gratis
⌨️

App de escritorio Pro

39 € pago único

Carpeta activa, conversión por lotes y CLI para cargas de trabajo pesadas.

Obtener Pro
🔌

API

Nivel gratuito + paquetes de créditos

Una llamada REST: envía una imagen, obtén un SVG limpio. 10 gratis/mes.

Obtén una clave de API

¿Listo para vectorizar a gran escala?

Crea tu cuenta, obtén una clave y haz tu primera llamada en menos de dos minutos.

Obtén tu clave de API gratuita