ann
d6761c6fb0
feat(xai): add Grok Imagine video generation (/v1/videos) + CLI
Async video job proxy mirroring the existing image-generation layer split:
Next routes → src/sse/handlers/videoGeneration.js (auth gate, account
fallback loop, refresh persistence) → open-sse/handlers/videoCore.js
(transparent upstream proxy, 401 refresh-once/retry-once, secret sanitization).
- POST /v1/videos/{generations,edits,extensions}: byte-exact body forward
(JSON + multipart), request_id passthrough, Idempotency-Key forwarded
- GET /v1/videos/{request_id}: status/progress/video.url passthrough
- Register grok-imagine-video (kind: "video"); add "video" to MODEL_TYPE_TO_KIND
so video models stay out of chat lists (also fixes runwayml leak)
- 9router xai video CLI: submit → poll → atomic MP4 download
- No auto-retry of creation POSTs (billable jobs); rotate accounts only on
401/403/429; sanitize Bearer tokens + credential values from errors/logs
Closes #1285
2026-07-16 15:29:52 +07:00
..
2026-06-29 15:29:49 +07:00
2026-06-29 15:29:49 +07:00
2026-06-14 18:49:38 +07:00
2026-07-08 10:17:47 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-26 12:03:58 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-07-07 16:29:11 +07:00
2026-06-15 11:38:43 +07:00
2026-07-03 10:53:41 +07:00
2026-06-15 18:18:04 +07:00
2026-06-21 16:12:20 +07:00
2026-07-10 13:08:58 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-20 10:09:50 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-07-10 11:29:48 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-16 23:32:28 +07:00
2026-06-26 10:32:34 +07:00
2026-07-15 17:34:08 +07:00
2026-06-15 11:38:43 +07:00
2026-06-16 23:32:28 +07:00
2026-06-20 10:09:50 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-07-10 11:47:08 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 18:18:04 +07:00
2026-07-10 11:57:15 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-29 15:12:18 +07:00
2026-07-03 11:11:07 +07:00
2026-06-20 10:09:50 +07:00
2026-06-20 10:09:50 +07:00
2026-07-16 14:38:08 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-20 10:09:50 +07:00
2026-06-20 10:09:50 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-07-03 12:15:58 +07:00
2026-06-14 18:49:38 +07:00
2026-06-26 12:03:58 +07:00
2026-06-14 18:49:38 +07:00
2026-06-20 15:09:11 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 18:18:04 +07:00
2026-07-10 11:57:15 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-18 17:36:08 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-10 11:29:06 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 18:18:04 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-26 11:37:44 +07:00
2026-06-15 18:18:04 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-07-16 15:29:52 +07:00
2026-06-20 10:09:50 +07:00
2026-07-03 11:03:18 +07:00
2026-06-15 11:38:43 +07:00