{"status":"ok","types":["image","text","video","voice","music"],"getting_started":{"base_url":"https:\/\/vibemarketolog.ru\/api\/agent","auth":"Send header: Authorization: Bearer <your_token>. Get a key at https:\/\/lk.vibemarketolog.ru\/#agent.","verify_key":"GET \/api\/agent\/me","flow":["1. GET \/me \u2014 confirm the key works and check daily_spend_limit.","2. GET \/balance \u2014 check available rubles.","3. GET \/capabilities \u2014 discover models and params.","4. POST \/upload-media \u2014 upload media and get a stable URL.","5. POST \/generate\/estimate \u2014 dry-run without spending.","6. POST \/generate with strict=true \u2014 start generation.","7. Poll GET \/generation\/{id}\/status or pass callback_url."],"image_to_video":{"note":"image_input is for type=image only. Video models need their own source fields.","veo3_fast|veo3.1|veo3":"image_urls: [\"...\"] + generation_type: \"image-to-video\"","kling-3.0-std|pro":"image_urls: [\"...\"]","seedance-2|seedance-2-fast":"first_frame_url: \"...\"","grok-itv-10|20|30":"image_urls: [\"...\"]","motion-control-720p|1080p":"character_image_url + reference_video_url"},"golden_rules":["Always GET \/capabilities for live required\/optional params.","Use POST \/upload-media for stable URLs.","Use strict=true and\/or \/generate\/estimate to avoid paying for malformed requests."],"docs":"https:\/\/vibemarketolog.ru\/docs\/agent-api","quickstart":"https:\/\/vibemarketolog.ru\/docs\/agent-quickstart"},"models":{"image":{"z-image":{"price":1.2,"description":"Fast image generation","required":["prompt"],"optional":["aspect_ratio"]},"nano-banana-pro-1k":{"price":14.4,"description":"Nano Banana Pro 1K","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-pro-2k":{"price":16.5,"description":"Nano Banana Pro 2K with text","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-pro-4k":{"price":23,"description":"Nano Banana Pro 4K","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-2-1k":{"price":15,"description":"Gemini 3.1 Flash Image 1K","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-2-2k":{"price":18,"description":"Gemini 3.1 Flash Image 2K","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-2-4k":{"price":25,"description":"Gemini 3.1 Flash Image 4K","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"nano-banana-2-lite":{"price":9,"description":"Gemini 3.1 Flash Lite Image \u2014 fast & cheap, txt2img + img2img by reference","required":["prompt"],"optional":["aspect_ratio","image_input"],"enums":{"aspect_ratio":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","auto"]},"limits":{"image_input":10},"hint":"Aspect ratio: only 1:1\/2:3\/3:2\/3:4\/4:3\/4:5\/5:4\/auto (16:9, 9:16, 21:9 are auto-mapped to the nearest). image_input up to 10 for image-to-image.","preserves_input":false},"gpt-image-1.5":{"price":20,"description":"GPT image generation\/editing","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"gpt-image-2":{"price":19,"description":"GPT Image 2","required":["prompt"],"optional":["aspect_ratio"]},"gpt-image-2-edit":{"price":22,"description":"GPT Image 2 edit","required":["prompt","image_input"],"optional":["aspect_ratio"],"preserves_input":false},"seedream-4.5":{"price":15,"description":"SeeDream 4.5","required":["prompt"],"optional":["aspect_ratio","image_input"],"preserves_input":false},"seedream-5-lite":{"price":15,"description":"SeeDream 5 Lite","required":["prompt"],"optional":["aspect_ratio"]},"seedream-5-pro":{"price":40,"price_by_quality":{"basic":25,"high":40},"price_note":"price = \u0446\u0435\u043d\u0430 \u043f\u0440\u0438 quality \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e; \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u2014 \u0432 price_by_quality","description":"SeeDream 5 Pro (ByteDance) \u2014 \u0444\u043e\u0442\u043e\u0440\u0435\u0430\u043b\u0438\u0437\u043c \u0434\u043e 2K, \u0442\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u043e\u0441\u0442\u044c","required":["prompt"],"optional":["aspect_ratio","quality","output_format"],"enums":{"aspect_ratio":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"quality":["basic","high"],"output_format":["png","jpeg"]},"hint":"quality: basic=1K, high=2K. output_format: png|jpeg. \u0414\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0444\u043e\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 seedream-5-pro-edit."},"seedream-5-pro-edit":{"price":45,"price_by_quality":{"basic":28,"high":45},"price_note":"price = \u0446\u0435\u043d\u0430 \u043f\u0440\u0438 quality \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e; \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u2014 \u0432 price_by_quality","description":"SeeDream 5 Pro image-to-image \u2014 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e 1\u201310 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u0430\u043c","required":["prompt","image_input"],"optional":["aspect_ratio","quality","output_format"],"enums":{"aspect_ratio":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"quality":["basic","high"],"output_format":["png","jpeg"]},"limits":{"image_input":10},"hint":"image_input: 1\u201310 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 URL \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u043e\u0432 (POST \/api\/agent\/upload-media). quality: basic=1K, high=2K.","preserves_input":false},"grok-image":{"price":18,"description":"Grok text-to-image","required":["prompt"],"optional":["aspect_ratio"]},"gemini-omni-character":{"price":49,"description":"Gemini Omni \u2014 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0438\u0437 1 \u0444\u043e\u0442\u043e + \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430; characterId \u0438\u0437 result_object \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 gemini-omni-video \u2192 character_ids.","required":["prompt","image_urls"],"optional":["descriptions","character_name","audio_ids"],"limits":{"image_urls":1,"prompt_max":20000},"hint":"prompt = \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430 \u0438\u043b\u0438 \u043f\u043e\u043b\u0435 descriptions. image_urls: \u0440\u043e\u0432\u043d\u043e 1 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 URL, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 POST \/api\/agent\/upload-media. characterId \u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0437 GET \/generation\/{id}\/status.","preserves_input":false}},"video":{"gemini-omni-video":{"price":149,"description":"Google Gemini Omni (\u0434\u0432\u0438\u0436\u043e\u043a Veo 3) \u2014 text\/image\/video-to-video \u0441 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u043c \u0437\u0432\u0443\u043a\u043e\u043c. \u041a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u0433\u043e\u043b\u043e\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430.","required":["prompt"],"optional":["image_urls","video_list","character_ids","duration","aspect_ratio","resolution","seed","lang"],"enums":{"aspect_ratio":["16:9","9:16"],"resolution":["720p","1080p","4k"],"duration":[4,6,8,10]},"limits":{"image_urls":7,"video_list":1,"character_ids":3,"prompt_max":20000},"hint":"duration = 4|6|8|10. image_urls \u0434\u043e 7 \u2192 image-to-video. video_list: [{url,start,ends}] \u2192 video-to-video, 1 \u043a\u043b\u0438\u043f, \u043e\u0442\u0440\u0435\u0437\u043e\u043a \u226410\u0441. \u041d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0439\u0442\u0435 audio_ids \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 video: \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 gemini-omni-character \u0441 audio_ids \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0439\u0442\u0435 character_ids."},"grok-ttv":{"price":36,"tier_prices":{"grok-ttv-10":196,"grok-ttv-20":316},"price_note":"price = \u0446\u0435\u043d\u0430 \u043f\u0440\u0438 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445; \u0438\u0442\u043e\u0433 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 duration\/\u0442\u0438\u0440\u0430 \u2014 \u0441\u0432\u0435\u0440\u044f\u0439\u0442\u0435\u0441\u044c \u0441 tier_prices \u0438\u043b\u0438 POST \/generate\/estimate","description":"Grok Imagine 1.5 Text-to-Video (1-15s)","tiers":["grok-ttv-10","grok-ttv-20"],"required":["prompt"],"optional":["duration","aspect_ratio","resolution"],"enums":{"aspect_ratio":["1:1","16:9","9:16","3:2","2:3","auto"],"resolution":["480p","720p"]},"limits":{"duration":"1-15s","prompt_max":4096}},"grok-itv":{"price":36,"tier_prices":{"grok-itv-10":196,"grok-itv-20":316},"price_note":"price = \u0446\u0435\u043d\u0430 \u043f\u0440\u0438 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445; \u0438\u0442\u043e\u0433 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 duration\/\u0442\u0438\u0440\u0430 \u2014 \u0441\u0432\u0435\u0440\u044f\u0439\u0442\u0435\u0441\u044c \u0441 tier_prices \u0438\u043b\u0438 POST \/generate\/estimate","description":"Grok Imagine 1.5 Image-to-Video (1-15s)","tiers":["grok-itv-10","grok-itv-20"],"required":["prompt","image_urls"],"optional":["duration","aspect_ratio","resolution"],"enums":{"aspect_ratio":["1:1","16:9","9:16","3:2","2:3","auto"],"resolution":["480p","720p"]},"limits":{"image_urls":1,"duration":"1-15s","prompt_max":4096},"hint":"image_urls: exactly 1 stable URL. Use POST \/api\/agent\/upload-media."},"grok-extend":{"price":144,"description":"Extend an existing Grok video","required":["prompt","ref_task_id"],"optional":["extend_at","extend_times","ref_index"]},"grok-upscale":{"price":72,"description":"Upscale an existing Grok video","required":["ref_task_id"]},"veo3_fast":{"price":120,"description":"Veo 3.1 Fast","required":["prompt"],"optional":["aspect_ratio","duration","resolution","image_urls","generation_type","generate_audio","negative_prompt","seed"],"enums":{"resolution":["720p","1080p"],"generation_type":["text-to-video","image-to-video"]}},"veo3.1":{"price":120,"description":"Veo 3.1 quality","required":["prompt"],"optional":["aspect_ratio","duration","resolution","image_urls","generation_type","generate_audio"]},"veo3":{"price":570,"description":"Veo 3 legacy quality","required":["prompt"],"optional":["aspect_ratio","duration","resolution","image_urls"]},"kling-3.0-std":{"price":250,"description":"Kling 3.0 Standard","required":["prompt"],"optional":["aspect_ratio","image_urls","duration","sound"]},"kling-3.0-pro":{"price":549,"description":"Kling 3.0 Pro","required":["prompt"],"optional":["aspect_ratio","image_urls","duration","sound"]},"seedance-2-fast":{"price":708,"description":"ByteDance Seedance 2.0 Fast","required":["prompt"],"optional":["aspect_ratio","duration","resolution","generate_audio","web_search","reference_image_urls","reference_video_urls","reference_audio_urls","first_frame_url","last_frame_url","return_last_frame"],"enums":{"aspect_ratio":["16:9","4:3","1:1","3:4","9:16","21:9"],"resolution":["480p","720p"]},"limits":{"duration":"4-15s","reference_image_urls":9,"reference_video_urls":3,"reference_audio_urls":3,"prompt_max":20000}},"seedance-2":{"price":1188,"description":"ByteDance Seedance 2.0 Quality","required":["prompt"],"optional":["aspect_ratio","duration","resolution","generate_audio","web_search","reference_image_urls","reference_video_urls","reference_audio_urls","first_frame_url","last_frame_url","return_last_frame"],"enums":{"aspect_ratio":["16:9","4:3","1:1","3:4","9:16","21:9"],"resolution":["480p","720p","1080p"]},"limits":{"duration":"4-15s","reference_image_urls":9,"reference_video_urls":3,"reference_audio_urls":3,"prompt_max":20000}},"seedance-2-mini":{"price":56,"description":"ByteDance Seedance 2 Mini \u2014 budget per-second tier, full features (references, audio, web search)","required":["prompt"],"optional":["aspect_ratio","duration","resolution","generate_audio","web_search","reference_image_urls","reference_video_urls","reference_audio_urls","first_frame_url","last_frame_url"],"enums":{"aspect_ratio":["16:9","4:3","1:1","3:4","9:16","21:9"],"resolution":["480p","720p"]},"limits":{"duration":"4-15s","reference_image_urls":9,"reference_video_urls":3,"reference_audio_urls":3,"prompt_max":20000},"hint":"Per-second pricing (cheapest Seedance tier). resolution: 480p or 720p only. Use POST \/api\/agent\/upload-media for reference files."},"motion-control-720p":{"price":null,"price_formula":"ceil(min(max(video_duration,3),30)) * 15 \u20bd","per_second":15,"description":"Kling 3.0 Motion Control 720p. Transfer motion and facial expressions from a reference video onto a character image.","required":["character_image_url","reference_video_url"],"optional":["prompt","character_orientation","video_duration"],"enums":{"character_orientation":["image","video"]},"limits":{"prompt_max":2500,"video_duration_max":30,"video_duration_image":10}},"motion-control-1080p":{"price":null,"price_formula":"ceil(min(max(video_duration,3),30)) * 22 \u20bd","per_second":22,"description":"Kling 3.0 Motion Control 1080p HD.","required":["character_image_url","reference_video_url"],"optional":["prompt","character_orientation","video_duration"],"enums":{"character_orientation":["image","video"]},"limits":{"prompt_max":2500,"video_duration_max":30,"video_duration_image":10}},"veed-avatar":{"price":79,"description":"VEED talking-head avatar","required":["avatar_id","script"],"optional":["language"]},"topview-url-video":{"price":149,"description":"TopView URL-to-Video preview\/render workflow","required":["source_url"],"optional":["video_length","language","avatar_id"],"note":"Preview phase is free; HD render is billed when accepted."}},"voice":{"el-tts-turbo":{"price":29,"description":"ElevenLabs TTS Turbo 2.5 \u2014 fast text-to-speech. Price is per-character: 6\u20bd per started 1000 chars.","required":["prompt"],"optional":["voice_id","language_code","stability","similarity_boost","style","speed"],"limits":{"prompt_max":5000,"long_voiceover_prompt_max":200000,"stability":"0.0-1.0","similarity_boost":"0.0-1.0","style":"0.0-1.0","speed":"0.7-1.2"},"voices_url":"\/api\/agent\/voices","note":"voice_id accepts either a name or an ElevenLabs voice ID. See GET \/api\/agent\/voices. Long texts: prompt over 5000 chars (up to 200000) is automatically processed as a long voiceover \u2014 split into ~4800-char chunks, voiced and merged into one mp3; \/generate then returns voiceover_id + status_url (GET \/api\/agent\/voiceover\/long\/{id}) instead of generation_id. Same per-character price, refunded on failure."},"el-tts-multilingual-v2":{"price":39,"description":"ElevenLabs TTS Multilingual V2 \u2014 high-quality multi-language speech","required":["prompt"],"optional":["voice_id","language_code","stability","similarity_boost","style","speed","previous_text","next_text"],"limits":{"prompt_max":5000,"previous_text_max":5000,"next_text_max":5000,"stability":"0.0-1.0","similarity_boost":"0.0-1.0","style":"0.0-1.0","speed":"0.7-1.2"},"voices_url":"\/api\/agent\/voices","note":"Higher quality than turbo; supports previous_text\/next_text for speech continuity."},"el-dialogue-v3":{"price":49,"description":"ElevenLabs Dialogue v3 multi-speaker conversational audio","required":["prompt"],"optional":["dialogue","voice_id","language_code","stability"],"limits":{"prompt_max":5000,"dialogue_speakers_max":20,"stability":"0.0-1.0"},"voices_url":"\/api\/agent\/voices","note":"For multi-speaker dialogue pass dialogue[] with voice_id per line. If omitted, a single-speaker dialogue is built from prompt.","dialogue_format":[{"voice_id":"JBFqnCBsd6RMkjVDRZzb","text":"Hello!"},{"voice_id":"Xb7hH8MSUJpSbSDYk0k2","text":"Hi, good to hear you."}]},"el-sound-fx-v2":{"price":19,"description":"ElevenLabs Sound FX v2 \u2014 generate sound effects from text description","required":["prompt"],"optional":["duration_seconds","prompt_influence"],"limits":{"prompt_max":1000,"duration_seconds":"0.5-22.0","prompt_influence":"0.0-1.0"},"note":"Describe the sound effect. duration_seconds defaults to 5s, prompt_influence defaults to 0.5."},"gemini-omni-audio":{"price":39,"description":"Gemini Omni \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u0433\u043e\u043b\u043e\u0441-\u0430\u0441\u0441\u0435\u0442. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 audioId \u0432 result_object; \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f.","required":["prompt"],"optional":["audio_id","voice_description","example_dialogue","voice_name"],"enums":{"audio_id":["achernar","achird","algenib","algieba","alnilam","aoede","autonoe","callirrhoe","charon","despina","enceladus","erinome","fenrir","gacrux","iapetus","kore","laomedeia","leda","orus","puck","pulcherrima","rasalgethi","sadachbia","sadaltager","schedar","sulafat","umbriel","vindemiatrix","zephyr","zubenelgenubi"]},"limits":{"prompt_max":210,"voice_description_max":20000,"example_dialogue_max":120},"hint":"prompt = \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u043e\u043b\u043e\u0441\u0430. audio_id \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0435\u0441\u0435\u0442, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e achernar. audioId \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432 gemini-omni-character \u0447\u0435\u0440\u0435\u0437 audio_ids, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430 \u0432 video \u0447\u0435\u0440\u0435\u0437 character_ids."}},"music":{"suno-v5":{"price":89,"description":"Suno V5 with vocals","required":["prompt"],"optional":["lyrics","music_style","style_tags","vocal_gender","persona_id"],"note":"persona_id can be a custom voice created with POST \/api\/agent\/voice\/validate."},"suno-v5-instrumental":{"price":89,"description":"Suno V5 instrumental","required":["prompt"],"optional":["music_style","style_tags"]},"suno-v5.5":{"price":99,"description":"Suno V5.5 next-gen AI music with vocals","required":["prompt"],"optional":["lyrics","music_style","style_tags","vocal_gender","persona_id"],"note":"Latest Suno model with improved vocal quality and style adherence. persona_id can be a custom voice."},"suno-v5.5-instrumental":{"price":99,"description":"Suno V5.5 next-gen instrumental music","required":["prompt"],"optional":["music_style","style_tags"]}}},"features":{"pre_charge_validation":"Media URL params are HEAD-checked before any debit. Bad URL returns HTTP 422 media_validation_failed, no charge.","webhook_delivery":"Pass callback_url in \/generate. We POST generation.complete or generation.error with X-Vibe-Signature HMAC. Test with POST \/api\/agent\/webhook-test.","strict_mode":"Pass strict=true to reject unknown\/incompatible params before debit. Without strict they are reported as ignored_params.","dry_run":"POST \/generate\/estimate validates and prices a request without spending money.","auto_refund_on_error":"If provider or pipeline fails after start, the generation cost is refunded automatically.","persistence":"Generation continues server-side even if polling stops."},"direct_tools":{"note":"Direct specialist tools: ready-made Yandex Direct analytics and assets. Pay-per-call from balance, auto-refund on failure. Campaign tools cache results for 24h per (campaign, days); pass force=true for a fresh paid run.","endpoints":[{"method":"POST","path":"direct\/landing-audit","params":{"url":"required"},"price_rub":39,"returns":"score 1-10, summary, strengths, problems, recommendations"},{"method":"POST","path":"direct\/ads-generate","params":{"url":"optional","utp":"optional (url and\/or utp required)"},"price_rub":49,"returns":"groups[].combinatorial.titles\/texts + keywords"},{"method":"POST","path":"direct\/sitelinks","params":{"url":"required"},"price_rub":29,"returns":"8 sitelinks (title<=30, description<=60, href_path) + 6 callouts (<=25) + display_path + tips"},{"method":"POST","path":"direct\/forecast","params":{"keywords":"required array (max 10)","target_budget":"optional","region_ids":"optional"},"price_rub":49,"returns":"scenarios[] (budget_rub, clicks, leads, cpa_rub) + assumptions"},{"method":"POST","path":"campaigns\/{id}\/report","params":{"days":"optional 1..90 (default 30)","force":"optional bool"},"price_rub":99,"returns":"client-ready report: headline, executive_summary, kpi[], what_works, what_to_fix, next_steps, client_message"},{"method":"POST","path":"campaigns\/{id}\/waste","params":{"days":"optional 1..90 (default 30)","force":"optional bool"},"price_rub":49,"returns":"waste_keywords, waste_placements, potential_savings_rub, recommendations"},{"method":"POST","path":"campaigns\/{id}\/search-queries","params":{"days":"optional 1..90 (default 30)","force":"optional bool"},"price_rub":39,"returns":"negative_keywords, new_keywords, insights, summary"}]},"upload_endpoint":{"url":"POST \/api\/agent\/upload-media","fields":["file (multipart)"],"limits":{"image":"30 MB (jpeg\/png\/webp\/gif)","video":"50 MB (mp4\/mov)","audio":"15 MB (mp3\/wav)"},"returns":"JSON with stable URL for image_urls, reference_*_urls, first_frame_url, etc.","ttl_days":7},"music_params":{"type":"music","model":"suno-v5, suno-v5-instrumental, suno-v5.5, or suno-v5.5-instrumental","prompt":"Description of the song","lyrics":"(optional) Song lyrics text","music_style":"(optional) e.g. pop, rock, jazz, electronic","style_tags":"(optional) e.g. upbeat, energetic, calm","vocal_gender":"(optional) m or f (default: f)","persona_id":"(optional) Custom voice ID from POST \/api\/agent\/voice\/validate workflow"},"suno_voice_workflow":{"description":"Create a custom voice clone for use in Suno music generation. Voices have limited validity period; check status\/list before use.","cost":"50\u20bd charged at POST \/api\/agent\/voice\/validate","steps":["1. POST \/api\/agent\/voice\/validate \u2014 submit source audio URL + vocal segment. Returns task_id.","2. GET \/api\/agent\/voice\/validate-info?task_id=... \u2014 poll until verification phrase is ready.","3. Record the user reading the phrase and upload it via POST \/api\/agent\/upload-media.","4. POST \/api\/agent\/voice\/generate \u2014 submit task_id + verify_url. Returns new task_id.","5. GET \/api\/agent\/voice\/status?task_id=... \u2014 poll until voice_id is ready.","6. Use voice_id as persona_id in POST \/api\/agent\/generate with type=music and model=suno-v5 or suno-v5.5."],"regenerate":"If the validation phrase expired: POST \/api\/agent\/voice\/regenerate.","list_voices":"GET \/api\/agent\/voice\/list \u2014 list your custom voices."},"voices_catalog":{"url":"GET \/api\/agent\/voices","description":"ElevenLabs voice catalog. Filter by ?gender=female&category=professional&search=calm."},"endpoints":{"POST \/api\/agent\/generate":"Start generation. Pass strict=true to reject bad params before debit.","POST \/api\/agent\/generate\/estimate":"Dry-run: validate + price a \/generate body without spending","POST \/api\/agent\/webhook-test":"Send a signed test event to callback_url","POST \/api\/agent\/upload-media":"Upload a file, get a stable URL","GET \/api\/agent\/generation\/{id}\/status":"Check generation status","GET \/api\/agent\/voiceover\/long\/{id}":"Long voiceover (el-tts-turbo, prompt > 5000 chars) progress and result","GET \/api\/agent\/balance":"Check balance","GET \/api\/agent\/prices":"Full price list","GET \/api\/agent\/voices":"ElevenLabs voice catalog","POST \/api\/agent\/voice\/validate":"Suno Voice: submit source audio for custom voice creation","GET \/api\/agent\/voice\/validate-info":"Suno Voice: get verification phrase","POST \/api\/agent\/voice\/generate":"Suno Voice: submit recorded verification audio","GET \/api\/agent\/voice\/status":"Suno Voice: check voice creation status","POST \/api\/agent\/voice\/regenerate":"Suno Voice: regenerate expired verification phrase","GET \/api\/agent\/voice\/list":"Suno Voice: list custom voices","GET \/api\/agent\/yandex":"Yandex credentials + capabilities + API endpoints","GET \/api\/agent\/yandex\/counters\/{id}\/goals":"Metrika goals for counter","GET \/api\/agent\/campaigns":"List Yandex Direct campaigns","GET \/api\/agent\/campaigns\/{id}":"Campaign details","POST \/api\/agent\/campaigns\/{id}\/sync":"Sync stats from Yandex","POST \/api\/agent\/campaigns\/{id}\/analyze":"AI performance analysis","POST \/api\/agent\/campaigns\/{id}\/optimize":"AI optimization advice","POST \/api\/agent\/safety-check":"Pre-action risk assessment","POST \/api\/agent\/keywords-suggest":"WordStat keyword enrichment","POST \/api\/agent\/creative-variants":"Generate ad text variants","POST \/api\/agent\/autopilot\/run":"Run autopilot cycle for campaign","GET \/api\/agent\/autopilot\/log":"Autopilot action history","POST \/api\/agent\/autopilot\/config":"Get\/update autopilot config"},"yandex_services_after_oauth":{"metrika":"Web analytics: counters, goals, reports, segments, offline data, expenses","direct":"Search ads: campaigns, ad groups, ads, keywords, bids","audience":"Remarketing: segments based on CRM, Metrika, AppMetrica","appmetrica":"Mobile analytics: apps, events, funnels, push campaigns","webmaster":"SEO: sites, indexing status, backlinks, turbo-pages","wordstat":"Keyword research: GetTop, GetDynamics, GetRegionsDistribution","tracker":"Task management: queues, issues, boards (requires X-Org-ID)","disk":"File storage: read\/write files, upload reports, share assets","market":"E-commerce: partner campaigns, offers, orders, prices","directory":"Y360 organizations: groups, domains","calendar":"CalDAV protocol: calendars, events","mail":"IMAP\/SMTP via XOAUTH2","mediametrika":"Programmatic ads","ord":"Ad markup"}}