{"openapi":"3.1.0","info":{"title":"pxbt x402","description":"Paid agent API: USDC on Base via x402.","version":"1.0.0","contact":{"email":"factory@pxbt.app"},"x-guidance":"Use GET /music?prompt=...&sec=30 when you need original instrumental music; then poll GET /music/status/{job_id} (free) until status=ready and fetch the mp3 url. Use GET /ping to test the payment rail. Use POST /visa/dtv-check to pre-check a Thailand DTV/METV visa application package."},"paths":{"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/ping":{"get":{"summary":"Ping","operationId":"ping_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment Required"}},"description":"Liveness check of the pxbt x402 service. Use when you need to verify the service is up and the payment rail works before paying for /music."}},"/music":{"get":{"summary":"Music","operationId":"music_music_get","parameters":[{"name":"prompt","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":500,"title":"Prompt"}},{"name":"sec","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":10,"default":30,"title":"Sec"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"description":"Generate instrumental music from a text prompt (ACE-Step on a dedicated RTX 5070). Use when an agent needs original background music, a jingle or a soundscape. GET returns a job id immediately; poll /music/status/{job_id} until it returns a ready mp3 URL. sec is track length 10-120 s."}},"/visa/dtv-check":{"post":{"summary":"Visa Check","operationId":"visa_check_visa_dtv_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment Required"}},"description":"Pre-check a Thailand DTV (Destination Thailand Visa, 500k THB) or METV application package against the official MFA/embassy checklist. Use when an agent helps a digital nomad, remote worker or tourist apply for a Thai visa: returns per-document ok/missing/fail, blockers, score 0-100, fee and official sources. Agencies charge ~2,999 THB for the same review.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/music/status/{job_id}":{"get":{"summary":"Music Status","operationId":"music_status_music_status__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/music/file/{name}":{"get":{"summary":"Music File","operationId":"music_file_music_file__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"servers":[{"url":"https://x402.pxbt.app"}]}