TTS-ready voiceover narration script for video ads, explainers, podcast ads, YouTube intro
TTS-ready voiceover narration script for video ads, explainers, podcast ads, YouTube intros or phone greetings: clean plain-text script sized to your duration at ~150 wpm, a delivery-marked version (pauses, emphasis, breaths), timed segments, voice/tone direction, alt openings, pronunciation notes for TTS engines. Paste straight into Voicebox, ElevenLabs or any voice tool.
80000 (raw units)
price
1
calls / 30d
1
unique payers
2026-08-20
updated
Provider
marketpulse.theaslangroupllc.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "80000",
"maxTimeoutSeconds": 604900
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "985iFjbnGQ3dJcwXnfRCMSrH4Jnc3kW1N6msR64B5KX1",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:137",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42161",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:480",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x79A02482A880bCe3F13E09da970dC34dB4cD24D1",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:143",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:196",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x779ded0c9e1022225f8e0630b35a9b54be713736",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:999",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k",
"payTo": "62A253YPATFNJCPRKID3FKD77MYJFNTVRYRP4B4JWG36EGLPY7UXFWGI7I",
"asset": "31566704",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "xrpl:0",
"payTo": "rMnHeutYALco8RYFVcmuU4BCgSzBpPEh32",
"asset": "XRP",
"amount": "80000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "xrpl:0",
"payTo": "rMnHeutYALco8RYFVcmuU4BCgSzBpPEh32",
"asset": "524C555344000000000000000000000000000000",
"amount": "0.08",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:56",
"payTo": "0x50ab2018c06c6E4eAA9BA52057Eb55eD284912fc",
"asset": "0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d",
"amount": "80000000000000000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"audience": "freelance designers",
"duration": "30",
"format": "video_ad",
"lang": "es",
"product": "online bookkeeping software for freelancers",
"tone": "warm, confident, not salesy"
},
"type": "http"
},
"output": {
"example": {
"alt_openings": [
"Quick question: what did your last tax season cost you in weekends?"
],
"amazon_search": "voice over technique book",
"compliance_notes": [
"Avoid implied guarantees about tax outcomes"
],
"disclaimer": "Voiceover effectiveness varies by voice, delivery, placement, and audience. Test multiple takes before scaling.",
"format": "video_ad",
"product_or_service": "online bookkeeping software for freelancers",
"pronunciation_notes": [
"'11pm' — write 'eleven P M' for TTS engines that read it as a number"
],
"recording_tips": [
"Record the CTA as a separate take; TTS engines rush final sentences"
],
"script_marked": "It's 11pm and you're *still* categorizing receipts. [pause 0.5s] You didn't go freelance for this. / Now every transaction sorts *itself* — and your tax estimate updates as you earn. [pause 0.5s] Try it *free*. Your Sunday nights are yours again.",
"script_plain": "It's 11pm and you're still categorizing receipts. You didn't go freelance for this. Now every transaction sorts itself, and your tax estimate updates as you earn. Try it free — your Sunday nights are yours again.",
"segments": [
{
"delivery_note": "Tired, knowing — like you've been there",
"name": "Hook",
"text": "It's 11pm and you're still categorizing receipts.",
"time": "0-5s"
}
],
"target_duration_seconds": 30,
"voice_direction": {
"energy": "Warm, understated confidence",
"pace": "Conversational, slightly quick on the hook, slow on the CTA",
"persona": "A friend who already tried it, not an announcer",
"tone": "Empathetic first, practical second"
},
"word_budget": "about 75 words at ~150 wpm"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"audience": {
"description": "Who is listening — sharpens the hook and vocabulary",
"type": "string"
},
"duration": {
"description": "Target length in seconds — defaults to 30",
"type": "string"
},
"format": {
"description": "Voiceover format: video_ad, explainer, podcast_ad, youtube_intro or ivr_greeting — defaults to video_ad",
"type": "string"
},
"lang": {
"description": "Language to write the script in — defaults to English",
"type": "string"
},
"product": {
"description": "The product, service or business the voiceover is for",
"type": "string"
},
"tone": {
"description": "Voice tone direction in plain language",
"type": "string"
}
},
"required": [
"product"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"builder-code": {
"info": {
"a": "bc_gxy6qn5p"
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"a": {
"description": "App builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"s": {
"description": "Service builder codes",
"items": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"type": "array"
},
"w": {
"description": "Wallet builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
}
},
"type": "object"
}
}
}Use it
curl
curl "https://marketpulse.theaslangroupllc.com/api/market/voiceover-script" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://marketpulse.theaslangroupllc.com/api/market/voiceover-script");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://marketpulse.theaslangroupllc.com/api/market/voiceover-script")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/4653.json, and this resource appears in /discovery/resources and /discovery/search.