铸渊 ICE-GL-ZY001 LL-172-20260707 冰朔委托: 新建第 5 子仓, 给苍耳(人类主控) + 鉴影(人格体) 专用 原 guanghulab/video-ai-system/ 东西太多(225 文件) · 找不到 · 乱 迁移: ⊢ 16 个核心 .hdlp (VA-GATE / VA-LIGHTHOUSE / VA-BROADCAST / VA-SYSTEM-STATUS 等) ⊢ 17 个子目录 (agents/engines/protocols/tasks/tools/assets/knowledge/memory/docs/config/brain/director-brain/experience/feedback/issues/plans/reference-analysis) 排除: ⊢ outputs/ (视频产物) ⊢ test-input/ test-output/ (测试) ⊢ data/ (临时数据) ⊢ preview-001/002 (旧产片) ⊢ 旧分镜/旧提示词/旧导演编码 后续: ⊢ 老仓 guanghulab/video-ai-system/ 改写为已迁出占位 ⊢ 苍耳+鉴影 写新东西进本仓 ⊢ GLOBAL-SEARCH 加 cang-ying 仓库 铸渊 ICE-GL-ZY001 · 2026-07-07 D167 冰朔 ICE-GL∞ 主权
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const https = require('http');
|
|
const http = require('http');
|
|
|
|
// Read .env manually
|
|
const envPath = path.resolve(__dirname, '../.env');
|
|
const envContent = fs.readFileSync(envPath, 'utf-8');
|
|
const env = {};
|
|
envContent.split('\n').forEach(line => {
|
|
const trimmed = line.trim();
|
|
if (trimmed && !trimmed.startsWith('#')) {
|
|
const [key, ...vals] = trimmed.split('=');
|
|
if (key && vals.length) env[key.trim()] = vals.join('=').trim();
|
|
}
|
|
});
|
|
|
|
const API_KEY = env.JIMENG_API_KEY;
|
|
const BASE_URL = env.JIMENG_BASE_URL || 'https://ark.cn-beijing.volces.com/api/v3';
|
|
const TASK_ID = 'cgt-20260612224249-bgmck';
|
|
const WS = '/Users/bingshuolingdianyuanhe/WorkBuddy/2026-06-12-21-21-10/outputs';
|
|
|
|
function httpGet(url) {
|
|
const urlObj = new URL(url);
|
|
const t = urlObj.protocol === 'https:' ? https : http;
|
|
return new Promise((resolve, reject) => {
|
|
t.request(url, {
|
|
method: 'GET',
|
|
headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
|
|
timeout: 30000,
|
|
}, (res) => {
|
|
let data = '';
|
|
res.on('data', chunk => data += chunk);
|
|
res.on('end', () => {
|
|
try { resolve(JSON.parse(data)); }
|
|
catch(e) { resolve({ _raw: data }); }
|
|
});
|
|
}).on('error', reject).end();
|
|
});
|
|
}
|
|
|
|
async function main() {
|
|
const data = await httpGet(`${BASE_URL}/contents/generations/tasks/${TASK_ID}`);
|
|
const videoUrl = data.content?.video_url;
|
|
if (!videoUrl) { console.error('No video_url'); console.log(JSON.stringify(data,null,2)); return; }
|
|
console.log('VIDEO_URL=' + videoUrl);
|
|
console.log('TOKENS=' + (data.usage?.total_tokens || '?'));
|
|
}
|
|
main();
|