by Alibaba

Low-latency speech for assistants and customer service

alibaba/qwen-audio-3.0-tts-flash/text-to-speech
  • 597 voices
  • 10 languages
  • Text to Speech

Call it with the model name alibaba/qwen-audio-3.0-tts-flash/text-to-speech on POST /jobs/createTask, from $0.01425.

Model namealibaba/qwen-audio-3.0-tts-flash/text-to-speech
EndpointPOST https://api.popnow.ai/api/v1/jobs/createTask
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -d '{
  "model": "alibaba/qwen-audio-3.0-tts-flash/text-to-speech",
  "input": {
    "text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
    "voice_id": "qwen-audio-3.0-tts-flash-loonglunawang",
    "language": "auto"
  }
}'

# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

The input is built from the schema below, so it passes validation as written. Change the prompt and links to your own.

Price

OptionUSD per 1,000 characters
Standard$0.01425

Billed in USD · Every option and its price: GET /models/alibaba/qwen-audio-3.0-tts-flash/text-to-speech

Limits

Text length (characters)
10,000
Voices
597
Languages
10

Parameters

These fields come from the same schema we check every request against. Fields that are not listed are rejected.

  • textstringRequired

    The words to be spoken, exactly as written.

    Range
    Character count: 1 – 10000
  • voice_idstringOptional

    Pick from the available voices.

    Default
    "qwen-audio-3.0-tts-flash-loonglunawang"
    Allowed values
    "qwen-audio-3.0-tts-flash-longcanzhuyue""qwen-audio-3.0-tts-flash-longrongzhihe""qwen-audio-3.0-tts-flash-longlanghongmo""qwen-audio-3.0-tts-flash-longfengyueyao""qwen-audio-3.0-tts-flash-longxiaoyuyue""qwen-audio-3.0-tts-flash-longtongxuxian""qwen-audio-3.0-tts-flash-longzhiqingxi""qwen-audio-3.0-tts-flash-longlanbaixian""qwen-audio-3.0-tts-flash-longyingsongliu""qwen-audio-3.0-tts-flash-longzhengyaohe""qwen-audio-3.0-tts-flash-longlanyufu""qwen-audio-3.0-tts-flash-longnixiulian""qwen-audio-3.0-tts-flash-longxilingxuan""qwen-audio-3.0-tts-flash-longchengtaohui""qwen-audio-3.0-tts-flash-longxinruixuan""qwen-audio-3.0-tts-flash-longqinheying""qwen-audio-3.0-tts-flash-longxianshuohui""qwen-audio-3.0-tts-flash-longliannirong""qwen-audio-3.0-tts-flash-longheweican""qwen-audio-3.0-tts-flash-longzhishuoke""qwen-audio-3.0-tts-flash-longruifengyu""qwen-audio-3.0-tts-flash-longluliuche""qwen-audio-3.0-tts-flash-longliuxulan""qwen-audio-3.0-tts-flash-longjufuhe""qwen-audio-3.0-tts-flash-longxiamuyan""qwen-audio-3.0-tts-flash-longyuzhihe""qwen-audio-3.0-tts-flash-longyaolanshuang""qwen-audio-3.0-tts-flash-longsongyibai""qwen-audio-3.0-tts-flash-longyanhuilu""qwen-audio-3.0-tts-flash-longhuifengyi""qwen-audio-3.0-tts-flash-longshuojizhu""qwen-audio-3.0-tts-flash-longhuiyanzhu""qwen-audio-3.0-tts-flash-longbaixiuyun""qwen-audio-3.0-tts-flash-longxiaolanshan""qwen-audio-3.0-tts-flash-longyilincan""qwen-audio-3.0-tts-flash-longsongyilan""qwen-audio-3.0-tts-flash-longhuikeyuan""qwen-audio-3.0-tts-flash-longyujunxuan""qwen-audio-3.0-tts-flash-longchexini""qwen-audio-3.0-tts-flash-longlanlianlan"+557
  • instructionsstringOptional

    How to read the text: mood, distance from the mic, who’s listening. Not read aloud.

    Range
    Character count: 0 – 1000
  • languagestringOptional

    The language of the speech.

    Default
    "auto"
    Allowed values
    "auto""zh""en""ja""ko""fr""de""pt""it""vi""id"
  • speednumberOptional

    Speaking pace.

    Default
    1
    Range
    0.5 – 2
  • pitchnumberOptional

    Raise or lower the voice. 0 keeps its natural pitch.

    Default
    1
    Range
    0.5 – 2
  • volumeintegerOptional

    Loudness. 1 is the normal level.

    Default
    50
    Range
    0 – 100
  • output_formatstringOptional

    File type of the result.

    Default
    "mp3"
    Allowed values
    "mp3""wav""pcm""opus"
  • sample_rateintegerOptional

    Audio sample rate. Higher sounds clearer and makes bigger files.

    Default
    24000
    Allowed values
    8000120001600022050240004410048000
  • bitrateintegerOptional

    Audio bitrate. Higher sounds better and makes bigger files.

    Allowed values
    320006400096000128000192000256000
  • enable_ssmlbooleanOptional

    Read the text as SSML markup, so tags for pauses, pronunciation and volume take effect. When off, tags are read out as plain text.

    Default
    false
  • seedintegerOptional

    Use the same seed and settings for more controlled comparisons.

    Range
    0 – 65535
