> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gpthuman.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Humanize Text

> Transforms the provided text into a more natural, human-sounding variant while preserving the requested tone and rewrite mode.



## OpenAPI

````yaml POST /v1/humanize
openapi: 3.1.0
info:
  title: GPTHuman API
  version: 1.0.0
  description: >-
    The GPTHuman API allows users to programmatically transform AI-generated
    text into natural, human-sounding prose. Version 1.0.0 includes a single
    public endpoint, `POST /v1/humanize`, which accepts a block of text of at
    least 300 characters and no more than 2,000 words, then returns a rewritten
    version along with language, similarity, readability, human score, usage,
    and balance metadata.
servers:
  - url: https://api.gpthuman.ai
security:
  - bearerAuth: []
paths:
  /v1/humanize:
    post:
      summary: Humanize text
      description: >-
        Transforms the provided text into a more natural, human-sounding variant
        while preserving the requested tone and rewrite mode.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HumanizeRequest'
      responses:
        '200':
          description: Successful humanization response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HumanizeResponse'
        '400':
          description: Bad request, invalid API key, or insufficient credit.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/ValidationError'
        '401':
          description: Unauthorized – missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many bad requests from the same IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
components:
  schemas:
    HumanizeRequest:
      type: object
      properties:
        text:
          type: string
          description: >-
            The text to humanize. Must be at least 300 characters and must not
            exceed 2,000 words.
          minLength: 300
        tone:
          type: string
          description: >-
            Optional tone for the rewritten text. Defaults to `College` when
            omitted.
          enum:
            - Standard
            - HighSchool
            - College
            - PhD
        mode:
          type: string
          description: Optional rewrite mode. Defaults to `Balanced` when omitted.
          enum:
            - Professional
            - Balanced
            - Enhanced
      required:
        - text
    HumanizeResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the request.
        language:
          type: string
          description: Detected language of the processed text.
        similarity:
          type: number
          description: Similarity score returned by the humanization provider.
        readability:
          type: number
          description: Readability score returned by the humanization provider.
        humanScore:
          type:
            - number
            - 'null'
          description: >-
            AI detector human score for the rewritten output. Can be null when
            language is not supported by AI detector.
        status:
          type: integer
          description: HTTP status code returned by the endpoint.
        output:
          type: string
          description: Human-sounding version of the input text.
        outputWordCount:
          type: integer
          description: Word count of the rewritten output.
        outputCharCount:
          type: integer
          description: >-
            Character count of the rewritten output. Note: field name currently
            contains a typo in the live API.
        creditUsage:
          type: integer
          description: Number of credits consumed by this request.
        creditBalance:
          type: integer
          description: Remaining credit balance after the request.
        tone:
          type: string
          description: Tone applied to the request after default resolution.
        mode:
          type: string
          description: Mode applied to the request after default resolution.
        wordCount:
          type: integer
          description: Word count of the input text.
        charCount:
          type: integer
          description: Character count of the input text.
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp for the request.
      required:
        - id
        - language
        - similarity
        - readability
        - humanScore
        - status
        - output
        - outputWordCount
        - outputCharCount
        - creditUsage
        - creditBalance
        - tone
        - mode
        - wordCount
        - charCount
        - timestamp
    Error:
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code returned by the API.
        error:
          type: string
          description: Error code or short title.
        description:
          type: string
          description: Full description of the error.
      required:
        - status
        - error
        - description
    ValidationError:
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code returned by the API.
        error:
          type: string
          description: Top-level validation error label.
        description:
          type: string
          description: First validation error message.
        errors:
          type: array
          description: Detailed express-validator errors returned by the route middleware.
          items:
            type: object
      required:
        - status
        - error
        - description
        - errors
    InternalServerError:
      type: object
      properties:
        message:
          type: string
          description: Generic internal server error message.
      required:
        - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````