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
ugc-ad-creatorRun 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
| Name | Type | Description |
|---|---|---|
mode | string (enum) | Required. Default std. std renders at 768P; pro renders at 2K. Both support every ratio. |
effectType | string (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. |
duration | string (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. |
inputImagerequired | array of image URLs | Required: Product photo |
promptrequired | string | 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. |
ratio | string (enum) | Required. Default auto (matched from your product image). All ratios are supported. |
caption | string (enum) | Burns what the person says onto the video, timed to their speech. |
captionEffect | string (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. |
language | string (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. |
voice | string (enum) | Required. The voice the person speaks with. |
inputImageModel | array of image URLs | Optional: Model photo. The person in this photo replaces the person from the effect and stays the same in every clip. |
captionPosition | string (enum) | Select the caption position. |
captionFontFamily | string (enum) | Select the caption font family. |
captionFontColor | string | Enter a hex color code (e.g. #FFFFFF) to set the caption text color. |
captionBoxColor | string | Enter a hex color code (e.g. #FFFFFF) to set the caption box color. |
captionBoxOpacity | string | Adjust the transparency of the caption background box. |
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"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