Aszinkron videógenerálást kapott a Vercel AI Gateway

A Vercel AI Gateway mostantól aszinkron módon is képes videókat generálni. A fejlesztők webhookkal, állapotlekérdezéssel vagy egy későbbi kérésben kérhetik le az elkészült videót, így nem kell egyetlen HTTP-kapcsolatot nyitva tartani a teljes renderelés alatt.
- Az AI Gateway aszinkron videógenerálást támogat webhookkal és pollinggal.
- A startVideo azonnal műveletazonosítót ad az elfogadott feladathoz.
- A Workflow SDK a renderelés alatt felfüggeszti a munkafolyamatot.
- Az aszinkron feladatok az AI Gateway Logs oldalon követhetők.
Négyféle működési mód közül választhatnak a fejlesztők
A Vercel augusztus 25-i bejelentése szerint az AI Gateway alapértelmezett generateVideo hívása továbbra is nyitva tart egy HTTP-kérést addig, amíg az eredmény elkészül. A videógenerálás azonban másodpercekig vagy percekig is tarthat, ezért a kérés túllépheti a rendelkezésre álló időkorlátot.
Az új aszinkron lehetőségek ezt a problémát kezelik. A startVideo a Workflow SDK-val tartós futást kínál, amely a befejezésre várva felfüggeszti a munkafolyamatot. A generateVideo webhookkal a befejezési eseményre vár, a generateVideo poll opciója pedig rövid állapotlekérdezéseket küld. A startVideo és a getVideoStatus különválasztásával a feladat azonnal elindítható, majd később ugyanabból vagy egy másik folyamatból ellenőrizhető.
A meglévő generateVideo hívások továbbra is ugyanúgy működnek. Mind a négy új lehetőség támogatja a szövegből, képből és referenciaképből történő videógenerálást, valamint más videós bemeneteket is.
Webhook, lekérdezés vagy későbbi eredménylekérés
A fejlesztőknek először az AI SDK és az AI Gateway szolgáltatójának legfrissebb verzióját kell telepíteniük. A Vercel példái szerint ehhez a pnpm add ai@latest @ai-sdk/gateway@latest parancs használható.
A Workflow SDK-val a munkafolyamat saját webhook-URL-t hoz létre, ezt a startVideo megkapja, majd a futás felfüggesztve marad, amíg az AI Gateway el nem küldi a befejezési eseményt. A Vercel leírása szerint a videó renderelése alatt nem fut számítás, a folyamat pedig a végső esemény után folytatódik.
A webhookos generateVideo hívásnál az SDK megvárja a befejezési vagy hibajelzést, lekéri a videókat, majd feloldja az eredeti hívást. Ehhez a hívó folyamatnak és a webhookkezelőnek közös tokent és tárolót kell használnia, hogy az esemény a megfelelő generáláshoz legyen párosítható.
A pollingos megoldásnál a fejlesztő megadhatja a lekérdezések gyakoriságát és az időkorlátot. A bemutatott példa öt másodpercenként kérdez, és legfeljebb 600000 milliszekundumig, vagyis tíz percig vár. A hívó folyamatnak futva kell maradnia, de egyetlen AI Gateway-kérés sem marad nyitva a teljes renderelés idején.
A feladatok naplózhatók és később is folytathatók
A startVideo azonnal visszaad egy JSON-ként szerializálható műveletet, amint az AI Gateway elfogadta a feladatot. Az alkalmazás ezt eltárolhatja adatbázisban vagy átadhatja egy várólistának, majd később a getVideoStatus segítségével ellenőrizheti az állapotot. Ennél a módszernél az alkalmazás szabályozza, meddig próbálkozik, mivel nincs beépített időkorlát.
A startVideo webhook-URL-t is fogadhat. A kezdő válasz tartalmazza a webhook ellenőrzéséhez szükséges aláírási titkot. A getVideoStatus nem tölti le a szolgáltatók által tárolt videókat, hanem szolgáltatói URL-eket vagy beágyazott bájtokat ad vissza. A Vercel figyelmeztetése szerint a tárolt URL-ek lejárhatnak, ezért a szükséges videókat le kell tölteni.
Minden aszinkron generálás megjelenik az AI Gateway Logs oldalon már az indításkor. A feladatok futás közben Running állapotúak, majd befejezéskor vagy hibánál frissülnek. A naplókban az Async kérésmódra szűrve csak ezek a feladatok jeleníthetők meg, a megnyitott bejegyzésekben pedig a feladat azonosítója és a kérés részletei láthatók.
Vercel: AI Gateway now supports asynchronous video generation


