HOLYCRAB WORKSHOP — CLI reference macOS / Linux, Python 3.10+. No credentials in this file. == agent == Use the installed official HolyCrab skill and current CLI help. Help me create two connected 10-second Seedance 2.5 clips at 480p, within 500 credits total. A starts at 16:9; B uses frames mode and adaptive ratio. First ask whether I choose my own face or an original fictional AI face. Fetch clip-a-en.txt and clip-b-en.txt from https://brucehuang.ai/talks/ai-ultra-video-workshop-2026-09/prompts/; use ai-face.txt for fictional Clip A. Save all working files locally. For my own face, check my existing authorized group. Only start a new authorization if I request it. Show the temporary verification link/QR privately to me; I complete verification myself. Never save that link/QR in files, logs or the public kit. After SUCCEEDED, upload only my selected portrait into my own authorized group and wait for ready:true. Never bypass failed verification with ordinary upload. Use my web account's matching CLI access; do not assume another key can use my group. Prepare Clip A with the returned ready public portrait asset ID in imageAssetIds. For the fictional route, prepare A as text-only. Estimate the actual payload and show credits, settings and remaining balance privately. Planning quote: A 139 + B 139 = 278 credits; one optional 10s retry brings the total to 417. Quotes can change with actual assets. Keep a cumulative ledger, and stop before exceeding 500. Wait for my explicit approval before each paid submission; do not treat this instruction as approval. Submit once, record the task ID immediately, and recover that existing task after interruption. Download completed A as clip-a.mp4. Extract and inspect its last frame as last-frame.png. For my real face, upload this derived frame to my same authorized group and wait for ready:true; stop if the service does not accept the group/frame route, without trying an ordinary-upload bypass. For the original fictional face, use ordinary asset upload. Prepare B with firstFrameAssetId set to this new ready asset ID, videoTaskType frames, ratio adaptive, 10 seconds, 480p. Do not combine frames with imageAssetIds or other reference arrays. Re-estimate B and ask for approval, then submit exactly once and download clip-b.mp4. Place A then B in an editor, inspect the seam and audio, and export the 20-second film. Keep source portrait/frame IDs, prompts, settings, quotes, task IDs and review notes. Never print credentials or clone my real voice. Ask separately before sharing my output. == agent-zh == 使用 HolyCrab 官方 skill 和目前 CLI help,在500 credits總額內準備兩段10秒Seedance2.5、480p影片。A用16:9;B用frames模式、adaptive比例。先確認我選本人或原創AI臉。本人需親自完成私下驗證,SUCCEEDED後才把指定照片上傳到本人授權群組,等待ready:true;不能普通上傳繞過授權失敗。AI臉的A用純文字。逐條估價並取得明確確認才付費提交,立即保存task ID,中斷找回同一任務。預算A139+B139=278,一次10秒重試後417,實際素材需重新估價,不超過500。下載A,抽取並檢查末幀;真人末幀必須回到本人同一授權群組,等ready。B只以此素材作firstFrameAssetId,不混用imageAssetIds或其他參考。再估價、確認、提交、下載B。剪輯器中依次放A和B,檢查接點與聲音,輸出20秒影片。保存素材ID、Prompt、參數、估價、task ID和檢查紀錄。私密驗證連結/QR及Key不進入文件、日誌或群聊;不可代本人驗證。 == install == curl -fsSL https://holycrab.ai/cli/install.sh | sh holycrab --version holycrab --help == setup == holycrab setup holycrab auth status holycrab models list holycrab models show dreamina-seedance-2-5-260628 == fetch == mkdir -p ai-video-workshop cd ai-video-workshop curl -fL 'https://brucehuang.ai/talks/ai-ultra-video-workshop-2026-09/prompts/clip-a-en.txt' -o prompt-a.txt curl -fL 'https://brucehuang.ai/talks/ai-ultra-video-workshop-2026-09/prompts/clip-b-en.txt' -o prompt-b.txt == estimate == # Save the A template as request-a.json and B template as request-b.json. # Replace each marked asset ID with its returned ready ID. holycrab generate estimate --kind video --json @request-a.json # Quote B separately after its actual frame asset is ready. holycrab generate estimate --kind video --json @request-b.json == face-authorize == holycrab real-human groups list # Only when the participant requests a new authorization: holycrab real-human start --name "My workshop portrait" # Keep the returned link/QR private; complete verification yourself. holycrab real-human wait AUTHORIZATION_ID --timeout 60 == assets == # After personal authorization SUCCEEDED, use your returned public group ID. holycrab assets upload ./my-portrait.jpg --real-human-group GROUP_ID holycrab assets wait PORTRAIT_ASSET_ID --timeout 60 # After A completes, reuse the SAME authorized group for its derived frame. holycrab assets upload ./last-frame.png --real-human-group GROUP_ID holycrab assets wait FRAME_ASSET_ID --timeout 60 # B uses FRAME_ASSET_ID only as firstFrameAssetId. No imageAssetIds. == extract == # Optional local FFmpeg route; the browser tool needs no installation. # Decode the final 0.2 seconds and keep the last decoded frame. ffmpeg -sseof -0.2 -i clip-a.mp4 -update 1 last-frame.png # Inspect the PNG before uploading it. Use a new filename if it already exists. == recover == holycrab tasks list --page 1 --page-size 10 holycrab tasks get TASK_ID holycrab tasks wait TASK_ID --timeout 120 holycrab download TASK_ID --output ./clip-a.mp4