APIMaster.ai

Gemini Omni 1.2 Flash — 参数、计费与幂等

渠道 335 的 JSON 请求、任务续写、状态查询、实际费用和网关幂等边界。

Gemini Omni 1.2 Flash

核验日期:2026-11-07。本文只描述 APIMaster 的 gemini-omni-1.2-flash 网关接口,不代表 Google 原生 Interactions API 的全部能力。1.1 的 Official/Ext 参数表不适用于 1.2。

完整英文文档 · OpenAPI 3.1 JSON · 实时模型卡

接口与权限

用途 方法和路径
创建 POST https://apimaster.ai/v1/videos,兼容 /videos/generations
查询生成任务 GET https://apimaster.ai/v1/videos/{task_id}
下载结果 GET https://apimaster.ai/v1/videos/{task_id}/content
按原幂等键查提交记录 GET https://apimaster.ai/v1/video-submissions/by-key
当前 API Key 的近期消费记录 GET https://apimaster.ai/api/log/token

使用 Authorization: Bearer YOUR_API_KEY;创建请求只接受 Content-Type: application/json。当前在售渠道为 335,不需要把渠道编号拼进模型 ID。API Key 的模型、分组权限及余额必须满足要求;当前没有另行公开的客户白名单。没有单独的 1.2 Ext 路由。模型出现在 /v1/models 中不代表全部 Google 能力均已开放。

完整字段

所有模式都必须提供 model 和非空白 prompt,未知顶层字段会被拒绝。

字段 类型 说明
model string 固定为 gemini-omni-1.2-flash。
prompt string 每种模式都必填;生成的对白、音乐、音效可写在提示词里。
duration integer 默认 10;普通文生、图生、参考图生成 3–15 秒;首尾帧插值与续写新增部分 3–10 秒;编辑时忽略。
seconds integer / integer string 兼容别名,新客户端只发 duration;两者同时存在时 duration 优先。
resolution string 360p、720p(默认)、1080p、4k,不区分大小写;2160p 转成 4k;1080p/4k 为上采样输出。
aspect_ratio string 16:9(默认)或 9:16;其他字符串目前转成 16:9,请仅发这两个值。
ratio、size string 宽高比的历史别名,不是分辨率;优先级为 aspect_ratio → ratio → size,建议只提供一个。
image_urls string[] 公网 HTTP(S) 图片直链;单图默认作为起始画面,多图作为参考。
first_frame_image string 首帧图片直链。
last_frame_image string 尾帧图片直链,必须同时提供首帧;首尾比例应一致并匹配输出比例。
image_with_roles object[] 首尾帧的另一种写法;每项必须有 url 和非空 role,first_frame/last_frame 为首尾帧,其他角色为参考图。尾帧必须有首帧。
video_urls string[] 最多一个不超过 15 秒的公网输入视频;默认编辑。
omni_reference_task_type string auto(默认)、edit、extend、reference、text_to_video、image_to_video、reference_to_video。有视频或父任务时,必须显式 extend 才会续写,否则编辑。
extend_from_task_id string 当前账户自己已成功的同模型公共 task_... ID;与 video_urls 互斥,必须仍能使用原渠道和原上游账户。不是 Google interaction ID。

所有图片与首尾帧合计最多 10 张。image_with_roles 与直接首尾帧字段二选一。供应商建议角色参考最多两个角色、每个角色三张图,这不是网关十张总数上限的替代规则。

输入必须为公网可直接下载的 HTTP(S) URL,不支持 Base64、Data URL 或 multipart。已验证 PNG/JPEG 图片和 MP4 视频。网关时长探测支持 MP4/MOV 兼容媒体,最多读取 100 MiB;这是探测读取边界,不代表上游保证接受所有 100 MiB 文件或所有编码。目前没有已公布的该渠道单图字节上限或完整上游编码/文件大小合同,请优先用小体积 PNG/JPEG、MP4 素材,不能直接套用 Google 原生接口的素材限制。

不支持独立音频参考、audio_urls、Google interaction/conversation 状态、metadata、generation_type、system_prompt、temperature、negative_prompt、seed、fps、n。负面要求和生成音效要求写进 prompt。生成视频中的音频计入视频输出价格。可以基于已完成公共任务连续编辑或续写;这不是原生 Google 多轮会话,每一轮仍受输入视频不超过 15 秒的限制。

不执行生成的 JSON 示例

以下只是请求体,不会执行。将示例素材 URL 和任务 ID 换成自己的;每个新操作使用不同幂等键,同一个操作重试时保持原键和原请求体。

