KeyoAPI
Documentation

01

Base URL
https://www.keyoapi.xyz/v1
API Key
02

POST /v1/chat/completions
cURL

        
$0$0
$0$0
$0$0
$0$0
~$0.10~$0.62
~$0.37~$2.21
~$0.92~$5.52
~$0.44~$2.21
~$1.10~$5.52
~$4.41~$22.06
~$7.35~$36.77
~$0.28~$1.38
~$0.28~$1.38
~$0.45~$1.80
~$0.55~$1.65
~$1.65~$4.95
~$3.75~$18.75
~$0.74~$2.21
~$0.38~$1.50
~$1.75~$5.50
~$1.20~$1.20
~$1.50~$4.50

03

POST /v1/images/generations
cURL

        
~$0.0062
~$0.0205
~$0.0247
~$0.0068
~$0.0274
~$0.0205
~$0.0274
04

POST /v1/videos
cURL

        
$0.60675

04b

POST /v1/videos/generations
cURL

        
$0.0412+
$0.100599
$0.0754
$0.050112
$0.137996
$0.096165
$0.074794
$0.049863
$0.133562
$0.0576–$0.5088
$0.02055 / $0.02877 / $0.04110
$0.1056
$0.42 / $0.096
$0.08825 / $0.1545
  • 异步:POST /v1/videos/generations 创建 → GET /v1/tasks/{task_id} 轮询。
  • 媒体:只要 JSON;公网 http(s)。本机文件先 POST /v1/uploads。禁止路径 / data:base64 / /v1/assets。
  • 各模型字段不同(文生 / 图生 / 首尾帧 / 参考)。点表格备注或下方芯片进入对应小节,不要套用其它模型的 body。
04c

POST /v1/videos/generations
GET /v1/tasks/{task_id}
POST /v1/uploads

cURL · upload
curl https://www.keyoapi.xyz/v1/uploads \
  -H "Authorization: Bearer sk-..." \
  -F file=@./still.jpg
# → { "url": "https://www.keyoapi.xyz/uploads/....jpg", "expires_at": "..." }
# Put url into image_urls / images / video_urls / audios / image.url

MiniMax-H3

