| # 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/<name>/params/`. |
| 7. Batch health check: `GET https://api.runpod.ai/v2/<id>/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. |
| |