Skip to main content

πŸš€ Introduction

With Bring Your Own Avatar (BYOA), you can upload your own consent and lipsync videos to create a personalized speaking avatar within the Creatify platform. This feature is designed for users who want to go beyond default personas and introduce custom characters for more control and brand alignment.

🧾 Step 1: Submit a BYOA Request

➑️ Option A – Upload Files Directly

Use the POST /api/personas_v2/ endpoint to upload your custom avatar assets as files.
This must be a multipart/form-data request.

βœ… Required Fields

  • lipsync_input – MP4 file used for lipsync training (e.g., a person speaking plain text)
  • consent_video – MP4 file granting usage rights
  • creator_name – Name for the avatar (e.g., β€œJames”)
  • gender – Gender identifier (e.g., β€œm”, β€œf”)
  • video_scene – Context or background category (e.g., β€œoffice”)

πŸ“€ Example Curl Request

curl -X POST https://api.creatify.ai/api/personas_v2/ \
  -H "X-API-ID: <api-id>" \
  -H "X-API-KEY: <api-key>" \
  -F "lipsync_input=@./lipsync_input.mp4" \
  -F "consent_video=@./consent_video.mp4" \
  -F "creator_name=James" \
  -F "gender=m" \
  -F "video_scene=office"
🎬 Ensure both video files are valid formats: video/mp4 or video/quicktime

➑️ Option B – Provide File URLs

Use the POST /api/personas/ endpoint to submit URLs to your consent and lipsync videos instead of uploading files.

βœ… Required Fields

  • lipsync_input – Publicly accessible URL to the lipsync MP4 file
  • consent_video – Publicly accessible URL to the consent MP4 file
  • creator_name – Name for the avatar (e.g., β€œJames”)
  • gender – Gender identifier (e.g., β€œm”, β€œf”)
  • video_scene – Context or background category (e.g., β€œoffice”)

πŸ“€ Example Curl Request

curl -X POST 'https://api.creatify.ai/api/personas/' \
    --header 'Content-Type: application/json' 
    --header 'X-API-ID: <api-id>' \
    --header 'X-API-KEY: <api-key>' \
    -data '{
    "lipsync_input": "https://d35ghwdno3nak3.cloudfront.net/creators/79ca02c3-2c72-44c9-b3f8-5e95937cec19/18fccce8-86e7-5f31-abc8-18915cb872be.mp4",
    "consent_video": "https://d35ghwdno3nak3.cloudfront.net/creators/79ca02c3-2c72-44c9-b3f8-5e95937cec19/consent_video_1706239051_landscape_video_l.mp4",
    "creator_name": "James",
    "gender": "m",
    "video_scene": "office"
  }'
🌐 The URLs must be publicly accessible so Creatify can retrieve the video files.

Endpoint Summary

EndpointUpload TypeKey Difference
POST /api/personas_v2/File Upload (multipart/form-data)Send actual MP4 files directly.
POST /api/personas/URL Upload (application/json)Provide direct URLs to existing MP4 files.

πŸ” Step 2: Check BYOA Status

After submission, use GET /api/personas/{id}/ to check the approval status of your avatar.

Example Request

curl --request GET \
  --url https://api.creatify.ai/api/personas/{id}/ \
  --header 'X-API-ID: <your-api-id>' \
  --header 'X-API-KEY: <your-api-key>'

What to Look For

  • "is_active": false – Avatar is still under review by Creatify
  • "is_active": true – Avatar has been approved and is ready for use
⏱️ Reviews are typically completed within 24 hours

πŸ“Œ Notes

  • You can retrieve your avatars using GET /api/personas_v2/
  • Your approved BYOA avatar can then be used in any compatible API such as AI Avatar, AI Avatar V2, or Create Video from URL

🀝 Need Help?

If you have any issues or need assistance, please contact api@creatify.ai