# Aurous Labs ## Docs - [Proxy a single generated image](https://docs.aurous-labs.com/api-reference/images-proxy/proxy-a-single-generated-image.md): Returns a 302 redirect to the live image URL while the generation is fresh (24h after generation). Returns `410 Gone` afterward. Save what you want to keep — long-term storage is intentionally not part of the platform. - [API Reference](https://docs.aurous-labs.com/api-reference/openapi.md): Every Aurous Labs V1 endpoint, every parameter, every response shape. - [Cancel a pending or processing generation](https://docs.aurous-labs.com/api-reference/public-api-v1/cancel-a-pending-or-processing-generation.md): Cancels a generation that has not yet completed. Returns the cancelled generation resource. On a generation already in `cancelled` state this is a no-op (idempotent). On a generation already in `succeeded`/`failed`/`expired`/`moderation_rejected` this returns `400 invalid_request / generation_not_ca… - [Create a new image generation](https://docs.aurous-labs.com/api-reference/public-api-v1/create-a-new-image-generation.md): Submits an image generation request. Credits are deducted immediately from your team balance. The generation is processed asynchronously — poll GET /v1/images/:id to check status, or provide a `webhook_url` to receive a POST callback when the generation completes or fails. The webhook payload contai… - [Create a new video generation](https://docs.aurous-labs.com/api-reference/public-api-v1/create-a-new-video-generation.md): Submits a video generation request using BytePlus Seedance. Credits are deducted based on video duration. Supports text-to-video (prompt only) and image-to-video (first frame, or first+last frame). Poll GET /v1/images/:id to check status or provide a webhook_url. - [Delete a webhook endpoint](https://docs.aurous-labs.com/api-reference/public-api-v1/delete-a-webhook-endpoint.md): Idempotent — always returns 200, never 404. The response body reports whether anything was actually removed: `{ deleted: true, id: }` when the team owned the row, `{ deleted: false, id: null }` when nothing matched (already-gone, wrong team, typo). The `id` echoed back i… - [Estimate the credit cost of a video generation](https://docs.aurous-labs.com/api-reference/public-api-v1/estimate-the-credit-cost-of-a-video-generation.md): Same DTO as POST /v1/videos. Cost = `base_per_second × resolution_factor × duration_s`. Same validation + access checks as the create path; same isolated rate-limit bucket. - [Estimate the credit cost of an image generation](https://docs.aurous-labs.com/api-reference/public-api-v1/estimate-the-credit-cost-of-an-image-generation.md): Same DTO as POST /v1/images. Returns the projected credit cost and a per-line-item breakdown (`base` + optional `enhance`) without enqueuing the work. Refs and `character_id` are free and do not affect price. Inputs are validated identically to the create path: a private LoRA from another team, an i… - [Fire a synthetic test delivery](https://docs.aurous-labs.com/api-reference/public-api-v1/fire-a-synthetic-test-delivery.md): Enqueues a real, signed delivery with a fixture payload to exercise the receiver. The AurousEvent envelope carries `synthetic: true` so receivers can filter test fires from production traffic. Independent rate limit bucket (`webhooks_test`, 30/min) so it does not contend with normal webhook traffic. - [Get a file (re-mints a fresh 1h signed URL)](https://docs.aurous-labs.com/api-reference/public-api-v1/get-a-file-re-mints-a-fresh-1h-signed-url.md): Returns the file metadata plus a freshly-minted 1h signed URL. Use this to re-mint a download URL whenever the previous one expires. - [Get a LoRA style by ID or slug](https://docs.aurous-labs.com/api-reference/public-api-v1/get-a-lora-style-by-id-or-slug.md): Resolves `lora_*` opaque IDs (canonical) or the mutable `slug`. Returns `404 not_found` if the LoRA is private to another team. - [Get a single generation by ID](https://docs.aurous-labs.com/api-reference/public-api-v1/get-a-single-generation-by-id.md): Returns the current status and details of a generation. Poll this endpoint to track async generation progress. - [Get a video LoRA model by ID or slug](https://docs.aurous-labs.com/api-reference/public-api-v1/get-a-video-lora-model-by-id-or-slug.md): Resolves opaque `lora_*` IDs or slugs. - [Get a webhook endpoint](https://docs.aurous-labs.com/api-reference/public-api-v1/get-a-webhook-endpoint.md): Returns the endpoint metadata. `secret` is always null on reads. - [Get credit balance](https://docs.aurous-labs.com/api-reference/public-api-v1/get-credit-balance.md): Returns the team's credit balance broken down into total `credits`, `held_credits` (locked against pending generations under D6 charge-on-success), and `available_credits` = `credits` − `held_credits`. New `POST /v1/images` checks against `available_credits` and returns 402 `invalid_request` / `bala… - [Get the current pricing rate card](https://docs.aurous-labs.com/api-reference/public-api-v1/get-the-current-pricing-rate-card.md): Returns credit pricing for image and video generation, frozen per `Aurous-Version`. Customers pinned to an older version see the card that was current when their version shipped, so a price change is never silently retroactive. Use the same numbers exposed here when populating UIs or verifying `cost… - [Get usage analytics](https://docs.aurous-labs.com/api-reference/public-api-v1/get-usage-analytics.md): Returns usage statistics for the team associated with this API key, broken down by the specified interval. - [Get your team info](https://docs.aurous-labs.com/api-reference/public-api-v1/get-your-team-info.md): Returns basic information about the team associated with this API key, including the current credit balance. - [Immediately purge a file](https://docs.aurous-labs.com/api-reference/public-api-v1/immediately-purge-a-file.md): Idempotent — returns 200 even when the file does not exist or has already been deleted. In-flight generations that already snapshotted the URL keep working; subsequent GET /v1/files/:id calls return 404. - [List available LoRA styles](https://docs.aurous-labs.com/api-reference/public-api-v1/list-available-lora-styles.md): Returns all LoRA styles available to your team, including public LoRAs and any privately delivered to your team. Each item carries an opaque `lora_*` ID and a URL-friendly `slug`; either form works in `/v1/loras/:id_or_slug` and in the `lora_id` field of `POST /v1/images`. - [List available video LoRA models](https://docs.aurous-labs.com/api-reference/public-api-v1/list-available-video-lora-models.md): Returns all video LoRA models available to your team for video generation. Each carries an opaque `lora_*` ID and a slug. - [List credit-ledger events](https://docs.aurous-labs.com/api-reference/public-api-v1/list-credit-ledger-events.md): Cursor-paginated stream of every credit movement on your team — holds placed and released or committed by your generations, top-ups via Stripe, refunds, and admin adjustments. Ordered newest-first. Use `?starting_after=` to walk older entries; `?limit=N` (1–100, default 20). Filter by `?type… - [List delivery attempts for a webhook endpoint](https://docs.aurous-labs.com/api-reference/public-api-v1/list-delivery-attempts-for-a-webhook-endpoint.md): Cursor-paged. Each row is one attempt — the same `event_id` may appear on up to 5 rows for a flapping receiver (5-attempt retry policy with exponential backoff [5s, 30s, 2m, 10m, 1h]). - [List webhook endpoints](https://docs.aurous-labs.com/api-reference/public-api-v1/list-webhook-endpoints.md): Cursor-paged. Returns endpoints in reverse chronological order (newest first). Pass `?starting_after=we_` to walk subsequent pages. - [List your generation history](https://docs.aurous-labs.com/api-reference/public-api-v1/list-your-generation-history.md): Cursor-paginated list of your team's image and video generations, ordered by creation date (newest first). Use `?starting_after=` to walk forward and `?ending_before=` to walk backward; `?limit=N` (1–100, default 20). The cursor is the opaque `id` of any row from the prior page. - [Register a webhook endpoint](https://docs.aurous-labs.com/api-reference/public-api-v1/register-a-webhook-endpoint.md): Mints a new endpoint, generates a signing secret, and returns the secret EXACTLY ONCE in the `secret` field. Store it on your side — subsequent reads return `secret: null`. Subscribe to `["*"]` to receive every event in the v1.0 taxonomy (the wildcard is expanded at create time; new event types adde… - [Rotate the signing secret](https://docs.aurous-labs.com/api-reference/public-api-v1/rotate-the-signing-secret.md): Mints a new plaintext, demotes the old secret to a 24h dual-validate window (receivers verify against the new first; on failure, fall back to the previous), and returns the new plaintext EXACTLY ONCE. After 24h the old secret is dropped. - [Update a webhook endpoint](https://docs.aurous-labs.com/api-reference/public-api-v1/update-a-webhook-endpoint.md): Partial update. Re-passing `events: ["*"]` snapshots the current taxonomy (same semantics as on create). Setting `is_active=true` on a previously-disabled endpoint resets `consecutive_failures` to 0. - [Upload a reference file](https://docs.aurous-labs.com/api-reference/public-api-v1/upload-a-reference-file.md): Stores a 10MB-max PNG/JPEG/WebP for use in subsequent /v1/images or /v1/videos requests. 24h TTL — the file is auto-purged after that. The response carries a 1h signed URL; re-mint a fresh URL via GET /v1/files/:id. Multipart form with a `file` (binary) part, plus form fields `purpose` and optional… - [Proxy the generated video](https://docs.aurous-labs.com/api-reference/videos-proxy/proxy-the-generated-video.md): Returns a 302 redirect to the live video URL while the generation is fresh (~24h after generation). Returns `410 Gone` afterward. - [Authentication](https://docs.aurous-labs.com/authentication.md): API keys, scopes, rotation, and the 24h grace window. - [Changelog](https://docs.aurous-labs.com/changelog.md): Aurous-Version date entries with diffs. - [Errors](https://docs.aurous-labs.com/errors.md): Stable typed error envelope, 5 types, every code documented. - [Idempotency](https://docs.aurous-labs.com/idempotency.md): Safe retries for POST /v1/images and POST /v1/videos. - [Quickstart](https://docs.aurous-labs.com/quickstart.md): From zero to a generated image in five minutes. - [Rate limits](https://docs.aurous-labs.com/rate-limits.md): Per-team token-bucket limits on V1 endpoints. - [Webhooks](https://docs.aurous-labs.com/webhooks.md): Receive real-time events when image / video generations complete or fail, when team balance crosses a low-credit threshold, and when an endpoint auto-disables. ## OpenAPI Specs - [openapi](https://docs.aurous-labs.com/api-reference/openapi.json)