简体中文
{ "code": 200, "msg": "success", "data": 100 }
10分钟内开始使用Veo3 API
const apiKey = 'YOUR_API_KEY'; const headers = { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' };
YOUR_API_KEY
const response = await fetch('https://api.veo3api.ai/api/v1/common/credit', { method: 'GET', headers: { 'Authorization': `Bearer ${apiKey}` } }); const data = await response.json(); console.log(`剩余积分: ${data.data}`);
const generateVideo = async () => { const response = await fetch('https://api.veo3api.ai/api/v1/veo/generate', { method: 'POST', headers: headers, body: JSON.stringify({ prompt: "一只金毛猎犬在阳光明媚的公园里玩接球游戏,慢动作,电影级照明", model: "veo3", aspectRatio: "16:9", watermark: "MyBrand" }) }); const result = await response.json(); return result.data.taskId; }; const taskId = await generateVideo(); console.log(`视频生成已开始。任务ID: ${taskId}`);
{ "code": 200, "msg": "success", "data": { "taskId": "veo_task_abcdef123456" } }
// 首先上传图片 const formData = new FormData(); formData.append('file', imageFile); formData.append('uploadPath', 'images/user-uploads'); const uploadResponse = await fetch('https://veo3apiai.redpandaai.co/api/file-stream-upload', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}` }, body: formData }); const uploadResult = await uploadResponse.json(); const imageUrl = uploadResult.data.downloadUrl; // 然后从图片生成视频 const videoResponse = await fetch('https://api.veo3api.ai/api/v1/veo/generate', { method: 'POST', headers: headers, body: JSON.stringify({ prompt: "图片中的人物开始自信地向前走", imageUrls: [imageUrl], model: "veo3", aspectRatio: "16:9" }) });
const checkVideoStatus = async (taskId) => { const response = await fetch( `https://api.veo3api.ai/api/v1/veo/record-info?taskId=${taskId}`, { method: 'GET', headers: { 'Authorization': `Bearer ${apiKey}` } } ); const result = await response.json(); return result.data; }; // 定期检查状态 const checkStatus = async () => { const status = await checkVideoStatus(taskId); if (status.successFlag === 1) { console.log('视频生成成功!'); console.log('视频URL:', status.response.resultUrls); } else if (status.successFlag === 0) { console.log('仍在生成中...'); setTimeout(checkStatus, 30000); // 30秒后再次检查 } else { console.log('生成失败:', status.errorMessage); } }; checkStatus();
{ "code": 200, "msg": "success", "data": { "taskId": "veo_task_abcdef123456", "successFlag": 1, "response": { "resultUrls": [ "https://example.com/generated-video.mp4" ] }, "completeTime": "2024-03-20T10:30:00Z" } }
const get1080pVideo = async (taskId) => { const response = await fetch( `https://api.veo3api.ai/api/v1/veo/get-1080p-video?taskId=${taskId}&index=0`, { method: 'GET', headers: { 'Authorization': `Bearer ${apiKey}` } } ); const result = await response.json(); return result.data.resultUrl; }; const hdVideoUrl = await get1080pVideo(taskId); console.log('1080P视频URL:', hdVideoUrl);
const formData = new FormData(); formData.append('file', fileInput.files[0]); formData.append('uploadPath', 'images/user-uploads'); formData.append('fileName', 'my-image.jpg'); const response = await fetch('https://veo3apiai.redpandaai.co/api/file-stream-upload', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}` }, body: formData });
提示词工程技巧
错误处理
try { const response = await fetch(apiUrl, options); const data = await response.json(); if (data.code !== 200) { throw new Error(`API错误: ${data.msg}`); } return data; } catch (error) { console.error('请求失败:', error.message); }
速率限制