model*stringMiniMax-H3
prompt*string
aspectRatio*stringlandscape / portrait / square(亦接受 16:9/9:16/1:1
resolution*string480p / 768p / 1080p
duration*integer1–15 秒;1080p 最长 10 秒
images可选string[]
audios可选string[]
seed可选integer

JSON · 文生
{
  "model": "MiniMax-H3",
  "prompt": "一只红气球在蓝天缓缓上升,电影感,自然光",
  "aspectRatio": "landscape",
  "resolution": "480p",
  "duration": 5
}
JSON · 参考图+音频
{
  "model": "MiniMax-H3",
  "prompt": "人物按参考音色说话,镜头缓慢推进",
  "aspectRatio": "portrait",
  "resolution": "768p",
  "duration": 8,
  "images": ["https://example.com/char.png"],
  "audios": ["https://example.com/voice.mp3"]
}
cURL

            

seedance-*-720p / *-1080p

给 AI:复制 /brand/keyo-api-ref.html 全文(视频字段在 §4/§5)

model*string
prompt*string
duration / secondsint
first_frame_imagestring首帧模式(公网 https)。勿与 video_urls/audios 混用
image_with_rolesobject[]首尾帧:role=first_frame+last_frame
image_urls / imagesstring[]参考生(单图也可)。不要用它当「默认首帧」
generation_typestringreference 强制参考生;first_frame 强制首帧
video_urlsstring[]参考视频(https)
audios / audio_urlsstring[]参考音频(https;须同时有图或视频)
JSON · 文生
{
  "model": "seedance-2.0-720p-mini",
  "prompt": "夕阳下红色纸船漂在平静水面上,镜头缓慢推进",
  "duration": 5
}
JSON · 首帧
{
  "model": "seedance-2.0-1080p-fast",
  "prompt": "人物抬头并向前走,动作自然",
  "duration": 5,
  "first_frame_image": "https://example.com/first.jpg"
}
JSON · 参考图+音频
{
  "model": "seedance-2.0-720p-mini",
  "prompt": "人物按参考音色说话,镜头缓慢推进",
  "duration": 5,
  "image_urls": ["https://example.com/char.jpg"],
  "audios": ["https://example.com/voice.mp3"]
}

wan3.0-video

prompt*string文案
resolution / durationstring / int720P + 秒数
image_urlsstring[]1 张=首帧;2 张=首+尾;或多图参考
image_with_rolesobject[]首尾帧:first_frame+last_frame
generation_typestring参考生时用 reference,配合 image/video/audio URLs
video_urls / audio_urlsstring[]参考视频 / 音频(勿与首尾帧混用)
JSON · 文生
{
  "model": "wan3.0-video",
  "prompt": "A kitten running on a moonlit rooftop",
  "resolution": "720P",
  "duration": 5
}
JSON · 首尾帧
{
  "model": "wan3.0-video",
  "prompt": "Morph between the two frames",
  "resolution": "720P",
  "duration": 5,
  "image_with_roles": [
    {"url": "https://example.com/a.jpg", "role": "first_frame"},
    {"url": "https://example.com/b.jpg", "role": "last_frame"}
  ]
}
JSON · 参考生
{
  "model": "wan3.0-video",
  "prompt": "Keep identity of the reference subject",
  "resolution": "720P",
  "duration": 5,
  "generation_type": "reference",
  "image_urls": ["https://example.com/subject.jpg"],
  "video_urls": ["https://example.com/motion.mp4"]
}

flux-3-video

prompt*string文案
durationinteger5–20
resolution / tierstringhd/fhdDRAFT/HD/FHD
image_urlsstring[]1=首帧;2=首+尾;3–10=关键帧
video_url(s)string / string[]视频续写(优先于图)
draft / draft_from_task_idbool / string草稿与成片
JSON · 文生
{
  "model": "flux-3-video",
  "prompt": "Slow push-in as a flower opens",
  "duration": 5,
  "resolution": "hd"
}
JSON · 关键帧
{
  "model": "flux-3-video",
  "prompt": "Slow push-in as a flower opens",
  "image_urls": [
    "https://example.com/bud.jpg",
    "https://example.com/bloom.jpg"
  ],
  "duration": 5,
  "resolution": "hd"
}
JSON · 续写
{
  "model": "flux-3-video",
  "prompt": "Continue the motion",
  "video_url": "https://example.com/clip.mp4",
  "duration": 5,
  "resolution": "hd"
}

gemini-omni-1.1-flash / -ext

prompt*string文案
resolutionstring360p/720p/1080p/4k
aspect_ratiostring16:9 / 9:16
first_frame_image / last_frame_imagestringgemini-omni-1.1-flash;或用 image_with_roles
image_urlsstring[]flash:多主体参考。ext:只能 0/1/3 张(禁止 2 张)
durationintflash 禁止;ext 仅 4/6/8/10
generation_typestring仅 ext:frame(必须 1 图)/ reference
video_urlsstring[]≤1 段;ext 有视频时不要传 duration

gemini-omni-1.1-flash 无 duration。给 AI:复制 keyo-api-ref.html 全文(§5)

JSON · flash 文生
{
  "model": "gemini-omni-1.1-flash",
  "prompt": "A calm ocean at sunrise",
  "resolution": "720p",
  "aspect_ratio": "16:9"
}
JSON · flash 首尾帧
{
  "model": "gemini-omni-1.1-flash",
  "prompt": "smooth transition, camera slowly pushes in",
  "first_frame_image": "https://example.com/start.jpg",
  "last_frame_image": "https://example.com/end.jpg",
  "resolution": "720p"
}
JSON · ext 参考(3 图)
{
  "model": "gemini-omni-1.1-flash-ext",
  "prompt": "Keep all three subjects consistent",
  "generation_type": "reference",
  "image_urls": [
    "https://example.com/a.jpg",
    "https://example.com/b.jpg",
    "https://example.com/c.jpg"
  ],
  "resolution": "720p",
  "duration": 8
}

grok-imagine-video-1.5-preview

prompt*string文案
image*object{"url":"https://..."}(亦接受 image_url / image_urls[0])
aspect_ratiostring16:9
resolutionstring480p
durationinteger
JSON · 仅图生
{
  "model": "grok-imagine-video-1.5-preview",
  "prompt": "gentle camera push in",
  "image": {"url": "https://example.com/still.jpg"},
  "aspect_ratio": "16:9",
  "resolution": "480p",
  "duration": 5
}
04d

05

POST /v1/audio/transcriptions
cURL · ASR

        

POST /v1/audio/speech
cURL · TTS sync

        

POST /v1/async/audio/speech

cURL · TTS async

        

06

POST /v1/chat/completions
POST /v1/async/documents/parse → GET /v1/task/{id}
POST /v1/images/mattings
POST /v1/images/upscaling ·
POST /v1/images/unwarping
POST /v1/images/object-detection ·
POST /v1/images/segmentation ·
POST /v1/images/pose-detection
POST /v1/async/videos/image-to-video → GET /v1/task/{id}
POST /v1/moderations · · ·
cURL · matting

        
cURL · upscale

        
cURL · InfiniteTalk

        
cURL · MinerU

        
cURL · Unlimited-OCR

        

07

https://www.keyoapi.xyz/v1
API Key

Endpoint
GET /v1/models
Python · OpenAI SDK

        
08