• Semihuman API Documentation
    • end-points
      • Humanize text
        POST
      • Check AI content
        POST
      • AI Video Detection
        POST

    Semihuman API Documentation

    Table of Contents#

    1.
    Overview
    2.
    Endpoints
    POST /check-ai
    POST /humanize
    POST /ai-video-detection
    3.
    Definitions
    HumanizeDto
    HumanizeOkDto
    AIDetectionResultDto
    VideoDetectionResultDto
    ErrorDto
    4.
    License

    Overview#

    Title: Semihuman
    Version: 1.0.0
    This API provides functionalities to humanize text, check if content is AI-generated, and detect AI-generated videos.

    Endpoints#

    POST /check-ai#

    Description#

    Checks whether the provided text is AI-generated.

    Headers#

    x-humanizer-api-key (string, required): Humanizer API Key.

    Request Body#

    text (string, required): The text to check for AI generation.
    Example: "Example text to check."

    Constraints#

    Maximum word limit: 10,000 words

    Consumes#

    application/json

    Produces#

    application/json

    POST /humanize#

    Description#

    Humanizes the provided text to make it less AI-like.

    Headers#

    x-humanizer-api-key (string, required): Humanizer API Key.

    Request Body#

    text (string, required): The text to humanize.
    Example: "Example text to humanize."
    aggressiveness (number, optional): The aggressiveness level for humanization (0 to 100). Default is 0.
    Example: 50

    Constraints#

    Maximum word limit: 10,000 words

    Consumes#

    application/json

    Produces#

    application/json

    POST /ai-video-detection#

    Description#

    Checks whether the uploaded video is AI-generated or not.

    Headers#

    x-humanizer-api-key (string, required): Humanizer API Key.

    Request Body (multipart/form-data)#

    file (binary, required): The MP4 video file to analyze.

    Constraints#

    Only MP4 files are supported.
    Maximum supported file size is 30MB.

    Consumes#

    multipart/form-data

    Produces#

    application/json

    Success Response#

    Returns a detailed result about fake vs. real frames in the video.

    Response Type#

    VideoDetectionResultDto

    Definitions#

    HumanizeDto#

    Properties#

    text (string, required): The text to humanize.
    Example: "Example text to humanize."
    aggressiveness (number, optional): The aggressiveness level for humanization (0 to 100). Default is 0.
    Example: 50

    HumanizeOkDto#

    Properties#

    shareToken (string, required): A token that can be used to retrieve the humanized content.
    Example: "exampleToken123"
    humanizedContent (string, nullable): The humanized content, if processing is successful.
    Example: "This is the processed humanized content."
    status (string, required): Status of the processing request.
    Example: "success"

    AIDetectionResultDto#

    Properties#

    message (string, required): Message summarizing the detection result.
    Example: "Detection complete"
    classification (string, required): Classification of the text based on AI detection.
    Example: "AI"
    confidence (number, required): Confidence level of the classification.
    Example: 100
    resultMessage (string, required): Detailed result message.
    Example: "Your text is likely to be written entirely by AI"

    VideoDetectionResultDto#

    Properties#

    message (string, required): Message summarizing the detection result.
    Example: "Detection complete"
    isHuman (number, required): Indicates whether the video is likely human (1) or AI-generated (0).
    Example: 0
    fakePercentage (number, required): Percentage of frames detected as fake.
    Example: 100
    totalFrames (number, required): Total number of frames analyzed in the video.
    Example: 8
    fakeFrames (number, required): Number of frames identified as fake.
    Example: 8
    realFrames (number, required): Number of frames identified as real.
    Example: 0
    resultMessage (string, required): Detailed message summarizing the detection outcome.
    Example: "The video is likely manipulated (100% fake frames)"
    framesClassification (array of objects, required): Detailed classification results for each analyzed frame.
    Each object contains:
    frame (string, required): Frame filename.
    Example: "frame_0000.jpg"
    predicted_label (string, required): Prediction label for the frame.
    Example: "fake"
    probabilities (array of array of numbers, required): Probabilities for each class (e.g., [real, fake]).
    Example: [[0.0000095257, 0.9999904633]]

    ErrorDto#

    Properties#

    statusCode (number, required): HTTP status code.
    Example: 400
    message (string, required): Description of the error.
    Example: "Invalid API Key"
    error (string, required): Error type.
    Example: "Bad Request"

    License#

    The Semihuman API documentation is provided as is without warranty.
    Next
    Humanize text
    Built with