OpenAI Sora модельдер отбасын трансформерге негізделген шу азайтқыштар және мультимодаль шарттандырумен бірге жасырын бейне диффузия процестерін пайдаланатын ретінде сипаттайды, уақытша үйлесімді кадрлар мен сәйкестендірілген аудио өндіру үшін. Sora 2 қозғалыстың физикалылығын (импульсті сақтау, қалқымалылық) жақсартуға, ұзақ әрі тұрақты кадрларға және жасалған визуалдар мен жасалған сөйлеу/дыбыстық эффектілер арасындағы айқын синхрондауға назар аударады. Қоғамға қолжетімді материалдар модель деңгейіндегі қауіпсіздік пен контентті модерациялау тетіктерін ерекше атап өтеді (рұқсат етілмеген кейбір контентке қатаң бұғаттар, кәмелетке толмағандар үшін күшейтілген шектер және ұқсастыққа қатысты келісім ағындары).
| Model Name | Tags | Orientation | Resolution | Price |
|---|---|---|---|---|
| sora-2 | videos | Portrait | 720x1280 | $0.08 / sec |
| sora-2 | videos | Landscape | 1280x720 | $0.08 / sec |
| sora-2-all | - | Universal / All | - | $0.08000 |
# Create a video with sora-2
# Step 1: Submit the video generation request
echo "Submitting video generation request..."
response=$(curl -s https://api.cometapi.com/v1/videos \
-H "Authorization: Bearer $COMETAPI_KEY" \
-F "model=sora-2" \
-F "prompt=A calico cat playing a piano on stage")
echo "Response: $response"
# Extract video_id from response (handle JSON with spaces like "id": "xxx")
video_id=$(echo "$response" | tr -d '
' | sed 's/.*"id"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
echo "Video ID: $video_id"
# Step 2: Poll for progress until 100%
echo ""
echo "Checking video generation progress..."
while true; do
status_response=$(curl -s "https://api.cometapi.com/v1/videos/$video_id" \
-H "Authorization: Bearer $COMETAPI_KEY")
# Parse progress from "progress": "0%" format
progress=$(echo "$status_response" | grep -o '"progress":"[^"]*"' | head -1 | sed 's/"progress":"//;s/"$//')
# Parse status from the outer level
status=$(echo "$status_response" | grep -o '"status":"[^"]*"' | head -1 | sed 's/"status":"//;s/"$//')
echo "Progress: $progress, Status: $status"
if [ "$progress" = "100%" ]; then
echo "Video generation completed!"
break
fi
if [ "$status" = "FAILURE" ] || [ "$status" = "failed" ]; then
echo "Video generation failed!"
echo "$status_response"
exit 1
fi
sleep 10
done
# Step 3: Download the video to output directory
echo ""
echo "Downloading video to ./output/$video_id.mp4..."
mkdir -p ./output
curl -s "https://api.cometapi.com/v1/videos/$video_id/content" \
-H "Authorization: Bearer $COMETAPI_KEY" \
-o "./output/$video_id.mp4"
if [ -f "./output/$video_id.mp4" ]; then
echo "Video saved to ./output/$video_id.mp4"
ls -la "./output/$video_id.mp4"
else
echo "Failed to download video"
exit 1
fi