Utworzenie obrazu miniatury
Przesłanie miniatury
Własna miniatura jest przesyłana przez żądanie PUT z polem multipart file zawierającym JPEG albo PNG na endpoint /videos/:videoId/thumbnail. Pliki PNG są automatycznie konwertowane na JPEG. Obraz jest skalowany do wariantów aż do rozdzielczości wideo. Odpowiedź to obiekt wideo.
Wideo musi być już zakodowane (status to COMPLETE). Żądanie dla wideo, które wciąż jest kodowane, albo dla brakującego wideo, zwraca 400.
Content-Type musi być multipart/form-data, a nie application/json.
CURL
curl -X PUT https://app.ignitevideo.cloud/api/videos/[VIDEO_ID]/thumbnail \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "file=@[PATH_TO_THUMBNAIL_FILE]"Odpowiedź
Przesłany obraz jest automatycznie skalowany do wielu rozdzielczości. Generowane są tylko rozmiary równe lub mniejsze od obrazu źródłowego. W odpowiedzi zwracany jest pełny obiekt wideo.
src.thumbnailsjest zastępowane wariantami w wielu rozdzielczościach z przesłanego obrazu.src.thumbnailUrljest ustawiane na wariant 1080p (lub najwyższą dostępną rozdzielczość) nowej miniatury.
{
"id": "[VIDEO_ID]",
"title": "Your video title",
"src": {
"thumbnails": [
// ... 2160p, 1440p if source image is large enough
{
"name": "1080p", "width": 1920, "height": 1080,
"formats": {
"jpeg": { "url": "https://cdn.example.com/thumbnails/.../custom/a1b2c3d4-1080p.jpg", "fileSize": 9180 },
"webp": { "url": "https://cdn.example.com/thumbnails/.../custom/a1b2c3d4-1080p.webp", "fileSize": 4256 }
}
},
{
"name": "720p", "width": 1280, "height": 720,
"formats": {
"jpeg": { "url": "https://cdn.example.com/thumbnails/.../custom/a1b2c3d4-720p.jpg", "fileSize": 5180 },
"webp": { "url": "https://cdn.example.com/thumbnails/.../custom/a1b2c3d4-720p.webp", "fileSize": 2106 }
}
},
// ... 480p, 360p, 240p
],
"thumbnailUrl": "https://cdn.example.com/thumbnails/.../custom/a1b2c3d4-1080p.jpg",
...
},
...
}src.thumbnailUrl jest przestarzałe i zostanie usunięte w przyszłej wersji. Zamiast tego używaj src.thumbnails.