ویدیو و لیپ‌سینک

ساخت ویدیوی لیپ‌سینک

یک عکس یا ویدیوی چهره را با یک فایل صوتی همگام می‌کند. پاسخ ۲۰۲ با شناسه‌ی کار است و هزینه به طول نتیجه بستگی دارد.

POST/v1/lipsync

دقیقاً یکی از video و image را همراه audio بفرستید. هر کدام را می‌توان به صورت فایل در multipart/form-data (حداکثر ۲۵ مگابایت برای هر فایل)، یا در JSON به صورت URL یا data URL با base64 داد. URLها با محافظ SSRF دریافت می‌شوند (حداکثر ۵۰ مگابایت). نوع هر فایل از روی بایت‌ها تشخیص داده می‌شود.

درخواست بلافاصله با 202 و status: queued جواب می‌گیرد؛ بعد GET /v1/lipsync/{id} را با فاصله صدا بزنید تا کار به completed، failed یا cancelled برسد و فایل را با /content بردارید.

طول صدا و هزینه

هزینه به ثانیه است، پس مدت را از شما نمی‌پرسیم: فیلد seconds در این مسیر پذیرفته نمی‌شود و طول audio را خودمان می‌خوانیم. فقط فایل WAV و MP3 خوانده می‌شود؛ قالب دیگر audio_unreadable است. صدای بلندتر از ۳۰۰ ثانیه audio_too_long می‌دهد. اعتبار پیش از اجرا بر اساس همین طول رزرو می‌شود، اما صورتحساب نهایی طول خودِ نتیجه است و ممکن است از رزرو بیشتر یا کمتر باشد.

عکس یا ویدیو

بعضی مدل‌ها فقط عکس چهره می‌گیرند. اگر به چنین مدلی video بدهید، media_input_unsupported می‌گیرید و باید image بفرستید.

اگر کار شکست بخورد یا لغو شود، اعتبار رزروشده برمی‌گردد. فایل‌های ورودی شما هنگام پایان کار یا رد درخواست از سیستم برداشته می‌شوند، و این کارها در استودیو و گالری حساب شما دیده نمی‌شوند.

نمونه‌ها

curl https://1ai.ir/v1/lipsync \
  -H "Authorization: Bearer $ONEAI_API_KEY" \
  -F 'model=heygen/avatar-iv' \
  -F "image=@presenter.jpg" \
  -F "audio=@speech.mp3"
202پاسخ
{
  "id": "job_6Nc7pYvB2mTxKq4WeHr9Sd",
  "object": "lipsync",
  "model": "heygen/avatar-iv",
  "status": "queued",
  "progress": 0,
  "created_at": 1793923500,
  "completed_at": null,
  "seconds": 12,
  "estimated_credits": 15,
  "credits": 0,
  "output": null,
  "error": null
}

بدنه‌ی درخواست

  • modelstringالزامی

    شناسه‌ی مدل لیپ‌سینک، برای نمونه heygen/avatar-iv.

  • imagefile

    عکس چهره: فایل در multipart، یا در JSON یک URL یا data URL. دقیقاً یکی از image و video لازم است.

  • videofile

    ویدیوی چهره: فایل در multipart، یا در JSON یک URL یا data URL. مدل‌هایی که فقط عکس می‌گیرند آن را رد می‌کنند.

  • audiofileالزامی

    فایل صوتی WAV یا MP3 با حداکثر ۳۰۰ ثانیه. فایل در multipart، یا در JSON یک URL یا data URL.

خطاها

  • invalid_request400

    هر دو یا هیچ‌کدام از video و image نیامده، audio نیامده، یا فیلد ناشناخته (مثل seconds) فرستاده شده است.

  • media_input_unsupported400

    مدل فقط عکس می‌پذیرد و video داده شده است.

  • audio_unreadable400

    طول صدا خوانده نشد؛ آن را به صورت WAV یا MP3 بفرستید.

  • audio_too_long400

    صدا از ۳۰۰ ثانیه بلندتر است.

  • input_fetch_failed400

    فایلی از روی URL دریافت نشد.

  • model_kind_mismatch400

    مدل داده‌شده مدل لیپ‌سینک نیست.

  • insufficient_credits402

    اعتبار برای رزرو هزینه کافی نیست.

  • model_not_found404

    مدل وجود ندارد یا کلید شما به آن دسترسی ندارد.

  • file_too_large413

    یکی از فایل‌های آپلودشده از ۲۵ مگابایت بزرگ‌تر است.

صفحه‌های مرتبط