Files
SnapOtter/apps/docs/it/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.8 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Trasforma una clip video in una GIF animata. f729dde8cd55 human 9a0752aabe4b

Video to GIF

Trasforma una clip video in una GIF animata con frequenza dei fotogrammi, larghezza, orario di inizio e durata configurabili.

API Endpoint

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

Accetta dati form multipart con un file video e un campo JSON settings. Questo è un endpoint asincrono: restituisce 202 Accepted immediatamente e l'avanzamento viene trasmesso tramite SSE su GET /api/v1/jobs/{jobId}/progress.

Parameters

Parameter Type Required Default Description
fps integer No 12 Frequenza dei fotogrammi di output (1-30)
width integer No 480 Larghezza di output in pixel (64-1280). L'altezza scala in modo proporzionale
startS number No 0 Orario di inizio in secondi (deve essere >= 0)
durationS number No 5 Durata in secondi (superiore a 0, massimo 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

  • Valori più bassi di fps e width producono file GIF più piccoli. Una GIF larga 480px a 12 fps è di solito un buon equilibrio.
  • La durata massima è di 60 secondi. Le clip più lunghe producono file molto grandi.
  • Gli aggiornamenti sull'avanzamento sono disponibili tramite SSE su GET /api/v1/jobs/{jobId}/progress finché il job non è completato.