{"asOf":"2026-10-27","providerId":"openai-moderation","rowCount":1,"providerCount":1,"providersWithSourcedTokenPrice":0,"providersWithPriceSortKey":0,"normalizedUsdPerMillionTokensNullRows":1,"countsByUnit":{"usd_per_1k_requests":1},"countsByNormalizationStatus":{"unit_mismatch":1},"refusedCoercions":["gpu_hour_not_coerced_to_per_million_tokens","per_minute_and_per_hour_voice_not_coerced","per_1k_posts_profiles_calls_searches_characters_not_coerced","input_and_output_not_blended","cached_vs_uncached_not_blended","short_vs_long_context_not_blended","scheduled_future_rate_not_treated_as_today","peak_vs_offpeak_not_collapsed","promo_and_list_shown_together_not_picked","unlabeled_api_unit_not_multiplied","openrouter_rows_not_copied_onto_vendor_providers","pricing_notes_prose_not_promoted","fireworks_serverless_chat_matrix_not_on_fetched_page"],"priceSort":{"param":"sort=price","key":"Without jtbd: lowest priceSortEligible chat/completion input (or undifferentiated) USD per 1M tokens. With jtbd: cheapest SKU whose unit matches that job (see GET /api/quote).","excludes":"output, cached input, long-context tiers, scheduled future rates, peak/off-peak pairs, training tokens on chat sorts, and any unit that does not match the job. GPU hours, per-minute speech, and search units are not coerced into $/1M."},"rows":[{"id":"openai-moderation-omni-free","providerId":"openai-moderation","sku":"omni-moderation-latest (moderation endpoint)","unit":"usd_per_1k_requests","amountUsd":0,"currency":"USD","sourceUrl":"https://developers.openai.com/api/docs/guides/moderation","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_1k_requests","priceSortEligible":false,"qualifier":"Officially free: 'The moderation endpoint is free to use'. $0 in any unit; stored per 1k requests so it can sit next to per-request classifier prices. Moderation classifier, not a chat model."}],"provider":{"id":"openai-moderation","slug":"openai-moderation","name":"OpenAI Moderation","website":"https://platform.openai.com/docs/guides/moderation"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"openai-moderation-omni-free","providerId":"openai-moderation","sku":"omni-moderation-latest (moderation endpoint)","unit":"usd_per_1k_requests","amountUsd":0,"currency":"USD","sourceUrl":"https://developers.openai.com/api/docs/guides/moderation","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_1k_requests","priceSortEligible":false,"qualifier":"Officially free: 'The moderation endpoint is free to use'. $0 in any unit; stored per 1k requests so it can sit next to per-request classifier prices. Moderation classifier, not a chat model."}],"notesExcerpt":"As of 2026-09-14: Free moderation endpoint — omni-moderation-latest for text+images (images ≤20 MB). Also inline moderation on Responses/Chat Completions via moderation.model. Categories include hate, harassment, self-harm, sexual, violence, illicit, etc. Not customizable / not s…","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://platform.openai.com/docs/guides/moderation","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"Partial coverage. Providers without a fetched SKU are omitted. See GET /api/pricing."}}