# Direct test: create video on open.kuaizi.co (bypassing relay) $appKey = "ZmNmOGRhNjYzZTAx" $appSecretB64 = "ZWFhMTIxNTRjMjQ4Y2FkOTE1OWE5ZDZlYThiZWRmNDY=" $appSecret = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($appSecretB64)) $timestamp = [DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds().ToString() $signStr = "$timestamp#$appSecret" $md5 = [System.Security.Cryptography.MD5]::Create() $signBytes = $md5.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($signStr)) $sign = ($signBytes | ForEach-Object { $_.ToString("x2") }) -join '' $headers = @{ "Content-Type" = "application/json" "APP-KEY" = $appKey "AUTH-TIMESTAMP" = $timestamp "AUTH-SIGN" = $sign } Write-Host "Auth headers ready: timestamp=$timestamp" -ForegroundColor Cyan # Use existing cover images as test materials $preId = $timestamp $body = @{ account_id = "12859_117409" callback_url = "https://server.fmode.cn/api/functions/cut/onemerge" material_list = @( @{ type = "pic"; value = "https://img.kuaizi.co/video/12859/12172925/749/1080x1920_5000_96/b65038bd93c1214e3ffb99e964379a8a.jpg" }, @{ type = "pic"; value = "https://img.kuaizi.co/video/12859/12172918/749/1080x1920_5000_96/71d10a2e42c548492410d3f1f466320b.jpg" }, @{ type = "pic"; value = "https://img.kuaizi.co/video/12859/12172872/749/1080x1920_5000_96/70f54baeb92a44d35f022b31068311dd.jpg" } ) tags = "test,openclaw" proportion = "9:16" video_duration = @{ min = 10; max = 15 } pre_id = $preId compose_number = 1 ai_voice = 1 ai_bgm = 1 ai_flower = 1 ai_subtitle = 0 original_voice = 0 } | ConvertTo-Json -Depth 3 -Compress # Test on open.kuaizi.co Write-Host "=== POST open.kuaizi.co/v2/video/vlog/create ===" -ForegroundColor Cyan try { $r = Invoke-RestMethod -Uri "https://open.kuaizi.co/v2/video/vlog/create" -Method POST -Headers $headers -Body $body -TimeoutSec 30 Write-Host "Response:" -ForegroundColor Green $r | ConvertTo-Json -Depth 5 } catch { Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red if ($_.Exception.Response) { $reader = New-Object System.IO.StreamReader($_.Exception.Response.GetResponseStream()) $respBody = $reader.ReadToEnd() Write-Host "Body: $respBody" -ForegroundColor Yellow } }