# AgentHook

> Character-consistent UGC for AI agents: create a reusable influencer once, then reuse that same face in every video, image, and caption. Prepaid credits, instant refund on failure, permanent output URLs.

Base URL: https://getagenthook.com/api/v1
Auth: `Authorization: Bearer <api key>` — keys are created at https://getagenthook.com/keys after signup (30 free trial credits).

All generation is async: POST a tool -> 202 with `run_id` -> poll `GET https://getagenthook.com/api/v1/runs/<run_id>` every ~5s until `status` is `completed` (output URLs in `output`) or `failed` (credits auto-refunded).

Add `dry_run: true` to any run body to pre-flight for free -> 200 `{"dry_run": true, "valid": true, "model", "credits_required"}` with nothing charged; invalid input still returns the usual 400.

## Docs

- [Full tool reference (markdown)](https://getagenthook.com/llms-full.txt): every tool, argument, and rule — generated from the live contract
- [Human docs](https://agenthook.mintlify.app): quickstart, authentication, per-tool guides
- [Machine-readable schemas](https://getagenthook.com/api/v1/tools): JSON, no auth required
- [Console](https://getagenthook.com): signup, keys, balance, generation gallery

## Tools

- `create_influencer`: Create a reusable, account-bound influencer: a hero portrait + a multi-view character sheet. Flat 20 credits. The prompt is auto-rewritten server-side (always-on).
- `make_video`: Generate a video (talking-head parity via Seedance native audio) from a prompt and optional reference images.
- `make_image`: Generate or edit an image. With reference_images routes to Nano Banana 2 (RunPod); without, to GPT Image 2 (PiAPI).
- `caption_video`: Burn styled captions into an existing video. Returns two files: output[0] is the captioned video, output[1] is the original uncaptioned video — so you can re-caption with a different style without regenerating. (A speechless video returns just the original.)

## Rules that matter

- Reference images of people require `owns_references: true` (a rights attestation, recorded per run). Requests with refs and no attestation are rejected before any charge.
- 1 credit = $0.01 list. Failed runs refund instantly and automatically.
- `enhance_prompt: true` (+3 credits) rewrites a rough prompt into a director-grade one, preserving intent.
