OpenAI 兼容接口

GET /v1/models

描述

列出所有可用模型(图像 + 视频)。

请求头

Authorization: Bearer <api_key> Content-Type: application/json

响应

{ "object": "list", "data": [ { "id": "gpt-image-2", "object": "model", "owned_by": "openai", "description": "..." }, { "id": "sora2", "object": "model", "owned_by": "openai", "description": "..." } ] }

示例

curl -X GET https://sysrv.net/v1/models \ -H "Authorization: Bearer YOUR_API_KEY"
POST /v1/images/generations

描述

OpenAI 兼容的图像生成接口。支持文生图和图生图(通过 imagesimage_url 参数传入参考图)。

请求头

Authorization: Bearer <api_key> Content-Type: application/json (或 multipart/form-data)

请求体 (JSON)

参数类型必填说明
promptstring图像描述,最长 32000 字符
modelstring模型 ID,如 gpt-image-2
ninteger只支持 1
sizestring9:1616:9 等;默认由模型决定
qualitystring1k / 2k / 4k ;仅 gpt-image-2 系列有效
response_formatstringurl(默认) / b64_json / privacy_url
aspect_ratiostring兼容参数,默认 16:9
image_urlstring参考图 URL(图生图)
imagesarray参考图列表,每项为 URL 或 {image_url:"..."}
streamboolean设为 true 启用 SSE 流式响应

响应

{ "created": 1719000000, "model": "gpt-image-2", "data": [{ "url": "https://sysrv.net/cache/generated/abc123.png" }] }

示例

curl -X POST https://sysrv.net/v1/images/generations \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A cat", "model": "gpt-image-2", "size": "9:16" }'
POST /v1/images/edits

描述

OpenAI 兼容的图像编辑(图生图)接口。必须提供参考图片。

请求体

支持 application/jsonmultipart/form-data。参数与 /v1/images/generations 一致,但必须通过 imagesimage 字段传入至少一张参考图。

示例

curl -X POST https://sysrv.net/v1/images/edits \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "prompt=Add a dragon in the sky" \ -F "image=@/path/to/photo.jpg" \ -F "model=gpt-image-2"
POST /v1/videos

描述

创建视频生成任务。支持 Sora2、Veo31 系列模型。可通过 input_referenceimage_url 传入参考图。

请求体

参数类型必填说明
promptstring视频描述
modelstring模型ID
aspect_ratiostring16:99:16
durationSecondsinteger时长(秒),因模型而异:Sora2 支持 4/8/12s,Veo31 支持 4/6/8s
resolutionstring720p(默认)或 1080p
input_referencestring参考图 URL(图生视频)
generate_audioboolean是否生成音频,默认 true
negative_promptstring负向提示词
streamboolean设为 true 启用 SSE 流式响应

响应

{ "id": "video_abc123", "object": "video", "model": "sora2", "status": "completed", "progress": 100, "created_at": 1719000000, "completed_at": 1719000000, "size": "1280x720", "seconds": "4", "prompt": "...", "url": "https://sysrv.net/cache/generated/abc.mp4", "content_url": "https://sysrv.net/cache/generated/abc.mp4" }

示例

curl -X POST https://sysrv.net/v1/videos \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A cat walking on a sunny beach", "model": "sora2", "aspect_ratio": "16:9", "durationSeconds": 4 }'

Gemini 兼容接口

GET /v1beta/models

描述

列出所有可用模型(图像 + 视频)。

认证

Authorization: Bearer <api_key> X-Goog-Api-Key: <api_key> (也支持)

响应

{ "object": "list", "data": [ { "id": "nano-banana-pro", "object": "model", "owned_by": "gemini", "description": "..." }, { "id": "nano-banana-2", "object": "model", "owned_by": "gemini", "description": "..." } ] }

示例

curl -X GET https://sysrv.net/v1beta/models \ -H "Authorization: Bearer YOUR_API_KEY"
POST /v1beta/models/{model}:generateContent

描述

Gemini 兼容的图像生成。

请求体

参数类型说明
contentsarray/objectGemini 格式的 contents,支持 text 和 inline_data
generationConfig.imageConfig.aspectRatiostring宽高比,如 16:9
generationConfig.imageConfig.imageSizestring分辨率,如 1K2K4K
response_formatstringurl(默认)或 b64_json

示例

curl -X POST https://sysrv.net/v1beta/models/gemini-3-pro-image-preview:generateContent \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{ "parts": [{ "text": "A beautiful sunset over mountains" }] }], "generationConfig": { "imageConfig": { "aspectRatio": "16:9", "imageSize": "2K" } } }'
POST /v1beta/models/{model}:streamGenerateContent

描述

Gemini 兼容的流式图像生成。返回 SSE 事件流,包含 progress 事件和最终的 result 事件。

请求体

:generateContent 一致。

SSE 事件流

event: progress data: {"status":"in_progress","progress":0,"model":"nano-banana-2"} event: progress data: {"status":"in_progress","progress":45,"upstream_job_id":"..."} event: result data: {"candidates":[{...}]} data: [DONE]

示例

curl -X POST https://sysrv.net/v1beta/models/gemini-3-pro-image-preview:streamGenerateContent \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{ "parts": [{ "text": "A beautiful sunset over mountains" }] }], "generationConfig": { "imageConfig": { "aspectRatio": "16:9" } } }'
POST /v1beta/models/{model}:predictLongRunning

描述

Gemini 兼容的视频生成。通过 instances[0].prompt 传入提示词,parameters 传视频参数。

请求体

{ "instances": [{ "prompt": "A cat walking on a sunny beach", "image": { "inline_data": { "mime_type": "image/jpeg", "data": "..." } } }], "parameters": { "aspectRatio": "16:9", "durationSeconds": 4, "resolution": "720p", "negativePrompt": "blurry" } }

响应

{ "name": "operations/abc123", "done": true, "response": { "@type": "type.googleapis.com/...", "generateVideoResponse": { "generatedSamples": [{ "video": { "uri": "https://..." } }] } } }

示例

curl -X POST https://sysrv.net/v1beta/models/veo31:predictLongRunning \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "instances": [{ "prompt": "A cat walking on a sunny beach" }], "parameters": { "aspectRatio": "16:9", "durationSeconds": 4, "resolution": "720p" } }'
GET /v1beta/operations/{operation_id}

描述

查询 Gemini 视频生成的操作结果。

示例

curl -X GET https://sysrv.net/v1beta/operations/abc123 \ -H "Authorization: Bearer YOUR_API_KEY"

⚠️ 错误码速查

HTTP 状态码含义
400请求参数错误(无效模型、缺少 prompt、不支持的宽高比等)
401API Key 无效或未提供
429Token 配额耗尽
451内容审核拦截(触发 content_review_keywords)或上游返回 image_unsafe
500服务器内部错误
503上游服务临时不可用 / 无可用 Token