Raw JSON Schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "seed": {
      "type": "integer",
      "maximum": 65535,
      "minimum": 0,
      "description": "Random seed for controlled comparisons."
    },
    "text": {
      "type": "string",
      "maxLength": 10000,
      "minLength": 1,
      "description": "The words to speak. Billed per 1,000 characters. Turn on enable_ssml to use SSML tags."
    },
    "pitch": {
      "type": "number",
      "default": 1,
      "maximum": 2,
      "minimum": 0.5,
      "description": "Pitch from 0.5 to 2."
    },
    "speed": {
      "type": "number",
      "default": 1,
      "maximum": 2,
      "minimum": 0.5,
      "description": "Speaking speed from 0.5 to 2."
    },
    "volume": {
      "type": "integer",
      "default": 50,
      "maximum": 100,
      "minimum": 0,
      "description": "Output volume from 0 to 100."
    },
    "bitrate": {
      "enum": [
        32000,
        64000,
        96000,
        128000,
        192000,
        256000
      ],
      "type": "integer",
      "description": "Opus bit rate in bits per second. Only applies to opus."
    },
    "language": {
      "enum": [
        "auto",
        "zh",
        "en",
        "ja",
        "ko",
        "fr",
        "de",
        "pt",
        "it",
        "vi",
        "id"
      ],
      "type": "string",
      "default": "auto",
      "description": "Reading language hint, or auto to detect it from the text."
    },
    "voice_id": {
      "enum": [
        "qwen-audio-3.0-tts-flash-longcanzhuyue",
        "qwen-audio-3.0-tts-flash-longrongzhihe",
        "qwen-audio-3.0-tts-flash-longlanghongmo",
        "qwen-audio-3.0-tts-flash-longfengyueyao",
        "qwen-audio-3.0-tts-flash-longxiaoyuyue",
        "qwen-audio-3.0-tts-flash-longtongxuxian",
        "qwen-audio-3.0-tts-flash-longzhiqingxi",
        "qwen-audio-3.0-tts-flash-longlanbaixian",
        "qwen-audio-3.0-tts-flash-longyingsongliu",
        "qwen-audio-3.0-tts-flash-longzhengyaohe",
        "qwen-audio-3.0-tts-flash-longlanyufu",
        "qwen-audio-3.0-tts-flash-longnixiulian",
        "qwen-audio-3.0-tts-flash-longxilingxuan",
        "qwen-audio-3.0-tts-flash-longchengtaohui",
        "qwen-audio-3.0-tts-flash-longxinruixuan",
        "qwen-audio-3.0-tts-flash-longqinheying",
        "qwen-audio-3.0-tts-flash-longxianshuohui",
        "qwen-audio-3.0-tts-flash-longliannirong",
        "qwen-audio-3.0-tts-flash-longheweican",
        "qwen-audio-3.0-tts-flash-longzhishuoke",
        "qwen-audio-3.0-tts-flash-longruifengyu",
        "qwen-audio-3.0-tts-flash-longluliuche",
        "qwen-audio-3.0-tts-flash-longliuxulan",
        "qwen-audio-3.0-tts-flash-longjufuhe",
        "qwen-audio-3.0-tts-flash-longxiamuyan",
        "qwen-audio-3.0-tts-flash-longyuzhihe",
        "qwen-audio-3.0-tts-flash-longyaolanshuang",
        "qwen-audio-3.0-tts-flash-longsongyibai",
        "qwen-audio-3.0-tts-flash-longyanhuilu",
        "qwen-audio-3.0-tts-flash-longhuifengyi",
        "qwen-audio-3.0-tts-flash-longshuojizhu",
        "qwen-audio-3.0-tts-flash-longhuiyanzhu",
        "qwen-audio-3.0-tts-flash-longbaixiuyun",
        "qwen-audio-3.0-tts-flash-longxiaolanshan",
        "qwen-audio-3.0-tts-flash-longyilincan",
        "qwen-audio-3.0-tts-flash-longsongyilan",
        "qwen-audio-3.0-tts-flash-longhuikeyuan",
        "qwen-audio-3.0-tts-flash-longyujunxuan",
        "qwen-audio-3.0-tts-flash-longchexini",
        "qwen-audio-3.0-tts-flash-longlanlianlan",
        "qwen-audio-3.0-tts-flash-longlingtongfu",
        "qwen-audio-3.0-tts-flash-longliumolan",
        "qwen-audio-3.0-tts-flash-longtongjunfeng",
        "qwen-audio-3.0-tts-flash-longquetingqing",
        "qwen-audio-3.0-tts-flash-longzhiluyan",
        "qwen-audio-3.0-tts-flash-longxizhiyun",
        "qwen-audio-3.0-tts-flash-longruiloufeng",
        "qwen-audio-3.0-tts-flash-longquanxiangxuan",
        "qwen-audio-3.0-tts-flash-longronglinglin",
        "qwen-audio-3.0-tts-flash-longqinxinque",
        "qwen-audio-3.0-tts-flash-longlinfengni",
        "qwen-audio-3.0-tts-flash-longyufengni",
        "qwen-audio-3.0-tts-flash-longrongtaolian",
        "qwen-audio-3.0-tts-flash-longyanfengying",
        "qwen-audio-3.0-tts-flash-longquanqueling",
        "qwen-audio-3.0-tts-flash-longxumoxiao",
        "qwen-audio-3.0-tts-flash-longtonglinyuan",
        "qwen-audio-3.0-tts-flash-longfengyutong",
        "qwen-audio-3.0-tts-flash-longhongfuxiu",
        "qwen-audio-3.0-tts-flash-longxiannixiao",
        "qwen-audio-3.0-tts-flash-longsongtaoxuan",
        "qwen-audio-3.0-tts-flash-longmuhongmo",
        "qwen-audio-3.0-tts-flash-longyushuangmu",
        "qwen-audio-3.0-tts-flash-longyuxiangxi",
        "qwen-audio-3.0-tts-flash-longluhuilang",
        "qwen-audio-3.0-tts-flash-longfengmeiche",
        "qwen-audio-3.0-tts-flash-longshuoxidie",
        "qwen-audio-3.0-tts-flash-longfuyingxuan",
        "qwen-audio-3.0-tts-flash-longxuanfuluan",
        "qwen-audio-3.0-tts-flash-longxiuyulan",
        "qwen-audio-3.0-tts-flash-longxiushuoche",
        "qwen-audio-3.0-tts-flash-longlianliuxiao",
        "qwen-audio-3.0-tts-flash-longlanlurong",
        "qwen-audio-3.0-tts-flash-longbaiquemo",
        "qwen-audio-3.0-tts-flash-longyanxuyi",
        "qwen-audio-3.0-tts-flash-longxinzhenghe",
        "qwen-audio-3.0-tts-flash-longzhengxialing",
        "qwen-audio-3.0-tts-flash-longyingshuocan",
        "qwen-audio-3.0-tts-flash-longlinghuiyan",
        "qwen-audio-3.0-tts-flash-longzhuquanwang",
        "qwen-audio-3.0-tts-flash-longyimuling",
        "qwen-audio-3.0-tts-flash-longlanxuejun",
        "qwen-audio-3.0-tts-flash-longlingyingshuo",
        "qwen-audio-3.0-tts-flash-longlingxiaolin",
        "qwen-audio-3.0-tts-flash-longshanhongyue",
        "qwen-audio-3.0-tts-flash-longxianzhenghe",
        "qwen-audio-3.0-tts-flash-longlingzhixing",
        "qwen-audio-3.0-tts-flash-longlanjunrui",
        "qwen-audio-3.0-tts-flash-longxintaofeng",
        "qwen-audio-3.0-tts-flash-longluyinglan",
        "qwen-audio-3.0-tts-flash-longlanglianyue",
        "qwen-audio-3.0-tts-flash-longfushanmu",
        "qwen-audio-3.0-tts-flash-longqueyuxiang",
        "qwen-audio-3.0-tts-flash-longchengtaolian",
        "qwen-audio-3.0-tts-flash-longyuntinglian",
        "qwen-audio-3.0-tts-flash-longyuquelu",
        "qwen-audio-3.0-tts-flash-longjilinxiao",
        "qwen-audio-3.0-tts-flash-longyanchelin",
        "qwen-audio-3.0-tts-flash-longlinjinying",
        "qwen-audio-3.0-tts-flash-longyaolanxuan",
        "qwen-audio-3.0-tts-flash-longzhixingju",
        "qwen-audio-3.0-tts-flash-longronglingyan",
        "qwen-audio-3.0-tts-flash-longxiudieyi",
        "qwen-audio-3.0-tts-flash-longtongxianhong",
        "qwen-audio-3.0-tts-flash-longrongjuxu",
        "qwen-audio-3.0-tts-flash-longlanzhengyan",
        "qwen-audio-3.0-tts-flash-longxiantingfeng",
        "qwen-audio-3.0-tts-flash-longmeixiuhe",
        "qwen-audio-3.0-tts-flash-longxuanyixiao",
        "qwen-audio-3.0-tts-flash-longlanqueyan",
        "qwen-audio-3.0-tts-flash-longtingyuanyi",
        "qwen-audio-3.0-tts-flash-longhesongrui",
        "qwen-audio-3.0-tts-flash-longsonghuiliu",
        "qwen-audio-3.0-tts-flash-longlinyuemo",
        "qwen-audio-3.0-tts-flash-longyuyingdie",
        "qwen-audio-3.0-tts-flash-longxianxinglan",
        "qwen-audio-3.0-tts-flash-longchuanyunling",
        "qwen-audio-3.0-tts-flash-longdielianxia",
        "qwen-audio-3.0-tts-flash-longyuanzhiwei",
        "qwen-audio-3.0-tts-flash-longyuehongyan",
        "qwen-audio-3.0-tts-flash-longjitongfeng",
        "qwen-audio-3.0-tts-flash-longluanxiche",
        "qwen-audio-3.0-tts-flash-longxihuiyan",
        "qwen-audio-3.0-tts-flash-longfengshuangfu",
        "qwen-audio-3.0-tts-flash-longliuxiuke",
        "qwen-audio-3.0-tts-flash-longyinglandie",
        "qwen-audio-3.0-tts-flash-longlingxingxia",
        "qwen-audio-3.0-tts-flash-longlanzhixu",
        "qwen-audio-3.0-tts-flash-longlanyuerong",
        "qwen-audio-3.0-tts-flash-longshuosongxuan",
        "qwen-audio-3.0-tts-flash-longxuanzhuche",
        "qwen-audio-3.0-tts-flash-longxianlianyi",
        "qwen-audio-3.0-tts-flash-longbaijunzheng",
        "qwen-audio-3.0-tts-flash-longtongxingquan",
        "qwen-audio-3.0-tts-flash-longyirongzheng",
        "qwen-audio-3.0-tts-flash-longshuohuimei",
        "qwen-audio-3.0-tts-flash-longluxiaohui",
        "qwen-audio-3.0-tts-flash-longshanniting",
        "qwen-audio-3.0-tts-flash-longnixiwei",
        "qwen-audio-3.0-tts-flash-longcheyanxuan",
        "qwen-audio-3.0-tts-flash-longyuelanke",
        "qwen-audio-3.0-tts-flash-longliulingfu",
        "qwen-audio-3.0-tts-flash-longhuitongyuan",
        "qwen-audio-3.0-tts-flash-longyaoxuanzhi",
        "qwen-audio-3.0-tts-flash-longjunxinmu",
        "qwen-audio-3.0-tts-flash-longlingyilan",
        "qwen-audio-3.0-tts-flash-longlingxianxiu",
        "qwen-audio-3.0-tts-flash-longlianruimei",
        "qwen-audio-3.0-tts-flash-longyumeixia",
        "qwen-audio-3.0-tts-flash-longtaoliuhong",
        "qwen-audio-3.0-tts-flash-longjixilan",
        "qwen-audio-3.0-tts-flash-longqintaoxuan",
        "qwen-audio-3.0-tts-flash-longzhengxiaocheng",
        "qwen-audio-3.0-tts-flash-longchuanqueyan",
        "qwen-audio-3.0-tts-flash-longlianchuanzhu",
        "qwen-audio-3.0-tts-flash-longfengyuanquan",
        "qwen-audio-3.0-tts-flash-longsongchelin",
        "qwen-audio-3.0-tts-flash-longmeixiaolan",
        "qwen-audio-3.0-tts-flash-longtingheqing",
        "qwen-audio-3.0-tts-flash-longxiyanjun",
        "qwen-audio-3.0-tts-flash-longyanhongqin",
        "qwen-audio-3.0-tts-flash-longyiliufu",
        "qwen-audio-3.0-tts-flash-longbaixuanshan",
        "qwen-audio-3.0-tts-flash-longbaiyunlin",
        "qwen-audio-3.0-tts-flash-longxuanfengrui",
        "qwen-audio-3.0-tts-flash-longweijuquan",
        "qwen-audio-3.0-tts-flash-longjunhuixia",
        "qwen-audio-3.0-tts-flash-longquemeifeng",
        "qwen-audio-3.0-tts-flash-longxianfengwei",
        "qwen-audio-3.0-tts-flash-longquexihui",
        "qwen-audio-3.0-tts-flash-longyaoruilang",
        "qwen-audio-3.0-tts-flash-longlanlangwei",
        "qwen-audio-3.0-tts-flash-longyingfengmu",
        "qwen-audio-3.0-tts-flash-longyaolinglan",
        "qwen-audio-3.0-tts-flash-longkexuanzheng",
        "qwen-audio-3.0-tts-flash-longyuelinwang",
        "qwen-audio-3.0-tts-flash-longtaotingyu",
        "qwen-audio-3.0-tts-flash-longxianyuanmei",
        "qwen-audio-3.0-tts-flash-longhuibaijun",
        "qwen-audio-3.0-tts-flash-longlinglinyao",
        "qwen-audio-3.0-tts-flash-longfengmeihui",
        "qwen-audio-3.0-tts-flash-longlantongxuan",
        "qwen-audio-3.0-tts-flash-longdiechuanling",
        "qwen-audio-3.0-tts-flash-longlingjuhong",
        "qwen-audio-3.0-tts-flash-longyunjinji",
        "qwen-audio-3.0-tts-flash-longsongqinglian",
        "qwen-audio-3.0-tts-flash-longyuelinglan",
        "qwen-audio-3.0-tts-flash-longxiuketao",
        "qwen-audio-3.0-tts-flash-longchenghongrui",
        "qwen-audio-3.0-tts-flash-longxueyuxia",
        "qwen-audio-3.0-tts-flash-longhongxinxu",
        "qwen-audio-3.0-tts-flash-longfenglanxiao",
        "qwen-audio-3.0-tts-flash-longqinqueyi",
        "qwen-audio-3.0-tts-flash-longquanlingfu",
        "qwen-audio-3.0-tts-flash-longxuxiyue",
        "qwen-audio-3.0-tts-flash-longmofengshuo",
        "qwen-audio-3.0-tts-flash-longyishuojin",
        "qwen-audio-3.0-tts-flash-longqueqinlan",
        "qwen-audio-3.0-tts-flash-longquetongwang",
        "qwen-audio-3.0-tts-flash-longxuekeyu",
        "qwen-audio-3.0-tts-flash-longyiqueju",
        "qwen-audio-3.0-tts-flash-longcheshuofeng",
        "qwen-audio-3.0-tts-flash-longlanmuju",
        "qwen-audio-3.0-tts-flash-longcanlianxiu",
        "qwen-audio-3.0-tts-flash-longcanyanwang",
        "qwen-audio-3.0-tts-flash-longlinxinghong",
        "qwen-audio-3.0-tts-flash-longchengxuanxian",
        "qwen-audio-3.0-tts-flash-longyuxialan",
        "qwen-audio-3.0-tts-flash-longruiyuling",
        "qwen-audio-3.0-tts-flash-longyiqinhui",
        "qwen-audio-3.0-tts-flash-longquefengmu",
        "qwen-audio-3.0-tts-flash-longyaoxuanke",
        "qwen-audio-3.0-tts-flash-longshanxinglan",
        "qwen-audio-3.0-tts-flash-longyixiaowei",
        "qwen-audio-3.0-tts-flash-longlianchuanxuan",
        "qwen-audio-3.0-tts-flash-longzhufengquan",
        "qwen-audio-3.0-tts-flash-longlangjiluan",
        "qwen-audio-3.0-tts-flash-longyuyaoluan",
        "qwen-audio-3.0-tts-flash-longlianmeixiu",
        "qwen-audio-3.0-tts-flash-longmuhecan",
        "qwen-audio-3.0-tts-flash-longlangruiling",
        "qwen-audio-3.0-tts-flash-longyanzhihui",
        "qwen-audio-3.0-tts-flash-longxianlinxu",
        "qwen-audio-3.0-tts-flash-longhexuefeng",
        "qwen-audio-3.0-tts-flash-longzhuqinxuan",
        "qwen-audio-3.0-tts-flash-longhongxiuyi",
        "qwen-audio-3.0-tts-flash-longxixiani",
        "qwen-audio-3.0-tts-flash-longxuqinyuan",
        "qwen-audio-3.0-tts-flash-longyingfengwang",
        "qwen-audio-3.0-tts-flash-longquexuanyu",
        "qwen-audio-3.0-tts-flash-longmohuiling",
        "qwen-audio-3.0-tts-flash-longyingtaomei",
        "qwen-audio-3.0-tts-flash-longyaoxinliu",
        "qwen-audio-3.0-tts-flash-longshuangyuerong",
        "qwen-audio-3.0-tts-flash-longlulanling",
        "qwen-audio-3.0-tts-flash-longruiyueju",
        "qwen-audio-3.0-tts-flash-longyingjulan",
        "qwen-audio-3.0-tts-flash-longshanzhuxin",
        "qwen-audio-3.0-tts-flash-longlanxiaoling",
        "qwen-audio-3.0-tts-flash-longxikexing",
        "qwen-audio-3.0-tts-flash-longshuanglanhong",
        "qwen-audio-3.0-tts-flash-longxialuling",
        "qwen-audio-3.0-tts-flash-longxiangxizheng",
        "qwen-audio-3.0-tts-flash-longyanxueni",
        "qwen-audio-3.0-tts-flash-longxiuhuiyue",
        "qwen-audio-3.0-tts-flash-longfengyanshuo",
        "qwen-audio-3.0-tts-flash-longtongquequan",
        "qwen-audio-3.0-tts-flash-longyujulu",
        "qwen-audio-3.0-tts-flash-longshuocanmu",
        "qwen-audio-3.0-tts-flash-longhehuiyi",
        "qwen-audio-3.0-tts-flash-longxiaoyuque",
        "qwen-audio-3.0-tts-flash-longxulingji",
        "qwen-audio-3.0-tts-flash-longqueqingrui",
        "qwen-audio-3.0-tts-flash-longxiufengdie",
        "qwen-audio-3.0-tts-flash-longyuyanxuan",
        "qwen-audio-3.0-tts-flash-longsongshuoling",
        "qwen-audio-3.0-tts-flash-longxiyaoque",
        "qwen-audio-3.0-tts-flash-longlanxiaoyu",
        "qwen-audio-3.0-tts-flash-longxuanmeilin",
        "qwen-audio-3.0-tts-flash-longjishuangjin",
        "qwen-audio-3.0-tts-flash-longlingzhengcheng",
        "qwen-audio-3.0-tts-flash-longsongxinchuan",
        "qwen-audio-3.0-tts-flash-longlanxiaoyi",
        "qwen-audio-3.0-tts-flash-longchengzhiyan",
        "qwen-audio-3.0-tts-flash-longyuxinwang",
        "qwen-audio-3.0-tts-flash-longfengweixian",
        "qwen-audio-3.0-tts-flash-longyanlanyun",
        "qwen-audio-3.0-tts-flash-longchexinfeng",
        "qwen-audio-3.0-tts-flash-longhongcanyue",
        "qwen-audio-3.0-tts-flash-longhediexiu",
        "qwen-audio-3.0-tts-flash-longyijunji",
        "qwen-audio-3.0-tts-flash-longshuangsongbai",
        "qwen-audio-3.0-tts-flash-longlangxiwei",
        "qwen-audio-3.0-tts-flash-longyuanyuque",
        "qwen-audio-3.0-tts-flash-longliulanxiang",
        "qwen-audio-3.0-tts-flash-longquezhujin",
        "qwen-audio-3.0-tts-flash-longyixuanjun",
        "qwen-audio-3.0-tts-flash-longluanhuiyu",
        "qwen-audio-3.0-tts-flash-longlinliuhe",
        "qwen-audio-3.0-tts-flash-longxuankemei",
        "qwen-audio-3.0-tts-flash-longxiaqueshan",
        "qwen-audio-3.0-tts-flash-longlianhuirui",
        "qwen-audio-3.0-tts-flash-longquanluanhong",
        "qwen-audio-3.0-tts-flash-longxingxiuquan",
        "qwen-audio-3.0-tts-flash-longchengyanfeng",
        "qwen-audio-3.0-tts-flash-longxuanzhufeng",
        "qwen-audio-3.0-tts-flash-longtongshuoxiu",
        "qwen-audio-3.0-tts-flash-longyaoquezheng",
        "qwen-audio-3.0-tts-flash-longxifengyi",
        "qwen-audio-3.0-tts-flash-longjunxiayan",
        "qwen-audio-3.0-tts-flash-longtongquanxiang",
        "qwen-audio-3.0-tts-flash-longyixiangtao",
        "qwen-audio-3.0-tts-flash-longlannihui",
        "qwen-audio-3.0-tts-flash-longxuanzhengju",
        "qwen-audio-3.0-tts-flash-longshanyusong",
        "qwen-audio-3.0-tts-flash-longshanyilan",
        "qwen-audio-3.0-tts-flash-longshuochehui",
        "qwen-audio-3.0-tts-flash-longyiyusong",
        "qwen-audio-3.0-tts-flash-longlingqueyi",
        "qwen-audio-3.0-tts-flash-longxiyuling",
        "qwen-audio-3.0-tts-flash-longjunfengqing",
        "qwen-audio-3.0-tts-flash-longyijinquan",
        "qwen-audio-3.0-tts-flash-longyanhuixiao",
        "qwen-audio-3.0-tts-flash-longmulinghong",
        "qwen-audio-3.0-tts-flash-longchengxutao",
        "qwen-audio-3.0-tts-flash-longxiaosongyu",
        "qwen-audio-3.0-tts-flash-longyantongxi",
        "qwen-audio-3.0-tts-flash-longxueronghui",
        "qwen-audio-3.0-tts-flash-longyitingyan",
        "qwen-audio-3.0-tts-flash-longyijinhong",
        "qwen-audio-3.0-tts-flash-longlanghuishuang",
        "qwen-audio-3.0-tts-flash-longluyueqin",
        "qwen-audio-3.0-tts-flash-longjinlianji",
        "qwen-audio-3.0-tts-flash-longyueximu",
        "qwen-audio-3.0-tts-flash-longlanjunxu",
        "qwen-audio-3.0-tts-flash-longlanhuihui",
        "qwen-audio-3.0-tts-flash-longxiaohehui",
        "qwen-audio-3.0-tts-flash-longlanxuanxian",
        "qwen-audio-3.0-tts-flash-longhuixuanyan",
        "qwen-audio-3.0-tts-flash-longxingyujun",
        "qwen-audio-3.0-tts-flash-longyanyuantao",
        "qwen-audio-3.0-tts-flash-longsongquanxuan",
        "qwen-audio-3.0-tts-flash-longxiaomohong",
        "qwen-audio-3.0-tts-flash-longxinyanshuo",
        "qwen-audio-3.0-tts-flash-longsongbaifeng",
        "qwen-audio-3.0-tts-flash-longjiquexue",
        "qwen-audio-3.0-tts-flash-longlangjixuan",
        "qwen-audio-3.0-tts-flash-longlanxiaqing",
        "qwen-audio-3.0-tts-flash-longjunlingtao",
        "qwen-audio-3.0-tts-flash-longfengjinhe",
        "qwen-audio-3.0-tts-flash-longbaixingyu",
        "qwen-audio-3.0-tts-flash-longshuanghuichuan",
        "qwen-audio-3.0-tts-flash-longlingzhengtong",
        "qwen-audio-3.0-tts-flash-longjinxilan",
        "qwen-audio-3.0-tts-flash-longqingxiangju",
        "qwen-audio-3.0-tts-flash-longyaozhiqing",
        "qwen-audio-3.0-tts-flash-longdieshuangluan",
        "qwen-audio-3.0-tts-flash-longxuanhongxi",
        "qwen-audio-3.0-tts-flash-longyueyuqin",
        "qwen-audio-3.0-tts-flash-longjuhefeng",
        "qwen-audio-3.0-tts-flash-longxianhelan",
        "qwen-audio-3.0-tts-flash-longqingyanyun",
        "qwen-audio-3.0-tts-flash-longlianliusong",
        "qwen-audio-3.0-tts-flash-longzhujinxuan",
        "qwen-audio-3.0-tts-flash-longshuangxuandie",
        "qwen-audio-3.0-tts-flash-longluzhulan",
        "qwen-audio-3.0-tts-flash-longyixiangcheng",
        "qwen-audio-3.0-tts-flash-longxuanyanyun",
        "qwen-audio-3.0-tts-flash-longxuanchengdie",
        "qwen-audio-3.0-tts-flash-longyiyulu",
        "qwen-audio-3.0-tts-flash-longhonglingxue",
        "qwen-audio-3.0-tts-flash-longyilianxia",
        "qwen-audio-3.0-tts-flash-longlulanxuan",
        "qwen-audio-3.0-tts-flash-longyizhengmu",
        "qwen-audio-3.0-tts-flash-longhexueling",
        "qwen-audio-3.0-tts-flash-longhuishanshuo",
        "qwen-audio-3.0-tts-flash-longyifenghe",
        "qwen-audio-3.0-tts-flash-longfengxuanxing",
        "qwen-audio-3.0-tts-flash-longxueyujun",
        "qwen-audio-3.0-tts-flash-longmolinglian",
        "qwen-audio-3.0-tts-flash-longjinlingshuang",
        "qwen-audio-3.0-tts-flash-longweimeiyi",
        "qwen-audio-3.0-tts-flash-longxiaquehong",
        "qwen-audio-3.0-tts-flash-longlanwangyi",
        "qwen-audio-3.0-tts-flash-longxiniyan",
        "qwen-audio-3.0-tts-flash-longyufengmo",
        "qwen-audio-3.0-tts-flash-longzhengxike",
        "qwen-audio-3.0-tts-flash-longjunqingyu",
        "qwen-audio-3.0-tts-flash-longtongwangque",
        "qwen-audio-3.0-tts-flash-longxueniling",
        "qwen-audio-3.0-tts-flash-longyuxiangxia",
        "qwen-audio-3.0-tts-flash-longfenglanlu",
        "qwen-audio-3.0-tts-flash-longyuhongche",
        "qwen-audio-3.0-tts-flash-longlangqingyi",
        "qwen-audio-3.0-tts-flash-longlanquancheng",
        "qwen-audio-3.0-tts-flash-longluanyuxu",
        "qwen-audio-3.0-tts-flash-longtinghongxiao",
        "qwen-audio-3.0-tts-flash-longfuhuiqing",
        "qwen-audio-3.0-tts-flash-longwangyuanxing",
        "qwen-audio-3.0-tts-flash-longquanqingshan",
        "qwen-audio-3.0-tts-flash-longyaoshuoyu",
        "qwen-audio-3.0-tts-flash-longhuiluling",
        "qwen-audio-3.0-tts-flash-longlinbaitong",
        "qwen-audio-3.0-tts-flash-longyuxiangzhi",
        "qwen-audio-3.0-tts-flash-longhexuanlan",
        "qwen-audio-3.0-tts-flash-longlingchengyi",
        "qwen-audio-3.0-tts-flash-longyanyaolu",
        "qwen-audio-3.0-tts-flash-longtongjichuan",
        "qwen-audio-3.0-tts-flash-longlinchengquan",
        "qwen-audio-3.0-tts-flash-longhuiquanqing",
        "qwen-audio-3.0-tts-flash-longlanlingcan",
        "qwen-audio-3.0-tts-flash-longlanquexiao",
        "qwen-audio-3.0-tts-flash-longmeitingsong",
        "qwen-audio-3.0-tts-flash-longbaikehui",
        "qwen-audio-3.0-tts-flash-longtingjinxi",
        "qwen-audio-3.0-tts-flash-longcanlingying",
        "qwen-audio-3.0-tts-flash-longyanlianyao",
        "qwen-audio-3.0-tts-flash-longximusong",
        "qwen-audio-3.0-tts-flash-longchexueyue",
        "qwen-audio-3.0-tts-flash-longhuichengfu",
        "qwen-audio-3.0-tts-flash-longchengdieshuo",
        "qwen-audio-3.0-tts-flash-longlanyimo",
        "qwen-audio-3.0-tts-flash-longchuanrongshuo",
        "qwen-audio-3.0-tts-flash-longxiuquanwang",
        "qwen-audio-3.0-tts-flash-longquediechuan",
        "qwen-audio-3.0-tts-flash-longyanyuju",
        "qwen-audio-3.0-tts-flash-longnilanfeng",
        "qwen-audio-3.0-tts-flash-longxiangxiaozheng",
        "qwen-audio-3.0-tts-flash-longfengmeiwei",
        "qwen-audio-3.0-tts-flash-longjuqinshuang",
        "qwen-audio-3.0-tts-flash-longyandierong",
        "qwen-audio-3.0-tts-flash-longkechengji",
        "qwen-audio-3.0-tts-flash-longlanbailan",
        "qwen-audio-3.0-tts-flash-longlanjunxing",
        "qwen-audio-3.0-tts-flash-longshuangjinlan",
        "qwen-audio-3.0-tts-flash-longjinlianxiao",
        "qwen-audio-3.0-tts-flash-longlanfengyu",
        "qwen-audio-3.0-tts-flash-longshuangchexiao",
        "qwen-audio-3.0-tts-flash-longlingjinquan",
        "qwen-audio-3.0-tts-flash-longlanlingying",
        "qwen-audio-3.0-tts-flash-longlanqinluan",
        "qwen-audio-3.0-tts-flash-longxiaoyulan",
        "qwen-audio-3.0-tts-flash-longyuxiangfeng",
        "qwen-audio-3.0-tts-flash-longxuefenghe",
        "qwen-audio-3.0-tts-flash-longlingtingxiu",
        "qwen-audio-3.0-tts-flash-longkeyanyu",
        "qwen-audio-3.0-tts-flash-longyanhonglin",
        "qwen-audio-3.0-tts-flash-longxiaoxianglian",
        "qwen-audio-3.0-tts-flash-longlingxingyi",
        "qwen-audio-3.0-tts-flash-longdiemujun",
        "qwen-audio-3.0-tts-flash-longhuilingfu",
        "qwen-audio-3.0-tts-flash-longjishuangmu",
        "qwen-audio-3.0-tts-flash-longjushuorong",
        "qwen-audio-3.0-tts-flash-longtaoxingque",
        "qwen-audio-3.0-tts-flash-longsonglinwang",
        "qwen-audio-3.0-tts-flash-longxiaoyanling",
        "qwen-audio-3.0-tts-flash-longhuiheting",
        "qwen-audio-3.0-tts-flash-longxinchuanyi",
        "qwen-audio-3.0-tts-flash-longshanxiulian",
        "qwen-audio-3.0-tts-flash-longlangjishuo",
        "qwen-audio-3.0-tts-flash-longyanchuantao",
        "qwen-audio-3.0-tts-flash-longxiaolinzhi",
        "qwen-audio-3.0-tts-flash-longhuiyingwang",
        "qwen-audio-3.0-tts-flash-longyuchuanlan",
        "qwen-audio-3.0-tts-flash-longjinmeicheng",
        "qwen-audio-3.0-tts-flash-longluanlanju",
        "qwen-audio-3.0-tts-flash-longjintongxi",
        "qwen-audio-3.0-tts-flash-longxulianxia",
        "qwen-audio-3.0-tts-flash-longxinglianwei",
        "qwen-audio-3.0-tts-flash-longweihezheng",
        "qwen-audio-3.0-tts-flash-longrongshuangxuan",
        "qwen-audio-3.0-tts-flash-longcanruishuang",
        "qwen-audio-3.0-tts-flash-longyuetongling",
        "qwen-audio-3.0-tts-flash-longyunlingbai",
        "qwen-audio-3.0-tts-flash-longchuanxuxing",
        "qwen-audio-3.0-tts-flash-longkejinhui",
        "qwen-audio-3.0-tts-flash-longxuchengrui",
        "qwen-audio-3.0-tts-flash-longshandiefeng",
        "qwen-audio-3.0-tts-flash-longlanfengxia",
        "qwen-audio-3.0-tts-flash-longfengxiaolin",
        "qwen-audio-3.0-tts-flash-longyuejinxiu",
        "qwen-audio-3.0-tts-flash-longhexiaofeng",
        "qwen-audio-3.0-tts-flash-longzhuyuebai",
        "qwen-audio-3.0-tts-flash-longhuiliantong",
        "qwen-audio-3.0-tts-flash-longhongyanxuan",
        "qwen-audio-3.0-tts-flash-longshanyancan",
        "qwen-audio-3.0-tts-flash-longxiangkeyao",
        "qwen-audio-3.0-tts-flash-longfenghechuan",
        "qwen-audio-3.0-tts-flash-longyunfuhong",
        "qwen-audio-3.0-tts-flash-longlanweiyue",
        "qwen-audio-3.0-tts-flash-longfuxuyu",
        "qwen-audio-3.0-tts-flash-longyuxuanmei",
        "qwen-audio-3.0-tts-flash-longbaifengshuo",
        "qwen-audio-3.0-tts-flash-longwangmeican",
        "qwen-audio-3.0-tts-flash-longyanzhihe",
        "qwen-audio-3.0-tts-flash-longxiuxiayu",
        "qwen-audio-3.0-tts-flash-longxianlingling",
        "qwen-audio-3.0-tts-flash-longlanrongshuo",
        "qwen-audio-3.0-tts-flash-longyiqinghui",
        "qwen-audio-3.0-tts-flash-longchezhuyu",
        "qwen-audio-3.0-tts-flash-longchengliansong",
        "qwen-audio-3.0-tts-flash-longtingquezhu",
        "qwen-audio-3.0-tts-flash-longtongmuyuan",
        "qwen-audio-3.0-tts-flash-longyuxiulan",
        "qwen-audio-3.0-tts-flash-longxiucheyu",
        "qwen-audio-3.0-tts-flash-longlangjunji",
        "qwen-audio-3.0-tts-flash-longlianyunxia",
        "qwen-audio-3.0-tts-flash-longmoyulu",
        "qwen-audio-3.0-tts-flash-longjinlinfeng",
        "qwen-audio-3.0-tts-flash-longqinghexi",
        "qwen-audio-3.0-tts-flash-longyilanni",
        "qwen-audio-3.0-tts-flash-longlanxinglin",
        "qwen-audio-3.0-tts-flash-longjimoyan",
        "qwen-audio-3.0-tts-flash-longruirongxiu",
        "qwen-audio-3.0-tts-flash-longyingtaoji",
        "qwen-audio-3.0-tts-flash-longfengxindie",
        "qwen-audio-3.0-tts-flash-longxuanyinglu",
        "qwen-audio-3.0-tts-flash-longqinghuilang",
        "qwen-audio-3.0-tts-flash-longronghongxue",
        "qwen-audio-3.0-tts-flash-longruimoliu",
        "qwen-audio-3.0-tts-flash-longhexiaoxuan",
        "qwen-audio-3.0-tts-flash-longchengyuhui",
        "qwen-audio-3.0-tts-flash-longxuanlinju",
        "qwen-audio-3.0-tts-flash-longlinlinying",
        "qwen-audio-3.0-tts-flash-longyilangyan",
        "qwen-audio-3.0-tts-flash-longshuanglanhui",
        "qwen-audio-3.0-tts-flash-longyiyuxian",
        "qwen-audio-3.0-tts-flash-longsonglinhe",
        "qwen-audio-3.0-tts-flash-longxuanzhilin",
        "qwen-audio-3.0-tts-flash-longfengyuxiao",
        "qwen-audio-3.0-tts-flash-longxiaoyihe",
        "qwen-audio-3.0-tts-flash-longlianyingyue",
        "qwen-audio-3.0-tts-flash-longqingyiyao",
        "qwen-audio-3.0-tts-flash-longshuangweihe",
        "qwen-audio-3.0-tts-flash-longquantaolan",
        "qwen-audio-3.0-tts-flash-longchuanyingyue",
        "qwen-audio-3.0-tts-flash-longliutaohong",
        "qwen-audio-3.0-tts-flash-longrongxianyu",
        "qwen-audio-3.0-tts-flash-longluanxuanling",
        "qwen-audio-3.0-tts-flash-longhefenglian",
        "qwen-audio-3.0-tts-flash-longjunfuyu",
        "qwen-audio-3.0-tts-flash-longfengqinji",
        "qwen-audio-3.0-tts-flash-longyingyiyu",
        "qwen-audio-3.0-tts-flash-longchezhihong",
        "qwen-audio-3.0-tts-flash-longfulingmu",
        "qwen-audio-3.0-tts-flash-longxuansongxing",
        "qwen-audio-3.0-tts-flash-longhecherong",
        "qwen-audio-3.0-tts-flash-longlianlanyuan",
        "qwen-audio-3.0-tts-flash-longxiutongni",
        "qwen-audio-3.0-tts-flash-longtongheji",
        "qwen-audio-3.0-tts-flash-longfengmohui",
        "qwen-audio-3.0-tts-flash-longquanxuanshuang",
        "qwen-audio-3.0-tts-flash-longlinheyi",
        "qwen-audio-3.0-tts-flash-longhuisongxiao",
        "qwen-audio-3.0-tts-flash-longyiyushuo",
        "qwen-audio-3.0-tts-flash-longxinyuanxing",
        "qwen-audio-3.0-tts-flash-longxiaoxingyi",
        "qwen-audio-3.0-tts-flash-longlianjinxing",
        "qwen-audio-3.0-tts-flash-longshanzhengqin",
        "qwen-audio-3.0-tts-flash-longxuantaoshuo",
        "qwen-audio-3.0-tts-flash-longlingweiluan",
        "qwen-audio-3.0-tts-flash-longfengxiuche",
        "qwen-audio-3.0-tts-flash-longlinshuoxi",
        "qwen-audio-3.0-tts-flash-longyaofenghe",
        "qwen-audio-3.0-tts-flash-longyucanxiao",
        "qwen-audio-3.0-tts-flash-longxilanque",
        "qwen-audio-3.0-tts-flash-longcheqinyi",
        "qwen-audio-3.0-tts-flash-longxuequanshuo",
        "qwen-audio-3.0-tts-flash-longshanyuxing",
        "qwen-audio-3.0-tts-flash-longlantongluan",
        "qwen-audio-3.0-tts-flash-longbaichexuan",
        "qwen-audio-3.0-tts-flash-longlangmoyue",
        "qwen-audio-3.0-tts-flash-longwangjixi",
        "qwen-audio-3.0-tts-flash-longshuangqinque",
        "qwen-audio-3.0-tts-flash-longkeyuecan",
        "qwen-audio-3.0-tts-flash-longyuanruiling",
        "qwen-audio-3.0-tts-flash-longquefengshuo",
        "qwen-audio-3.0-tts-flash-longxishuoxuan",
        "qwen-audio-3.0-tts-flash-longtongquanxi",
        "qwen-audio-3.0-tts-flash-longhetongcan",
        "qwen-audio-3.0-tts-flash-longyuyuzheng",
        "qwen-audio-3.0-tts-flash-longjunqueyu",
        "qwen-audio-3.0-tts-flash-longzhenglanyao",
        "qwen-audio-3.0-tts-flash-longqingxiaoxiang",
        "qwen-audio-3.0-tts-flash-longyueyaoling",
        "qwen-audio-3.0-tts-flash-longlinhongxi",
        "qwen-audio-3.0-tts-flash-longchengtingtong",
        "qwen-audio-3.0-tts-flash-longtonghewei",
        "qwen-audio-3.0-tts-flash-longlanjulu",
        "qwen-audio-3.0-tts-flash-longyingdielin",
        "qwen-audio-3.0-tts-flash-longyulianrong",
        "qwen-audio-3.0-tts-flash-longhuiyanxing",
        "qwen-audio-3.0-tts-flash-longquexuhui",
        "qwen-audio-3.0-tts-flash-longkeyuwang",
        "qwen-audio-3.0-tts-flash-longyushanluan",
        "qwen-audio-3.0-tts-flash-longweiquancheng",
        "qwen-audio-3.0-tts-flash-loongolivialin",
        "qwen-audio-3.0-tts-flash-loonglunawang",
        "qwen-audio-3.0-tts-flash-loongalexanderhu",
        "qwen-audio-3.0-tts-flash-loongnorahu",
        "qwen-audio-3.0-tts-flash-loongadriangao",
        "qwen-audio-3.0-tts-flash-loongjameszhao",
        "qwen-audio-3.0-tts-flash-loongryanma",
        "qwen-audio-3.0-tts-flash-loongivyhu",
        "qwen-audio-3.0-tts-flash-longyingbaozi",
        "qwen-audio-3.0-tts-flash-longyingyali",
        "qwen-audio-3.0-tts-flash-longyingyueyue",
        "qwen-audio-3.0-tts-flash-longyingxiaola",
        "qwen-audio-3.0-tts-flash-longyingyifan",
        "qwen-audio-3.0-tts-flash-longyinglanxin",
        "qwen-audio-3.0-tts-flash-longyingmuyu",
        "qwen-audio-3.0-tts-flash-longyingyulu",
        "qwen-audio-3.0-tts-flash-longyingmomo",
        "qwen-audio-3.0-tts-flash-longyingshiyu",
        "qwen-audio-3.0-tts-flash-longyinghaitai",
        "qwen-audio-3.0-tts-flash-longyinghaiyuan",
        "qwen-audio-3.0-tts-flash-longyingwumao"
      ],
      "type": "string",
      "default": "qwen-audio-3.0-tts-flash-loonglunawang",
      "description": "Preset voice for this model."
    },
    "enable_ssml": {
      "type": "boolean",
      "default": false,
      "description": "Read text as SSML markup."
    },
    "sample_rate": {
      "enum": [
        8000,
        12000,
        16000,
        22050,
        24000,
        44100,
        48000
      ],
      "type": "integer",
      "default": 24000,
      "description": "Sample rate in Hz."
    },
    "instructions": {
      "type": "string",
      "maxLength": 1000,
      "description": "How to read the text: emotion, tone, persona, pace or dialect. Not spoken and not billed."
    },
    "output_format": {
      "enum": [
        "mp3",
        "wav",
        "pcm",
        "opus"
      ],
      "type": "string",
      "default": "mp3",
      "description": "Audio encoding. pcm is raw 16-bit audio without a file header."
    }
  },
  "additionalProperties": false
}

