{"x402Version":1,"name":"BananaBanana","description":"Pay-per-call image, video and speech generation on Google's Nano Banana, Veo and Gemini TTS models. POST { tool, arguments } to this URL; an unpaid call answers 402 with the exact price for those arguments.","resource":"https://bananabanana.pro/api/x402","result_endpoint":"https://bananabanana.pro/api/x402/result/{job_id}","docs":"https://bananabanana.pro/mcp","mcp_endpoint":"https://bananabanana.pro/api/mcp","discovery":"https://bananabanana.pro/.well-known/x402","tools":[{"name":"generate_image","description":"Generate an image with Google's Nano Banana models, OpenAI GPT Image 2.5 or Alibaba Qwen Image 3.0 Pro. Result URL is returned in the same response.","pricing":[{"model":"nano-banana-2","usd_per_image":{"512":0.03,"1024":0.06,"2048":0.09,"4096":0.13}},{"model":"nano-banana-pro","usd_per_image":{"1024":0.11,"2048":0.11,"4096":0.2}},{"model":"nano-banana-2-lite","usd_per_image":{"1024":0.03}},{"model":"nano-banana-2-1","usd_per_image":{"1024":0.03,"2048":0.05,"4096":0.1}},{"model":"gpt-image-2.5-flare","usd_per_image":{"1024":0.05,"2048":0.11,"4096":0.18}},{"model":"gpt-image-2.5-sunburst","usd_per_image":{"1024":0.05,"2048":0.11,"4096":0.18}},{"model":"qwen-image-3.0-pro","usd_per_image":{"1024":0.04,"2048":0.08}}],"arguments":{"prompt":"string (required)","model":"string, one of nano-banana-2, nano-banana-pro, nano-banana-2-lite, nano-banana-2-1, gpt-image-2.5-flare, gpt-image-2.5-sunburst, qwen-image-3.0-pro (default nano-banana-2)","resolution":"string: 512 | 1024 | 2048 | 4096 (model-dependent, default 1024)","aspect_ratio":"string: 1:1 | 3:2 | 2:3 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9 (default 1:1); panoramic 1:4 | 4:1 | 1:8 | 8:1 | 9:21 only on nano-banana-2, nano-banana-2-1, nano-banana-2-lite, nano-banana-pro; GPT Image models with reference_images follow the first reference instead and reject it","number_of_images":"integer 1-4 (default 1)"}},{"name":"generate_speech","description":"Gemini 3.1 Flash TTS, single or two-speaker. Returns a WAV URL in the same response.","pricing":[{"model":"gemini-3.1-flash-tts-preview","usd":"0.01 per started 200 characters"}],"arguments":{"text":"string (required)","voice":"string (see https://bananabanana.pro/mcp for the 30 voice names)","style":"string (optional delivery instruction)","language_code":"string (optional, e.g. en-US)"}},{"name":"generate_video","description":"Generate a video with Veo 3.1, Gemini Omni Flash or Alibaba Wan 3.0. Asynchronous: the paid call returns a job_id, then poll the free result endpoint until the clip is ready (1-10+ minutes).","pricing":[{"models":"veo-3.1, veo-3.1-fast, veo-3.1-lite, omni-flash, omni-flash-1.0","usd":"$0.10-$4.40 per clip, depends on model, resolution, duration and audio"},{"model":"omni-flash-1.0","usd":"$0.10 per second at 720p (previous Omni generation), 4/6/8/10 s"},{"model":"omni-flash","usd":"$0.03-$0.30 per second depending on resolution, 3-10 s"},{"model":"wan-3.0","usd":"$0.05-$0.20 per second depending on resolution, 4-30 s"},{"model":"grok-imagine-video-1.5","usd":"$0.14-$0.25 per second depending on resolution, 4-15 s"}],"arguments":{"prompt":"string (required)","model":"string: veo-3.1 | veo-3.1-fast | veo-3.1-lite | omni-flash | wan-3.0 | grok-imagine-video-1.5 (default veo-3.1-fast)","duration":"integer seconds: Veo accepts 4, 6 or 8; omni-flash accepts 3, 4, 5, 6, 7, 8, 9, 10; wan-3.0 accepts 4, 6, 8, 10, 15, 20, 30; grok-imagine-video-1.5 accepts 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 (default 8)","resolution":"string: 360p | 720p | 1080p | 4k | 480p (model-dependent, default 720p); wan-3.0: 480p / 720p / 1080p; grok-imagine-video-1.5: 720p / 1080p","aspect_ratio":"string: 16:9 | 9:16 on Veo and omni-flash; wan-3.0: 16:9 | 9:16; grok-imagine-video-1.5: 16:9 | 9:16 | 1:1 | 3:2 | 2:3 (default 16:9)","with_audio":"boolean — native audio on Veo, costs more; omni-flash always has audio; on wan-3.0 audio is on by default and free, pass false for a silent clip; grok-imagine-video-1.5 always has audio","audio_prompt":"string (optional) — describe the desired sound","negative_prompt":"string (optional)"},"async":true,"note":"Payment settles before rendering starts, because a running generation cannot be cancelled at Google. If the clip fails or is refused by the content filter, the result endpoint returns a refund_token worth the full amount — pass it as refund_token in a later call to pay that much less."}],"notes":["Images and speech: payment settles only after the file exists — a failed generation costs nothing.","Video: payment settles up front; a failure is compensated with a refund_token, not an on-chain refund (this server holds no private key).","A refund_token can cover a call fully or partly; any change comes back as a new token in the response.","Conversational video editing (edit_from_generation_id) and video-to-video are MCP-only — they operate on clips owned by an account."]}