For AI agents: the complete documentation index is available at https://docs.reelway.ai/llms.txt, the full documentation bundle is available at https://docs.reelway.ai/llms-full.txt, and this page is available as Markdown at https://docs.reelway.ai/api-reference/direct-generation.md.

生成配方

Reelway 的生成能力通过两条路径暴露。生产路径是 Sogni 兼容的 WebSocket 通道:客户端(或 SDK)发送 jobRequest 帧,服务端把任务派发到 GPU 节点并实时推送进度与结果。REST 路径是创意智能体工作流(POST /v1/creative-agent/workflows),以多步 DAG 描述生成任务,适合无长连接的服务端集成。

路径入口适用状态
WebSocket jobRequestwss://rcn.reelway.ai/socket实时进度、预览、取消;SDK 默认正式可用
创意工作流 RESTPOST /v1/creative-agent/workflows无状态服务端、多步编排、幂等重放预览M1 执行器为占位,契约稳定

本页的配方全部基于目录中的真实模型 ID,目录以 GET /v1/model-catalog 为准。

通过 SDK 提交(推荐)

@reelway/client 封装了握手、帧编解码、重连与事件分发。所有配方共享同一初始化:

import { SogniClient } from '@reelway/client';

const client = await SogniClient.createInstance({
  appId: 'recipes-demo',   // 同账号同 appId 的新连接会接管旧连接
  network: 'fast',         // fast | relaxed
  apiKey: process.env.REELWAY_API_KEY,
});

文生图(t2i)

const project = client.projects.create({
  modelId: 'z_image_turbo_bf16',       // 或 'qwen_image_2512_fp8'
  positivePrompt: '黄昏下的江南水乡,倒影,胶片质感',
  negativePrompt: '模糊, 低质量',
  numberOfImages: 2,
  steps: 8,
  guidance: 3.5,
  seed: 42,
});
project.on('progress', ({ progress }) => console.log(`${(progress * 100).toFixed(0)}%`));
const urls = await project.waitForCompletion();   // 48 小时有效的签名 URL

文生视频(t2v)

const project = client.projects.create({
  modelId: 'minimax-h3-fl2va-fp8_t2v_turbo',
  positivePrompt: '一只橘猫在雨后的屋顶上伸懒腰,镜头缓慢推进,环境音',
  numberOfImages: 1,
});
const [videoUrl] = await project.waitForCompletion();

图生视频(i2v)

参考图作为首帧(SDK 直传 Blob/Buffer,内部自动完成预签名上传):

const project = client.projects.create({
  modelId: 'minimax-h3-fl2va-fp8_i2v',
  positivePrompt: '人物转身微笑,自然光',
  referenceImage: fs.readFileSync('./first-frame.png'),   // 首帧
});

首尾帧(flf2v)

const project = client.projects.create({
  modelId: 'minimax-h3-fl2va-fp8_flf2v',
  positivePrompt: '从白天过渡到夜晚的城市天际线',
  referenceImage: fs.readFileSync('./first-frame.png'),
  referenceImageEnd: fs.readFileSync('./last-frame.png'),
});

参考视频(r2v)

以参考图像为锚保持主体一致,contextImages 提供额外参考:

const project = client.projects.create({
  modelId: 'minimax-h3-ref2va-fp8_r2v',
  positivePrompt: '同一位角色在咖啡馆里阅读',
  referenceImage: fs.readFileSync('./character.png'),
  contextImages: [fs.readFileSync('./outfit.png')],
});
档位选择

每个 H3 任务都有 base / _balanced / _turbo 三档:_turbo 步数最少、最快;_balanced 折中;base 质量优先。r2v 另有 _2stage 两段式变体。详见MiniMax H3。

直接使用 WebSocket 帧

不使用 SDK 时,按节点协议中的 artist 通道规范操作。关键帧:

WSwss://rcn.reelway.ai/socket?appId=<id>&forceWorkerId=fast鉴权:api-key 握手头

artist 通道;握手后首帧为 authenticated

上行 jobRequest(线协议 {type, data: base64(JSON)});图像输入先经 GET /v1/image/uploadUrl?type=<槽位>&jobId=<jobID> 上传,槽位枚举含 startingImage、referenceImage、referenceImageEnd、contextImage1..16、keyframeImage1..8:

{
  "jobID": "0b0f6c0e-7d4b-4d3c-9c6f-0c7a7e3f2a11",
  "numberOfImages": 1,
  "previews": 0,
  "outputFormat": "mp4",
  "tokenType": "auto",
  "network": "fast",
  "keyFrames": [
    {
      "modelID": "minimax-h3-fl2va-fp8_t2v_turbo",
      "positivePrompt": "一只橘猫在雨后的屋顶上伸懒腰",
      "negativePrompt": "",
      "stylePrompt": "",
      "steps": 4,
      "guidanceScale": 3.5,
      "seed": 20251102
    }
  ]
}

keyFrames[0].modelID 必填。服务端依次下发 projectQueue → jobState(queued|assigned|initiatingModel|jobStarted) → jobProgress → jobResult(含 resultUrl)或 jobError。取消用 jobError(artistCanceled 语义),回执 artistCancelConfirmation。

通过创意工作流 REST 提交

POSThttps://rcn.reelway.ai/v1/creative-agent/workflows鉴权:凭证

两段式创建 + 幂等;输入 ≤1 MiB;严格解码

curl --fail-with-body https://rcn.reelway.ai/v1/creative-agent/workflows \
  -H "api-key: $REELWAY_API_KEY" \
  -H "Idempotency-Key: recipe-t2v-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "steps": [
      {
        "id": "video",
        "tool": "generate_video",
        "input": {
          "model": "minimax-h3-fl2va-fp8_t2v_turbo",
          "prompt": "一只橘猫在雨后的屋顶上伸懒腰"
        }
      }
    ]
  }'
  • 响应 201 返回工作流形状(含 steps[] 与状态);订阅 GET …/{id}/events/stream(SSE)获取进度与产物。
  • 请求体严格解码,任何未知字段返回 400(1010)。
  • 同一 Idempotency-Key 重放返回首次响应;同键不同体返回 422(1012)。
  • DAG 校验:dependsOn 指向不存在的 step → 422(1008);存在环或指向更晚的 step → 422(1007)。

完整端点族见创意工作流。

费用与失败

  • 项目在受理时按预估扣费,完成后按实际用量校正;jobError 或无产物的任务不计费。
  • 模型不在目录 → 400(1002);该模型 × 分辨率桶没有价格行 → 400(1014);余额不足 → 402(1005)。
  • 产物 resultUrl 为 48 小时有效的签名 URL;需要长期保存请及时下载,或用 GET /v1/image|media/downloadUrl 重新签发(见媒体与图像 URL)。