Responses, polling and callbacks

Every model works the same way: create a task, then poll it or wait for a callback.

Price it first

cURL
curl -X POST https://api.popnow.ai/api/v1/jobs/quote \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "alibaba/qwen-audio-3.0-tts-flash/text-to-speech",
  "input": {
    "text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
    "voice_id": "qwen-audio-3.0-tts-flash-loonglunawang",
    "language": "auto"
  }
}'

Send the same request body to POST /jobs/quote to see the estimated and maximum USD charge before running. A quote does not run the task or charge your balance.

Accepted

HTTP
HTTP/1.1 202 Accepted

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_01k3m8x9q2z4v7n5p6r8s0t1w3",
    "state": "queued"
  },
  "request_id": "req_example_create"
}

HTTP 202 means accepted: the maximum USD amount is held until settlement. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.

Check status

cURL
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Poll every few seconds with backoff and stop once state is succeeded, failed, canceled or expired.

Finished task

JSON
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_01k3m8x9q2z4v7n5p6r8s0t1w3",
    "model": "alibaba/qwen-audio-3.0-tts-flash/text-to-speech",
    "state": "succeeded",
    "output": {
      "assets": [
        {
          "url": "https://cdn.popnow.ai/tasks/task_01k3m8x9q2z4v7n5p6r8s0t1w3/output.mp3?signature=FROM_RESPONSE",
          "expiresAt": "2026-10-17T12:20:00Z",
          "mime": "audio/mpeg",
          "durationSeconds": 30
        }
      ]
    },
    "settled": true
  },
  "request_id": "req_example_record"
}

