Skip to main content
Generative creative uses a connected Creative Engine. In Advertiser mapping, map the engine access grant to each advertiser. The mapping determines which provider tenant is billed. Generation for an advertiser without a mapping fails before it starts; Apostra never falls back to another provider account. Replacing an AudioStack or ElevenLabs key creates a new access-grant identity. Confirm its advertiser mappings again before generation resumes. This prevents a key for a different provider tenant from inheriting the previous tenant’s mappings.

Provider costs and Intelligence Units

The mapped provider account controls billing; voice selection is independent. Set the brand’s durable default voice with brand.voice_synthesis, or set transformer voice_id to override it for one build.

Provide exact copy for ElevenLabs voice drafts

ElevenLabs speaks only explicit voice copy. Put the exact words to speak in straight or curly quotation marks in creative_brief.prompt, or provide a creative_manifest.assets.script text asset. For example:
Direction without quoted spoken copy, such as a requested tone or duration, does not give ElevenLabs words to say. The request stops before the provider is called and asks you to add a script. An assistant preparing a voice draft should write a short script in quotes from the buyer’s confirmed intent, or ask the buyer to provide the exact copy first.

Clip length follows your script

The clip is as long as it takes to speak your words, not as long as the slot you name. A 15-word line produces a clip of about six seconds whether the slot is 15 or 30 seconds, and you can add music or silence to fill the slot later. A duration in the brief, such as “15-second”, is a target and never causes a rejection. Apostra checks the generated audio against your script. It estimates the spoken length and rejects audio that is under one second or under 40% of that estimate, because such audio cannot be your script. For space-separated languages the estimate is about 160 words per minute. Chinese and Japanese scripts have no spaces between words, so they are measured at about five characters per second, and Thai at about two words per second. If Apostra cannot estimate the length of your script, it cannot show the clip is long enough and rejects it as generated_audio_too_short. Audio that cannot be decoded is also rejected. When a leaf is rejected after the provider was called, the generation result carries a failureReason on that leaf, one of generated_audio_too_short, generated_audio_undecodable, or provider_error. The provider may have charged for that attempt, so the leaf is not retried automatically; create a new generation action to try again.