# Tips for agents/apps calling these endpoints Endpoints (H100, FlashBoot, scale 0-2). Auth: `RUNPOD_API_KEY` bearer token. | task | endpoint id | scripts | warm exec | |---|---|---|---| | outfit/general edit, 2-image ref | `dom5lwr0o5wq6u` | `qwen_edit_{sync,async}.py` | turbo-4 ~27-42s, turbo-8 ~60s | | single-image edit (Rapid-AIO NSFW) | `tplcz9jtzihoxa` | `qwen_edit_nsfw_{sync,async}.py` | ~7-8s @ 8 steps | | head/face swap (Flux-2-Klein) | `qkeibkeoefcrk3` | `faceswap_lissie_{sync,async}.py` | ~12-13s | 1. Sync scripts for single jobs; async `--no-wait` + `--job-id` for batches (2 workers/endpoint, jobs queue). 2. Warm/FlashBoot = sub-second delay. A brand-new host pays a one-time image pull (10-25 min) — huge `delayTime` means that; it won't repeat on that host. First job on a fresh worker adds ~20-60s model load. Use >=600s timeouts for a session's first call. 3. Payloads: ~10 MB `/run`, ~20 MB `/runsync`; base64 adds ~33%. Keep inputs under ~7 MB combined — workflows downscale internally anyway (2048px turbo, 1 MP nsfw/lissie), bigger uploads are wasted bytes. 4. Omitted seed = randomized and returned — save it to reproduce. 5. Custom graphs: `--workflow-json graph.json` (API format). Only models/nodes baked in that image; LoadImage values must exactly match uploaded image names; friendly params don't apply (edit nodes in your JSON or use `--set`). 6. Small tweaks: `--set NODE.INPUT=VALUE` patches the baked workflow, e.g. `--set 43.cfg=1.5`. Param-name -> node maps: `../endpoints//params/`. 7. Batch health check: `GET https://api.runpod.ai/v2//health` — `workers.idle/ready>0` warm-ish, `initializing` = pull in progress. 8. Outputs: base64 in `output.images[].data` (PNG; nsfw returns webp). 9. `output.error` = handler message (invalid params list the valid options — trust it). RunPod `FAILED` status = infra; retry. 10. Batch related jobs back-to-back: workers idle 60s (billed) then FlashBoot keeps them resumable free — bursts are cheaper and faster than spread-out calls. Prefer these scripts over hand-rolled HTTP: they already handle /runsync's early IN_QUEUE return and polling edge cases.