Content policy
FastGen Cloud is a general-purpose image and video API. Prompts and negative prompts are passed to the model exactly as you send them — no injected terms, no hidden prefixes, no “style steering”. What your product allows is up to you and the Acceptable Use Policy. One line is enforced technically on every job, at three points, and cannot be turned off: nothing involving minors.
Enforced automatically
- Sexual, suggestive, or exploitative depictions of minors (real or fictional, photoreal or stylized) and attempts to produce them. Prompts are checked with a text classifier plus a deterministic term list; input images and every generated image (and sampled frames of every video) are checked with a face-age detector combined with nudity detection.
Everything else — including adult content between adults where lawful for you — passes through. Other content classes are still scored and recorded on the job for audit, but they do not block.
Policy, enforced on report
The AUP also prohibits non-consensual likenesses of real people, illegal content, targeted harassment/hate, and deceptive media presented as authentic. These are handled on report and review (content removal, suspension, termination), not by automatic blocking. If you expose generation to end users you are the publisher: age-gate adult features, keep consent for real people, and label generated media.
The three checkpoints
| Checkpoint | What is checked | On block |
|---|---|---|
| Prompt | Prompt and negative prompt. | 422 content_blocked_prompt; nothing is charged. |
| Input image | Every uploaded or linked image (edit sources, img2img references, video start frames). | 422 content_blocked_input; nothing is charged. |
| Output | Every generated image and sampled frames of every video, before the URL is released. | Job failed with content_blocked_output; output deleted, charge refunded, strike recorded. |
If a moderation provider is unavailable we fail closed: the request returns 503 capacity_error and you are not charged. Retry with backoff.
What a block looks like
HTTP/1.1 422 Unprocessable Entity
{
"error": {
"type": "content_blocked",
"code": "content_blocked_prompt",
"message": "Request blocked by content policy (prompt). See https://fastgencloud.com/legal/aup",
"request_id": "req_…"
}
}{
"id": "…",
"status": "failed",
"error": { "code": "content_blocked_output", "message": "Generated output was blocked by the content policy." },
"moderation": { "status": "blocked" },
"usage": { "charged_micros": 0, "charged_usd": 0 }
}moderation.status on every job is pending, passed or blocked. Blocked outputs are never delivered and never appear in the console.
Strikes and account status
- Each block records a strike on the account.
- Three blocks within 24 hours pause the account (
403 account_paused) pending review. Email support@fastgencloud.com to have it re-enabled. - Detection of a minor together with sexual content suspends the account immediately; suspected CSAM is reported to NCMEC.
- Deliberate probing or circumvention of the checks is grounds for termination without refund of consumed amounts.
Building for the policy
- Treat
content_blockedas a user-facing validation error, not a transient failure — do not auto-retry the same content. - If your product accepts free-text prompts from end users, surface the block reason to them and keep your own rate limits so a single abusive user cannot pause your account.
- Model and LoRA catalogs are curated; the API never accepts arbitrary checkpoints or raw workflow graphs. BYO LoRA URLs (where a model allows them) pass through the same output checkpoint.
- Moderation scores are stored per job for audit; blocked images are deleted immediately (except where legal preservation is required).
False positives
Age classifiers are conservative by design and will occasionally block harmless content (young-looking adults, stylized faces). If you believe a job was blocked in error, email support@fastgencloud.com with the job id; blocked outputs are gone, but we can review the scores.