Files
SnapOtter/apps/docs/es/tools/video/video-to-gif.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

1.9 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Convierte un clip de vídeo en un GIF animado. f729dde8cd55 human 4c14e0a22abb

Video to GIF

Convierte un clip de vídeo en un GIF animado con velocidad de fotogramas, ancho, tiempo de inicio y duración configurables.

API Endpoint

POST /api/v1/tools/video/video-to-gif

Acepta datos de formulario multipart con un archivo de vídeo y un campo JSON settings. Este es un endpoint asíncrono: devuelve 202 Accepted de inmediato y el progreso se transmite vía SSE en GET /api/v1/jobs/{jobId}/progress.

Parameters

Parameter Type Required Default Description
fps integer No 12 Velocidad de fotogramas de salida (1-30)
width integer No 480 Ancho de salida en píxeles (64-1280). El alto se escala proporcionalmente
startS number No 0 Tiempo de inicio en segundos (debe ser >= 0)
durationS number No 5 Duración en segundos (mayor que 0, máximo 60)

Example Request

curl -X POST http://localhost:1349/api/v1/tools/video/video-to-gif \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@clip.mp4" \
  -F 'settings={"fps": 15, "width": 320, "startS": 2, "durationS": 8}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Notes

  • Los valores más bajos de fps y width producen archivos GIF más pequeños. Un GIF de 480px de ancho a 12 fps suele ser un buen equilibrio.
  • La duración máxima es de 60 segundos. Los clips más largos producen archivos muy grandes.
  • Las actualizaciones de progreso están disponibles vía SSE en GET /api/v1/jobs/{jobId}/progress hasta que el trabajo se completa.