submit-s1.mjs 1.03 KB
// spike, one-off: S1 test -- one-step ref2va, person+garment images (attribute_transfer)
// + reference dance video, per prompt-s1-onestep.txt.
process.loadEnvFile(new URL("../../.env", import.meta.url));
const BASE = process.env.H3_CONSOLE_BASE;
const TOKEN = process.env.H3_CONSOLE_TOKEN;
const fs = await import("node:fs");

const prompt = fs.readFileSync(new URL("./prompt-s1-onestep.txt", import.meta.url), "utf8");

const body = {
  prompt,
  width: 480,
  height: 832,
  frames: 240, // 10s
  steps: 20,
  turbo: false,
  seed: 0,
  reference_image_urls: [
    "http://192.168.110.67:8080/assets/237d91a054cf4113__person.png",
    "http://192.168.110.67:8080/assets/ce95f5ce3ba94695__garment.png",
  ],
  reference_video_urls: [
    "http://192.168.110.67:8080/assets/e00faa1222b544c9__danceref.mp4",
  ],
};

const res = await fetch(`${BASE}/v1/videos`, {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: `Bearer ${TOKEN}` },
  body: JSON.stringify(body),
});
console.log(JSON.stringify(await res.json(), null, 2));