跳转到主要内容
POST /api/generate/v2
提交图片或视频生成请求。生成异步进行 — 使用状态查询端点轮询完成情况。同一端点同时支持图片模型(Nanobanana / Seedream / Midjourney 等)和视频模型(Seedance 2.0、Veo 3.1);服务端按 modelId 自动路由。

请求

请求头

Header
AuthorizationBearer meigen_sk_YOUR_API_KEY
Content-Typeapplication/json

请求体参数

prompt
string
必填
要生成的图片的文本描述。长度限制因模型而异(参见模型)。
modelId
string
默认值:"nanobanana-2"
用于生成的模型。从模型列表端点获取可用模型。图片模型:nanobanana-2, gemini-3-pro-image-preview, seedream-5.0-lite, seedream-4.5, midjourney-v7, midjourney-niji7, z-image-turbo, rhart-1.5视频模型:seedance-2-0, veo-3.1
aspectRatio
string
默认值:"auto"
生成媒体的宽高比。
  • 默认 auto(推荐):服务端为你挑一个合适的比例。视频模型在 auto 下会使用该模型的主推比例。
  • 也可显式传具体值,必须是所选模型支持的比例之一。常见图片比例:1:1, 3:4, 4:3, 16:9, 9:16, 21:9。Seedance 还接受特殊值 adaptive(按参考图/参考视频自适应尺寸)。
resolution
string
默认值:"2K"
输出分辨率。可用性取决于模型。可选值:图片模型 2K / 3K / 4K;视频模型 480p / 720p / 1080p(取决于模型,参见模型对比)。
referenceImages
string[]
用作参考的图片 URL 数组。必须是可公开访问的 HTTPS URL。参考图片的最大数量取决于模型(0-5 张)。
niji7Options
object
仅用于 Midjourney Niji 7 模型的高级参数。对其他模型无效。
字段类型默认值范围
stylizenumber1000-1000
chaosnumber00-100
weirdnumber00-3000
rawbooleanfalse
iwnumber10-2
srefstringURL 或文本
swnumber1000-1000
svnumber41-4
referenceType
string
默认值:"content"
仅用于 Midjourney V7 / Niji 7。参考图片的解读方式。
  • content — 用作主题素材参考
  • style — 仅提取视觉风格
duration
number
仅用于 Seedance 2.0。视频时长(秒),取值范围 4-15,默认 5。Veo 3.1 固定 8 秒,不接受此参数。
referenceVideo
string
仅用于 Seedance 2.0。用于”视频续写”模式的参考视频 URL。必须是可公开访问的 HTTPS URL(一般来自之前生成结果或 R2 上传地址)。传该字段时计费走”有参考视频”档:480p 8 积分/秒、720p 16 积分/秒,并应用最低计费秒数(详见模型)。
referenceVideoDuration
number
仅用于 Seedance 2.0 + 参考视频续写。参考视频本身的时长(秒),用于服务端计费时计算 max(referenceVideoDuration + duration, minBillable)传 referenceVideo 时必须同时传该字段,否则按 0 计算可能导致计费偏低(且续写效果异常)。

响应

success
boolean
请求是否被接受。
generationId
string
生成请求的唯一 ID。用此 ID 轮询状态。
status
string
初始状态,始终为 "processing"
creditsUsed
number
本次生成扣除的积分数。
modelId
string
本次生成使用的模型。
credits
object
扣除后更新的积分余额。
字段类型描述
dailynumber剩余每日免费积分
purchasednumber剩余购买积分
unlimitedboolean用户是否拥有无限积分
{
  "success": true,
  "generationId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing",
  "creditsUsed": 5,
  "modelId": "nanobanana-2",
  "credits": {
    "daily": 10,
    "purchased": 50,
    "unlimited": false
  }
}

查询生成状态

GET /api/generate/v2/status/:generationId
轮询此端点以检查图片是否就绪。

响应(处理中)

{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing",
  "imageUrl": null,
  "imageUrls": null,
  "videoUrl": null,
  "mediaType": "image",
  "r2Key": null,
  "error": null
}

响应(图片已完成)

{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "imageUrl": "https://images.meigen.art/generations/xxx.png",
  "imageUrls": ["https://images.meigen.art/generations/xxx.png"],
  "videoUrl": null,
  "mediaType": "image",
  "r2Key": "generations/xxx.png",
  "error": null,
  "aspectRatio": "16:9"
}

响应(视频已完成)

{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "imageUrl": null,
  "imageUrls": null,
  "videoUrl": "https://images.meigen.art/generations/xxx.mp4",
  "mediaType": "video",
  "r2Key": "generations/xxx.mp4",
  "error": null,
  "aspectRatio": "16:9"
}
  • aspectRatio 是该次生成最终采用的比例(如果你传了 auto,这里是实际落地的值)。
  • mediaType 取值 imagevideo。视频生成时 imageUrl/imageUrlsnull,反之亦然。
  • Midjourney V7 / Niji 7 每次返回 4 张候选图片,imageUrls 包含全部候选,imageUrl 始终指向第一张。其他图片模型返回单张。

响应(失败)

{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "imageUrl": null,
  "imageUrls": null,
  "videoUrl": null,
  "mediaType": "image",
  "r2Key": null,
  "error": "Content policy violation"
}
生成失败时,积分会自动退还。

示例

基本生成

curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A minimalist logo of a mountain, vector style, blue gradient",
    "modelId": "nanobanana-2",
    "aspectRatio": "1:1"
  }'

带参考图片

curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Similar style landscape but with autumn colors",
    "modelId": "seedream-5.0-lite",
    "aspectRatio": "16:9",
    "referenceImages": ["https://example.com/reference.jpg"]
  }'

Niji 7 风格参考

curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a warrior princess in an enchanted forest",
    "modelId": "midjourney-niji7",
    "aspectRatio": "3:4",
    "referenceImages": ["https://example.com/style-ref.jpg"],
    "referenceType": "style",
    "niji7Options": {
      "stylize": 300,
      "sw": 500,
      "sv": 4
    }
  }'

Seedance 视频生成(文生视频)

curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A majestic eagle soaring over a misty mountain valley at sunrise, cinematic camera movement",
    "modelId": "seedance-2-0",
    "aspectRatio": "16:9",
    "resolution": "720p",
    "duration": 5
  }'
计费:720p × 5 秒 = 26 × 5 = 130 积分

Seedance 视频续写(参考视频)

curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Continue the scene as the eagle dives toward a river below",
    "modelId": "seedance-2-0",
    "aspectRatio": "adaptive",
    "resolution": "480p",
    "duration": 5,
    "referenceVideo": "https://images.meigen.art/generations/eagle-clip.mp4",
    "referenceVideoDuration": 3
  }'
计费:480p 续写档 8 积分/秒,计费秒数 = max(3 + 5, 9) = 9 秒,共 72 积分

让系统自动选比例(Auto)

省略 aspectRatio 或显式传 "auto"
curl -X POST https://www.meigen.ai/api/generate/v2 \
  -H "Authorization: Bearer meigen_sk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Blog hero banner image, abstract gradient background with code snippets",
    "modelId": "nanobanana-2"
  }'
该请求最终生成的图片会是 16:9。响应中的 aspectRatio 字段会返回实际采用的值。