1. Submit
{"code":0,"data":{"id":"<task id>", ...}}.
The quota wall is also HTTP 200 with code 0: {"code":0,"data":{"wall":true,"reason":"anon_ip_daily"}}.
Check data.wall before reading data.id, or the failure surfaces as a missing task id.
2. Poll
data.images[0] is present it is the
permanent CDN URL, and data.watermarked[0] says whether a mark was drawn. data.status moves
between pending and processing and is not monotonic; only failed or error is terminal, and
that means the content filter refused the prompt.
A run usually takes 40 to 120 seconds.