用 REST API 对接 Omni Flash:网页版 AI 视频生成器的接入实战

发布时间:2026/6/15 11:56:34
用 REST API 对接 Omni Flash:网页版 AI 视频生成器的接入实战 前言Omni Flash 是一款 online 的网页版 AI 视频生成器基于 Google 视频 AI支持 text-to-video、image-to-video可输出 16:9 / 9:16 比例适合广告、社媒短视频、产品演示等场景。除了在网页里直接出片它还开放了一套简洁的 REST API方便把视频/图片生成能力嵌进自己的服务里。本文从技术角度走一遍完整对接流程拿 Key、鉴权、提交任务、轮询结果并给出可直接运行的 Python / Node.js 封装。一、准备工作获取 API Key接口采用 Bearer Token 鉴权所有请求都要带一个sk-开头的密钥。去官网 Omni Flash 登录后在账户页Account / API Keys即可生成并复制你的密钥形如sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx请求头统一带上Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx如果 Key 缺失或无效服务端会直接返回 HTTP 401。二、支持的模型model_id只接受以下取值选错会被拒绝MODEL_ID能力输出omni-flashOmni Flash文/图生视频video_urlomni-proOmni Pro文/图生视频video_urlseedance-2Seedance 2.0文/图生视频video_urlgpt-image-2ChatGPT Image 2文/图生图image_urlnano-banana-2Nano Banana 2文/图生图image_url视频类模型返回video_url图片类模型返回image_url下游解析时要按模型区分。三、创建任务提交一个生成请求接口会立即返回task_id后续靠它轮询。接口POST https://omniflash.net/api/v1/tasks/create请求体{model_id:gpt-image-2,prompt:a serene zen garden at sunrise, ultra detailed,image_urls:[],aspect_ratio:16:9}字段说明model_id必填上表中的模型 ID。prompt必填文本描述。image_urls可选源图地址数组做图生视频/图生图时传入。aspect_ratio可选输出比例如16:9、9:16。cURL 示例curl-XPOST https://omniflash.net/api/v1/tasks/create\-HAuthorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\-HContent-Type: application/json\-d{ model_id: gpt-image-2, prompt: a serene zen garden at sunrise, aspect_ratio: 16:9 }响应{code:200,msg:提交成功等待生成,data:{task_id:abcdef123456,request_id:kie_xxxxxxxxxxxx,credits:15}}积分在提交时即扣除任务失败会自动退还所以不用担心扣了钱却没出片。四、轮询任务结果拿到task_id后轮询直到task_status变成 3成功或 4失败。接口GET https://omniflash.net/api/v1/tasks/{task_id}cURL 示例curlhttps://omniflash.net/api/v1/tasks/abcdef123456\-HAuthorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx响应{code:200,msg:ok,data:{task_id:abcdef123456,task_status:3,task_type:image,model_id:gpt-image-2,image_url:https://your-cdn.com/...,video_url:null,audio_url:null,credits:15,created_at:1730000000}}task_status状态机1排队中2生成中3成功从video_url/image_url取结果4失败看msg五、Python 封装提交 轮询一把梭importtimeimportrequests BASEhttps://omniflash.netAPI_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxHEADERS{Authorization:fBearer{API_KEY}}defcreate_task(model_id,prompt,image_urlsNone,aspect_ratio16:9):payload{model_id:model_id,prompt:prompt,image_urls:image_urlsor[],aspect_ratio:aspect_ratio,}rrequests.post(f{BASE}/api/v1/tasks/create,jsonpayload,headersHEADERS)r.raise_for_status()datar.json()[data]returndata[task_id]defwait_for_result(task_id,interval5,timeout600):deadlinetime.time()timeoutwhiletime.time()deadline:rrequests.get(f{BASE}/api/v1/tasks/{task_id},headersHEADERS)r.raise_for_status()datar.json()[data]statusdata[task_status]ifstatus3:returndata.get(video_url)ordata.get(image_url)ifstatus4:raiseRuntimeError(f任务失败:{data.get(msg)})time.sleep(interval)raiseTimeoutError(轮询超时)if__name____main__:tidcreate_task(omni-flash,a cat surfing on a rainbow wave)urlwait_for_result(tid)print(生成结果:,url)六、Node.js 封装constBASEhttps://omniflash.net;constAPI_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;constheaders{Authorization:Bearer${API_KEY},Content-Type:application/json,};asyncfunctioncreateTask(modelId,prompt,opts{}){constresawaitfetch(${BASE}/api/v1/tasks/create,{method:POST,headers,body:JSON.stringify({model_id:modelId,prompt,image_urls:opts.imageUrls||[],aspect_ratio:opts.aspectRatio||16:9,}),});constjsonawaitres.json();returnjson.data.task_id;}asyncfunctionwaitForResult(taskId,interval5000,timeout600000){constdeadlineDate.now()timeout;while(Date.now()deadline){constresawaitfetch(${BASE}/api/v1/tasks/${taskId},{headers});const{data}awaitres.json();if(data.task_status3)returndata.video_url||data.image_url;if(data.task_status4)thrownewError(任务失败:${data.msg});awaitnewPromise((r)setTimeout(r,interval));}thrownewError(轮询超时);}(async(){consttidawaitcreateTask(omni-flash,a cat surfing on a rainbow wave);console.log(生成结果:,awaitwaitForResult(tid));})();七、错误处理约定code: 200—— 成功。code: 0—— 业务失败具体原因看msg字段。HTTP 401—— Key 无效或缺失检查Authorization头。实际接入时建议把code ! 200统一抛异常并对网络层做重试。小结整套对接非常轻量一个 POST 提交任务、一个 GET 轮询结果鉴权就一个 Bearer Token。因为 Omni Flash 本身是网页版 online 服务你既可以在浏览器里手动出片也可以用上面的封装把文/图生视频能力接进自己的后端或自动化流水线。Key 在 Omni Flash 官网登录后的账户页即可获取复制进代码就能跑起来。