heygen模型介面 簡單使用 java版

delx發表於2023-09-26

HeyGen - AI Spokesperson Video Creator  官網地址

Create a video (heygen.com) api地址

簡介:

  公司最近對ai方面業務比較感興趣了,特別是aigc合成式人工智慧方面。國內現在都還處於試用階段,真正面向的c端,b端的產品還不夠完善。

最的就是做了一些直播數字人,短影片數字人,數字人名片等邊緣應用這種。現在我們的需求就是對接heygen的模型介面,比較重要的就是合成影片,

語言合成,根據模板生成影片的介面,下面貼出一些簡單的示例工具類並列舉一些我自己踩的坑,防止自己迭代的時候忘記。

 

工具類

 

對接介面很簡單,但是有幾個比較坑的點和需要補充的點

1.上傳人臉的照片時,heygen的介面演示的是base64編碼的格式,我還以為需要轉成base64的格式才行,結果一直報錯,其實是heygen那邊自己的轉換的,我們這邊只需要把檔案轉為 位元組陣列就行了

2. 如果你的需求對於影片來說不繁雜,只需要一個生成出來的數字人影片的話,直接使用生成影片的介面就ok了,呼叫這個介面會返回給你一個影片的唯一id,然後根據影片id去查詢影片狀態,如果成功了

就會返回 影片的路徑,影片縮圖的路徑,但是需要注意這些連結都會過期,你可以自己轉存oss或者是定時重新整理連結就行。

3. 如果你想直接生成一些比較複雜的影片,我建議你還是在heygen官網的dome中去生成一些模板,然後根據模板中的格式去用程式碼替換比較簡單,但是這個模板一但很多,就更加麻煩了,我的解決方案是使用的

策略者模式來較為優雅的解決使用很多模板的需要硬編碼的問題。

4. 因為heygen主要對接的是海外市場,所以可以用來合成影片的中午音訊會比較少,但是也包含了普通話,粵語,臺灣腔調這種,現在全部的音訊有 382條左右,直接請求會很慢,所以我索性在我這邊做了一個索引

當然你也可以自己上傳你自己的聲音來合成影片。

ps:

最麻煩的就是 json格式的處理,一個模板返回的json就有160行左右,並且巢狀多層,我是使用的fastjson2 ,做一個物件來相互轉換的。如果有更好的處理辦法也可以留言告訴我

 

相關文章