APIMPAPIMP
User GuideAI APIImage APIVideo APIPublic API

veo3

Submit an async Google Veo 3 / 3.1 video generation task. Multiple model ids share this endpoint — the platform routes to the right upstream automatically, clients don't need to care which channel. The mode (T2V / I2V with first frame or first+last frame) is inferred from the image / images fields in the request. Returns a task_id to poll via the status endpoint until status=finished.

POST
/api/generate/submit

Authorization

BearerAuth

AuthorizationBearer <token>

使用 Bearer Token 认证。 格式: Authorization: Bearer sk-xxxxxx

In: header

Request Body

application/json

model*string

veo3.1 model id。

Value in"veo-3.1" | "veo-3.1-fast"
prompt*string

视频描述,必填。用于描述场景、动作和风格。

size?string

视频比例。

Value in"16:9" | "9:16"
duration?integer

视频时长,单位为秒。只能填写 468,默认 8。

Value in4 | 6 | 8
images?array<string>

参考图列表。1 张作为首帧,2 张分别作为首帧和末帧。

Itemsitems <= 2
negative_prompt?string

负面提示词,描述应避免的内容。

generate_audio?boolean

是否生成音轨。true 表示生成,false 表示不生成。

resolution?string

视频清晰度。

Value in"720p" | "1080p" | "4K"
callback_url?string

任务终态时由平台主动 POST 的 HTTPS 回调地址(可选)。

Formaturi
[key: string]?never

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.apimp.ai/api/generate/submit" \  -H "Content-Type: application/json" \  -d '{    "model": "veo-3.1-fast",    "prompt": "A calm shot of mountains at golden hour, slow camera pan"  }'
{
  "code": 200,
  "data": {
    "task_id": "task_2BvCWmHzG6sJxK4tQpAr8M9nZyYfRdLs",
    "status": "not_started",
    "created_time": "2026-06-27T09:21:26",
    "error_message": null
  }
}

{
  "code": 400,
  "error": {
    "message": "field `prompt` is required",
    "type": "invalid_request_error"
  }
}

{
  "code": 400,
  "error": {
    "message": "string",
    "type": "invalid_request_error"
  }
}
{
  "code": 400,
  "error": {
    "message": "string",
    "type": "invalid_request_error"
  }
}
{
  "code": 400,
  "error": {
    "message": "string",
    "type": "invalid_request_error"
  }
}
{
  "code": 400,
  "error": {
    "message": "string",
    "type": "invalid_request_error"
  }
}

How is this guide?

Last updated on