Download from url before expiresAt. Need a fresh link later? Ask POST /common/download-url.

Verify a callback

Node.js
import { createHash, createHmac, timingSafeEqual } from "node:crypto";
import express from "express";

const app = express();
// express.raw keeps the exact bytes that were signed; express.json would not match.
app.post("/hooks/popnow", express.raw({ type: "application/json" }), (req, res) => {
  const timestamp = req.header("X-Webhook-Timestamp");
  const signature = req.header("X-Webhook-Signature") ?? "";
  const body = JSON.parse(req.body.toString("utf8"));
  const taskId = body.data?.taskId ?? body.task_id;
  const digest = createHash("sha256").update(req.body).digest("hex");
  const expected = createHmac("sha256", process.env.POPNOW_WEBHOOK_SECRET)
    .update(`${taskId}.${timestamp}.${digest}`)
    .digest("base64");
  const ok = expected.length === signature.length && timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
  // Check the signature first, then reject anything older than five minutes.
  if (!ok || Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return res.status(401).end();
  res.status(200).end(); // answer fast, then fetch the task and store its files
});

With callBackUrl set, we post the finished task to you. Check the signature against the raw body before you trust it.

Send a local file

cURL
curl -X POST https://api.popnow.ai/api/v1/common/upload-url \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contentType": "image/png", "bytes": 482113}'

# PUT the file bytes to data.uploadUrl with every header in data.headers, then commit it:
curl -X POST https://api.popnow.ai/api/v1/files/$FILE_ID/commit \
  -H "Authorization: Bearer $POPNOW_API_KEY"
# The commit returns a popnow://f/... reference. Put it in any image, video or
# audio field of the task input instead of a public https URL.

Public https links work as they are. Local files go through upload-url and commit first.