deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Vercel blog

Vercel AI Gateway, istek zaman aşımını önlemek için asenkron video üretimi ekledi

Vercel'in AI Gateway'i artık video üretimini arka plan işleri olarak çalıştırabiliyor; uzun render işlemleri artık HTTP zaman aşımlarında kırılmıyor thanks to webhook, polling ve başlat-ve-getir akışları sayesinde.

Vercel AI Gateway, istek zaman aşımını önlemek için asenkron video üretimi ekledi

Vercel, barındırılan yapay zeka modellerini çağırmak için kullandığı birleşik API'si AI Gateway'e asenkron video üretimi ekledi. 25 Ağustos'ta yayınlanan changelog gönderisine göre bu değişiklik yapısal bir sorunu ele alıyor: AI SDK'nın generateVideo fonksiyonu normalde, bitmiş video geri dönene kadar gateway'e açık tek bir HTTP isteğini tutuyor ve bir videonun render edilmesi saniyeler ile dakikalar arasında sürebildiğinden, bu istek istek yolundaki sunucuların, proxy'lerin ve platformların zaman aşımı limitlerini aşabiliyor.

Üç asenkron akış

Vercel artık dört desteklenen moddan bahsediyor: orijinal bloklayan çağrı ve üç asenkron alternatif. Mevcut generateVideo çağrıları değişmeden çalışmaya devam ediyor, her mod text-to-video, image-to-video, reference-to-video ve diğer video girdilerini işliyor ve doğru seçim, çağıran sürecin hayatta kalıp kalamayacağına ile uygulamanın webhook alıp alamayacağına bağlı.

İlk seçenek, generateVideo'ya bir webhook ekliyor. Render bittiğinde veya başarısız olduğunda AI Gateway bir event yayıyor; SDK bunu bekliyor, ortaya çıkan videoları indiriyor ve orijinal çağrıyı sonuçlandırıyor. Vercel, çağıran taraf ile webhook alıcısının bir teslimatı doğru üretimle eşleştirmek için paylaşımlı bir token'a ve depoya ihtiyaç duyduğunu, ayrıca bu akışın webhook imza gizli anahtarını (signing secret) açığa çıkarmadığını — tam alıcı deseninin ayrı bir dokümanda yer aldığını belirtiyor.

İkinci seçenek polling. generateVideo'ya bir poll nesnesi eklemek asenkron bir iş başlatıyor ve ardından SDK, video hazır olana veya varsayılan olarak on dakika olan bir sınıra ulaşılana kadar — varsayılan olarak beş saniyelik aralıklarla — kısa bir durum isteği gönderiyor. Çağıran süreç promise çözülene kadar hayatta kalmak zorunda, ancak gateway'e yapılan tek tek isteklerin hiçbiri tüm render süresince açık kalmıyor.

Üçüncüsü işi tamamen istekler arasında bölüyor. startVideo işi gönderiyor ve hemen bir operation handle döndürüyor; bu handle'ı getVideoStatus daha sonra — aynı süreçten ya da farklı bir süreçten — sorgulayabiliyor. Operation JSON olarak serileştirilebilir, yani bir veritabanına kaydedilebilir veya bir kuyruk üzerinden yönlendirilebilir; ve uygulamanın ne kadar süre kontrol edeceğine kendisi karar verdiği için yerleşik bir zaman aşımı yok. startVideo ayrıca bir webhookUrl kabul ediyor ve bu akışta başlangıç yanıtı, teslimatları doğrulamak için gereken signing secret'ı içeriyor. Bir uyarı: getVideoStatus barındırılan dosyaları indirmiyor. Provider URL'lerini veya inline byte'ları döndürüyor ve barındırılan URL'lerin süresi dolabiliyor, bu yüzden saklanmaya değer her şey indirilmeli.

Gönderideki kod örnekleri, akışları klingai/kling-v3.0-t2v, spacexai/grok-imagine-video-1.5 ve bytedance/seedance-2.5 gibi modellerle gösteriyor.

Gözlemlenebilirlik

Her asenkron üretim, başlar başlamaz AI Gateway Logs sayfasında görünüyor; Running olarak listeleniyor ve iş tamamlandığında veya başarısız olduğunda güncelleniyor. Bir Request Mode filtresi görünümü yalnızca asenkron işlere daraltıyor ve bir kaydın açılması iş kimliğini ve istek ayrıntılarını gösteriyor. Standart senkron çağrılar ise video hazır olduğunda hâlâ tek bir tamamlanmış istek olarak görünüyor.

Yeni modları kullanmak için geliştiricilerin ai ve @ai-sdk/gateway paketlerinin en son sürümlerini yüklemesi gerekiyor.

Neden önemli

Video üretim süreleri, yavaş bir API çağrısı ile bir batch işi arasında garip bir yerde duruyor; ne bir tarayıcı ne de tipik bir sunucu zaman aşımı, dakikalar boyunca açık bir bağlantı tutmaktan hoşlanıyor. Webhook'lar, kısa aralıklı polling ve süreçler arasında hayatta kalabilen dayanıklı operation handle'lar sunarak Vercel, geliştiricilere diğer uzun süren işler için zaten kullandıkları desenleri veriyor — bu, bir sürecin render'dan daha uzun yaşamayabileceği geçici, istek başına hesaplama ortamlarında en çok önem taşıyor. JSON olarak serileştirilebilir operation, üçünün en esneği: kuyruklara ve veritabanlarına doğal şekilde uyuyor ve bir istek tarafından başlatılan bir işin başka bir istek tarafından sahiplenilip tamamlanmasını sağlıyor. Geriye kalan keskin kenar ise varlık ömrü — provider tarafından barındırılan URL'lerin süresi dolabiliyor — bu yüzden uygulamaların saklamak istedikleri her şey için kendi indirme-ve-depolama adımlarına ihtiyacı var.

  • #ai-gateway
  • #vercel
  • #video-generation
  • #ai-sdk
  • #webhooks

İlgili yazılar