Model API

UGC Ad Creator

Turn one product photo and a few lines about it into a 10, 20 or 30 second UGC-style ad: a person holds and talks about your product in a scene you pick or describe, with a voice in 14 languages and optional word-timed captions. Upload your own model photo to keep the same presenter.

Model id

Use this in every request
ugc-ad-creator

Run it

Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.

# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ugc-ad-creator",
  "input": {
    "inputImage": [
      "https://example.com/input.png"
    ],
    "prompt": "A red ceramic cup on a wooden table, soft morning light"
  }
}'

# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"model": "ugc-ad-creator", "quote_id": "QUOTE_ID", "input": {"inputImage":["https://example.com/input.png"],"prompt":"A red ceramic cup on a wooden table, soft morning light"}}'

# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $RAYWAKE_API_KEY"

Input

Input fields for ugc-ad-creator
NameTypeDescription
modestring (enum)
Required. Default std. std renders at 768P; pro renders at 2K. Both support every ratio.

Default: std

One of: std, pro

effectTypestring (enum)
Required. Sets the scene and the person for every clip. Pick Custom to build the scene from your prompt instead. If you upload a model photo, your model replaces the person in the preset.

Default: custom

durationstring (enum)
Required. Video length in seconds, rendered as one 10-second clip per 10 seconds. Longer videos cost more and take a little longer, but the clips are planned together so the person, the product and the voice stay the same across them.

Default: 10

One of: 10, 20, 30

inputImagerequiredarray of image URLs
Required: Product photo
promptrequiredstring
Required. Write what the person should say about your product, in the language you want them to speak: "this perfume lasts all day and never feels heavy". Anything you ask to be mentioned - a benefit, a price, a discount code - is said out loud in the video. With Custom selected, also describe the setting here; with a preset the setting comes from the preset.
ratiostring (enum)
Required. Default auto (matched from your product image). All ratios are supported.

Default: auto

One of: auto, 16:9, 9:16, 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4

captionstring (enum)
Burns what the person says onto the video, timed to their speech.

Default: true

One of: true, false

captionEffectstring (enum)
Choose how captions appear: 'Rolling Line' keeps the last three words on screen and drops the oldest as the next one arrives, 'Flash Each Word' shows words briefly, 'Sentence' displays the whole sentence at once.

Default: wordbyword

One of: word, wordbyword, sentence

languagestring (enum)
Required. The language the person speaks. Write your prompt in any language you like; the script is written and spoken in this one, and the captions follow it.

Default: en

One of: en, tr, es, de, fr, it, pt, nl, pl, ru, ar, hi, ja, ko, zh

voicestring (enum)
Required. The voice the person speaks with.

Default: sarah

One of: adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, george, harry, jessica, laura, liam, lily, matilda, river, roger, sarah, will

inputImageModelarray of image URLs
Optional: Model photo. The person in this photo replaces the person from the effect and stays the same in every clip.

Default: []

captionPositionstring (enum)
Select the caption position.

Default: bottom

One of: bottom, top, center

captionFontFamilystring (enum)
Select the caption font family.

Default: Poppins-Medium

One of: Poppins-Thin, Poppins-ThinItalic, Poppins-ExtraLight, Poppins-ExtraLightItalic, Poppins-Light, Poppins-LightItalic, Poppins-Regular, Poppins-Italic, Poppins-Medium, Poppins-MediumItalic, Poppins-SemiBold, Poppins-SemiBoldItalic, Poppins-Bold, Poppins-BoldItalic, Poppins-ExtraBold, Poppins-ExtraBoldItalic, Poppins-Black, Poppins-BlackItalic

captionFontColorstring
Enter a hex color code (e.g. #FFFFFF) to set the caption text color.

Default: #FFFFFF

captionBoxColorstring
Enter a hex color code (e.g. #FFFFFF) to set the caption box color.

Default: #000000

captionBoxOpacitystring
Adjust the transparency of the caption background box.

Default: 0.0

Output

A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.

Job excerpt
"outputs": [
  { "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]

Pricing

  • std · 10 s$1.75/ video
  • std · 20 s$3.25/ video
  • std · 30 s$4.76/ video
  • pro · 10 s$2.54/ video
  • pro · 20 s$4.84/ video
  • pro · 30 s$7.14/ video

The exact charge for your input comes from a quote. How charges settle