文生视频

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "A blue glass sphere rolls slowly across a plain gray table.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9"
}

单图或多图参考

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Animate these geometric references while preserving their shapes and colors.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://example.com/reference-a.png",
    "https://example.com/reference-b.png"
  ],
  "omni_reference_task_type": "reference"
}

直接首尾帧

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Make a smooth transition from the first view to the last view.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9",
  "first_frame_image": "https://example.com/first.png",
  "last_frame_image": "https://example.com/last.png"
}

带角色的首尾帧

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "A blue glass sphere rolls slowly across a plain gray table.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9",
  "image_with_roles": [
    {
      "url": "https://example.com/first.png",
      "role": "first_frame"
    },
    {
      "url": "https://example.com/last.png",
      "role": "last_frame"
    }
  ]
}

编辑视频 URL(不传 duration)

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Change the lighting to sunset while preserving the scene.",
  "video_urls": [
    "https://example.com/input.mp4"
  ],
  "resolution": "720p",
  "omni_reference_task_type": "edit"
}

续写视频 URL

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Continue the camera movement for three more seconds.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9",
  "video_urls": [
    "https://example.com/input.mp4"
  ],
  "omni_reference_task_type": "extend"
}

续写已完成公共任务

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Continue the previous scene with a gentle camera pan.",
  "duration": 3,
  "resolution": "360p",
  "aspect_ratio": "16:9",
  "extend_from_task_id": "task_YOUR_COMPLETED_TASK",
  "omni_reference_task_type": "extend"
}

编辑已完成公共任务

{
  "model": "gemini-omni-1.2-flash",
  "prompt": "Keep the scene but turn the blue sphere yellow.",
  "extend_from_task_id": "task_YOUR_COMPLETED_TASK",
  "omni_reference_task_type": "edit",
  "resolution": "720p"
}

多轮续写时,等待子任务成功后,把它的公共任务 ID 作为下一轮父任务。累计视频超过 15 秒后,不能再按当前视频输入限制继续引用。音频输入不支持,因此没有可用的音频参考请求示例。

提交、轮询、下载与失败

首个成功提交 HTTP 200:

{"id":"task_REDACTED_EXAMPLE","task_id":"task_REDACTED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"queued"}

每 5–10 秒轮询一次,直到 completed 或 failed。中间状态为 queued、in_progress;客户端还应容忍过渡/未知状态 unknown。查询和下载都不是生成请求。

当前适配器的完成响应结构(任务标识与时间已替换):

{"id":"task_REDACTED_COMPLETED_EXAMPLE","task_id":"task_REDACTED_COMPLETED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"completed","progress":100,"created_at":1793966808,"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content","metadata":{"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content"}}

下载 url 或 metadata.url 时继续带 API Key;它们是平台鉴权代理,不是上游公开下载链接。生成失败的轮询响应通常仍为 HTTP 200:

{"id":"task_REDACTED_FAILED_EXAMPLE","task_id":"task_REDACTED_FAILED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"failed","progress":100,"created_at":1793966808,"error":{"code":"generation_failed","message":"The generation request failed."}}

具体错误信息经过脱敏且会变化。提交参数、鉴权、余额、路由等错误使用 HTTP 4xx/5xx。POST 超时或 5xx 不等于上游未受理。

实际用量、最终费用与退款

轮询响应目前不保证提供 usage、模态细分或美元总额。 没有 Omni 专属 invoice 接口,不能把 /v1/videos/{task_id}/billing 当作该模型的最终账单协议。

API 集成可用同一个 Bearer Key 请求 GET https://apimaster.ai/api/log/token,读取该 Key 的有限条近期日志。它不是可分页的长期账单导出。账户整体及历史记录使用登录后的消费日志 GET /api/log/self,后者需要账户认证,不能用模型 API Key 替代。

将日志行的 other 字符串解析成 JSON,按 other.task_id 匹配公共任务 ID。成功结算后,other.final_amount_usd 是包含冻结路由与用户价格规则的最终对客金额。有实际用量时,日志包括 prompt_tokens、completion_tokens,以及可能存在的 other.input_tokens、other.text_output_tokens、other.video_output_tokens、other.token_usage_source、other.retail_token_prices、other.group_ratio。

历史验收的一个 3 秒 360p 任务使用输入 39、文本输出 0、视频输出 5793 tokens,最终对客金额为 $0.064286。这是应用当时倍率并按额度精度取整后的历史样例,不是新请求的固定报价。

2026-11-07 核验的渠道 335 用户倍率前价格为输入 $1.32、文本输出 $7.92、视频输出(含生成音频)$10.56 / 百万 tokens;以实时模型卡为准。概念公式为三种实际 tokens 分别乘冻结单价后相加,再应用相应账户价格规则与额度取整。输入用量是聚合值,不保证进一步拆成文字、图片、视频输入。

提交先预扣估算,生成完成后按实际用量与冻结单价结算,可能补扣或退款。确认生成失败会退回生成预扣;受理不明或网络超时不代表已经确认失败或立即退款。额度换算为 500,000 quota = USD 1,不能把单条初始预扣当最终费用,也不能把同一任务的最终金额与补退款流水重复相加。

续写的视频输出 tokens 对应新增片段,输入原视频另计输入用量;返回文件包含原片和新增部分,不能按合成文件总时长重新估算输出费。已验证 3 秒原片续写 3 秒,结果约 6 秒,视频输出只对应新增约 3 秒。

上游可能不返回所有用量分项。当前解析器在缺少文本输出明细时,将上游输出总量按视频输出处理;有有效 input/output 用量时优先使用实际 tokens。缺用量但有权威费用回执时,可以按费用回执结算,不虚构 tokens;此时 token_usage_source 可为 provider_cost_receipt,模态计数可能缺失。两者都缺失时继续等待核账,不拿时长预估充当最终费用。因此不能承诺每笔最终任务都有完整模态计数,也没有固定结算耗时 SLA。

网关幂等与超时恢复

创建请求可带 Idempotency-Key:8–128 个可见 ASCII 字符,不含空白,没有对应请求体字段。键按账户隔离,一个键代表一个新生成意图。JSON 对象键顺序不影响指纹;参数值、数组顺序、省略/显式默认值、分组或指定路由的变化会导致冲突。

  • 首次请求只执行一次原始上游提交,并持久保存提交记录。
  • 相同账户、相同键、相同请求重放返回 HTTP 202 和原记录,带 Idempotency-Replayed: true;不新增生成、预扣或任务。
  • 同键不同请求返回 409 idempotency_conflict。
  • 客户端连接断开后,已取得执行权的提交/持久化会在受限执行窗口内继续,不用重新生成来“恢复”。

使用原键和 Bearer Key 请求 GET /v1/video-submissions/by-key。它只读平台回执,不调用生成器、不主动按键搜索上游、不移动资金。同账户的有效 Key 可读取记录,其他账户不能读取。

示意响应:

{"code":200,"data":{"submission_id":"REDACTED_SUBMISSION_ID","task_id":"task_REDACTED_EXAMPLE","model":"gemini-omni-1.2-flash","status":"accepted","task_ready":true,"same_key_replay_safe":true,"new_submission_safe":false,"next_action":"query_task"}}

实际响应还包含时间、请求/支持引用、错误、恢复和保留期字段。以下是“提交状态”,不是生成状态:

状态 处理
pending、submitting 继续查询原记录,不创建替代任务。
accepted 且 task_ready=true 按返回的公共任务 ID 轮询生成状态。
accepted 且 task_ready=false 已记录上游受理,本地任务/账务仍待恢复;保留原键,未解决时联系支持。
acceptance_unknown 禁止自动重发;保留键及支持引用并联系支持。退款本身也不证明重复生成安全。
not_accepted 修正已确认的错误,仅在记录与资金状态允许时换新键;原键仍只重放原结果。

记录至少保留 30 天,不会自动把旧键变为新请求。按键查询 404 的 retry_safe=false,不证明进行中的原请求未被受理,也不覆盖启用前或未带客户端键的请求。不带客户端键重复 POST 是独立新操作,不能通过客户端原键恢复。

这项能力是网关防重复提交,不是 Google/APIMart 原生幂等或超时后自动发现上游任务的承诺。受理不明时绝不自动重发。已受理、已完成资金确认但本地任务记录未落盘的原操作,可以根据持久证据恢复,恢复不重新生成或扣费。

Quote 与其他边界

POST /v1/videos/quote 不支持 gemini-omni-1.2-flash,当前模型校验只支持 Seedance。不能把它作为 Omni 的免费估价接口,也没有该模型“不创建任务且不调用生成器”的受支持 quote 协议。

上游内容审核和地区限制仍适用;供应商文档列出了 EEA、瑞士、英国对上传视频编辑/续写的限制。这里列出的是网关已开放能力,不代表上游模型的全部能力。

供应商 1.2 生成文档。APIMaster 公共任务 ID、响应结构、消费日志和网关幂等以本页为准。