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

# Style transform

> Use fine-tuned model to style text.



## OpenAPI

````yaml /api-reference/openapi.json post /style/transform
openapi: 3.0.0
info:
  title: Vaero API
  version: 1.0.0
  description: API for file uploads to Vaero platform.
servers:
  - url: https://vaeroapi.com/v1
    description: Production server
security: []
paths:
  /style/transform:
    post:
      tags:
        - Styling
      summary: Style transform
      description: Use fine-tuned model to style text.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: Full Mode
                  type: object
                  required:
                    - mode
                    - model
                    - messages
                  properties:
                    mode:
                      type: string
                      enum:
                        - full
                      description: Use 'full' for end-to-end inference of a prompt.
                      example: full
                    messages:
                      type: array
                      items:
                        type: object
                        properties:
                          role:
                            type: string
                            enum:
                              - user
                              - assistant
                          content:
                            type: string
                      description: Conversation history. Required when mode is 'full'.
                      example:
                        - role: user
                          content: Write a blog post about Florence.
                    model:
                      type: string
                      description: ID of the fine-tuned model to use.
                      example: ftm-custom-name-0b5ace7e-ffb2-43cf-8a4d-0af17bc2b1d1
                    full_mode_options:
                      type: object
                      description: Options specific to 'full' mode.
                      properties:
                        base_model:
                          type: string
                          description: >-
                            The base model to use for generating the initial
                            response that will be styled. Supported models
                            include GPT (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-5,
                            gpt-5.2, gpt-5.4, o3, o4-mini) and Claude
                            (claude-sonnet-4-5, claude-sonnet-4-6,
                            claude-opus-4-5, claude-opus-4-6, claude-opus-4-7).
                          example: claude-sonnet-4-6
                          default: claude-sonnet-4-6
                        base_model_api_key:
                          type: string
                          nullable: true
                          description: >-
                            API key for authenticating with the base model
                            provider. If not provided, the key stored in your
                            project's 3rd Party API Keys settings will be used.
                          default: null
                        base_model_service:
                          type: string
                          enum:
                            - auto
                            - azure
                            - anthropic
                            - openai
                          description: >-
                            The service provider to use for the base model. When
                            set to 'auto', the service is inferred from the
                            base_model name (Claude models use Anthropic,
                            GPT/o-series models use OpenAI).
                          default: auto
                          example: auto
                        base_model_endpoint:
                          type: string
                          nullable: true
                          description: >-
                            The Azure OpenAI endpoint URL. Only used when
                            base_model_service is 'azure'. If not provided, the
                            endpoint stored in your project's 3rd Party API Keys
                            settings will be used.
                          default: null
                        base_temperature:
                          type: number
                          description: >-
                            Sampling temperature for the base model, between 0
                            and 2.
                          example: 0
                          default: 0
                    stream:
                      type: boolean
                      description: Whether to stream the response.
                      default: false
                      example: false
                    include_quality:
                      type: boolean
                      description: Whether to include quality metrics in the response.
                      default: false
                      example: false
                    include_rouge:
                      type: boolean
                      description: >-
                        Whether to include rouge score in quality metrics. Only
                        applies when include_quality is true.
                      default: false
                      example: false
                    include_compare_original:
                      type: boolean
                      description: >-
                        Whether to include original text for comparison to
                        styled text.
                      default: false
                      example: false
                    include_distance:
                      type: boolean
                      description: >-
                        Whether to include distance metrics comparing the
                        original and styled text.
                      default: false
                      example: false
                    skip_headings:
                      type: boolean
                      description: When set to true, headings are not rewritten.
                      default: false
                      example: false
                    skip_h1:
                      type: boolean
                      description: When set to true, H1 headings are not rewritten.
                      default: false
                      example: false
                - title: Rewrite Mode
                  type: object
                  required:
                    - mode
                    - model
                    - message
                  properties:
                    mode:
                      type: string
                      enum:
                        - rewrite
                      description: Use 'rewrite' to rewrite a text.
                      example: rewrite
                    message:
                      type: string
                      description: >-
                        Input text to be styled. The text can include multiple
                        paragraphs. Required when mode is 'rewrite'.
                      example: The quick brown fox jumped over the lazy dog
                    model:
                      type: string
                      description: ID of the fine-tuned model to use.
                      example: ftm-custom-name-0b5ace7e-ffb2-43cf-8a4d-0af17bc2b1d1
                    rewrite_mode_options:
                      type: object
                      description: Options specific to 'rewrite' mode.
                      properties:
                        topic:
                          type: string
                          description: >-
                            The topic of the text being styled. Concise
                            description of the topic and does not need to be a
                            full sentence. It is used to provide context to your
                            fine-tuned model for styling.
                          example: AI training on GPUs and the systems involved
                          default: null
                        base_prompt:
                          type: string
                          description: >-
                            Deprecated. Use 'topic' instead. Prompt used to
                            generate the text being styled. It was used to
                            provide context to your fine-tuned model for
                            styling.
                          example: Write a few sentences about a quick brown fox.
                          default: null
                          deprecated: true
                        preceding_context:
                          type: string
                          description: >-
                            Text that precedes the input text. Helps the style
                            model maintain continuity with preceding content.
                          example: The quick brown fox jumped over the lazy dog.
                          default: null
                    stream:
                      type: boolean
                      description: Whether to stream the response.
                      default: false
                      example: false
                    include_quality:
                      type: boolean
                      description: Whether to include quality metrics in the response.
                      default: false
                      example: false
                    include_rouge:
                      type: boolean
                      description: >-
                        Whether to include rouge score in quality metrics. Only
                        applies when include_quality is true.
                      default: false
                      example: false
                    include_compare_original:
                      type: boolean
                      description: >-
                        Whether to include original text for comparison to
                        styled text.
                      default: false
                      example: false
                    include_distance:
                      type: boolean
                      description: >-
                        Whether to include distance metrics comparing the
                        original and styled text.
                      default: false
                      example: false
                    skip_headings:
                      type: boolean
                      description: When set to true, headings are not rewritten.
                      default: false
                      example: false
                    skip_h1:
                      type: boolean
                      description: When set to true, H1 headings are not rewritten.
                      default: false
                      example: false
            examples:
              full_mode:
                summary: Full mode example
                value:
                  mode: full
                  messages:
                    - role: user
                      content: Write a blog post about Florence.
                  model: ftm-custom-name-0b5ace7e-ffb2-43cf-8a4d-0af17bc2b1d1
                  full_mode_options:
                    base_model: claude-sonnet-4-6
                    base_model_service: auto
                    base_temperature: 0
                  stream: false
                  include_quality: false
                  include_rouge: false
                  include_compare_original: false
                  include_distance: false
                  skip_headings: false
                  skip_h1: false
              rewrite_mode:
                summary: Rewrite mode example
                value:
                  mode: rewrite
                  message: The quick brown fox jumped over the lazy dog
                  model: ftm-custom-name-0b5ace7e-ffb2-43cf-8a4d-0af17bc2b1d1
                  rewrite_mode_options:
                    topic: A quick brown fox
                  stream: false
                  include_quality: false
                  include_rouge: false
                  include_compare_original: false
                  include_distance: false
                  skip_headings: false
                  skip_h1: false
      responses:
        '200':
          description: A chat completion object.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID of the chat completion.
                    example: chatcmpl-123
                  object:
                    type: string
                    description: Type of the object, always 'chat.completion'.
                    example: chat.completion
                  created:
                    type: integer
                    description: Unix timestamp for when the completion was created.
                    example: 1677652288
                  model:
                    type: string
                    description: Model used for the completion.
                    example: ftm-custom-name-0b5ace7e-ffb2-43cf-8a4d-0af17bc2b1d1
                  choices:
                    type: array
                    items:
                      type: object
                      properties:
                        index:
                          type: integer
                          description: Index of the choice.
                          example: 0
                        message:
                          type: object
                          properties:
                            role:
                              type: string
                              description: Role of the message author.
                              example: assistant
                            content:
                              type: string
                              description: The generated message content.
                              example: >-
                                The lazy dog was vaulted by a brown fox with the
                                zoomies.
                        finish_reason:
                          type: string
                          description: The reason why the generation stopped.
                          example: stop
                  usage:
                    type: object
                    properties:
                      prompt_tokens:
                        type: integer
                        description: Number of tokens in the prompt.
                        example: 9
                      completion_tokens:
                        type: integer
                        description: Number of tokens in the completion.
                        example: 12
                      total_tokens:
                        type: integer
                        description: Total number of tokens used.
                        example: 21
                  quality_analytics:
                    type: object
                    description: >-
                      Quality analytics comparing the styled text against the
                      input text and training data. Only present when
                      include_quality is true.
                    properties:
                      rouge:
                        type: object
                        description: >-
                          ROUGE similarity scores comparing styled text against
                          the training data.
                        properties:
                          rouge1:
                            type: object
                            description: ROUGE-1 (unigram overlap) scores.
                            properties:
                              personalized:
                                type: object
                                description: >-
                                  ROUGE-1 scores for the styled text vs.
                                  training data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.6875
                                  recall:
                                    type: number
                                    example: 0.0006273883533907488
                                  fmeasure:
                                    type: number
                                    example: 0.0012536326856231125
                              unpersonalized:
                                type: object
                                description: >-
                                  ROUGE-1 scores for the input text vs. training
                                  data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.5833333333333334
                                  recall:
                                    type: number
                                    example: 0.0003992471339759311
                                  fmeasure:
                                    type: number
                                    example: 0.0007979481333713309
                              personalization_improvement:
                                type: object
                                description: >-
                                  Relative improvement from styling, as a
                                  fraction.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.1786
                                  recall:
                                    type: number
                                    example: 0.5714
                                  fmeasure:
                                    type: number
                                    example: 0.5711
                          rouge2:
                            type: object
                            description: ROUGE-2 (bigram overlap) scores.
                            properties:
                              personalized:
                                type: object
                                description: >-
                                  ROUGE-2 scores for the styled text vs.
                                  training data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.4
                                  recall:
                                    type: number
                                    example: 0.00034223134839151266
                                  fmeasure:
                                    type: number
                                    example: 0.0006838775859121217
                              unpersonalized:
                                type: object
                                description: >-
                                  ROUGE-2 scores for the input text vs. training
                                  data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.18181818181818182
                                  recall:
                                    type: number
                                    example: 0.00011407711613050422
                                  fmeasure:
                                    type: number
                                    example: 0.00022801117254745484
                              personalization_improvement:
                                type: object
                                description: >-
                                  Relative improvement from styling, as a
                                  fraction.
                                properties:
                                  precision:
                                    type: number
                                    example: 1.2
                                  recall:
                                    type: number
                                    example: 2
                                  fmeasure:
                                    type: number
                                    example: 1.9993
                          rougeL:
                            type: object
                            description: ROUGE-L (longest common subsequence) scores.
                            properties:
                              personalized:
                                type: object
                                description: >-
                                  ROUGE-L scores for the styled text vs.
                                  training data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.6875
                                  recall:
                                    type: number
                                    example: 0.0006273883533907488
                                  fmeasure:
                                    type: number
                                    example: 0.0012536326856231125
                              unpersonalized:
                                type: object
                                description: >-
                                  ROUGE-L scores for the input text vs. training
                                  data.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.5833333333333334
                                  recall:
                                    type: number
                                    example: 0.0003992471339759311
                                  fmeasure:
                                    type: number
                                    example: 0.0007979481333713309
                              personalization_improvement:
                                type: object
                                description: >-
                                  Relative improvement from styling, as a
                                  fraction.
                                properties:
                                  precision:
                                    type: number
                                    example: 0.1786
                                  recall:
                                    type: number
                                    example: 0.5714
                                  fmeasure:
                                    type: number
                                    example: 0.5711
                      sentence_length_stats:
                        type: object
                        description: >-
                          Statistics on sentence length (in words) across
                          styled, input, and training data.
                        properties:
                          mean:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: Mean sentence length of the styled text.
                                example: 16
                              unpersonalized:
                                type: number
                                description: Mean sentence length of the input text.
                                example: 12
                              ground_truth:
                                type: number
                                description: Mean sentence length of the training data.
                                example: 15.157374100719425
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.7331
                          median:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: Median sentence length of the styled text.
                                example: 16
                              unpersonalized:
                                type: number
                                description: Median sentence length of the input text.
                                example: 12
                              ground_truth:
                                type: number
                                description: Median sentence length of the training data.
                                example: 14
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0
                          std_dev:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: >-
                                  Standard deviation of sentence lengths in the
                                  styled text.
                                example: 0
                              unpersonalized:
                                type: number
                                description: >-
                                  Standard deviation of sentence lengths in the
                                  input text.
                                example: 0
                              ground_truth:
                                type: number
                                description: >-
                                  Standard deviation of sentence lengths in the
                                  training data.
                                example: 8.524586718203045
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0
                      word_length_stats:
                        type: object
                        description: >-
                          Statistics on word length (in characters) across
                          styled, input, and training data.
                        properties:
                          mean:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: Mean word length of the styled text.
                                example: 4.1875
                              unpersonalized:
                                type: number
                                description: Mean word length of the input text.
                                example: 5.25
                              ground_truth:
                                type: number
                                description: Mean word length of the training data.
                                example: 4.468670643122896
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.6401
                          median:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: Median word length of the styled text.
                                example: 4
                              unpersonalized:
                                type: number
                                description: Median word length of the input text.
                                example: 5
                              ground_truth:
                                type: number
                                description: Median word length of the training data.
                                example: 4
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 1
                          std_dev:
                            type: object
                            properties:
                              personalized:
                                type: number
                                description: >-
                                  Standard deviation of word lengths in the
                                  styled text.
                                example: 2.3242942477233814
                              unpersonalized:
                                type: number
                                description: >-
                                  Standard deviation of word lengths in the
                                  input text.
                                example: 2.520747243709029
                              ground_truth:
                                type: number
                                description: >-
                                  Standard deviation of word lengths in the
                                  training data.
                                example: 2.4604427259371198
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: -0.5571
                      readability:
                        type: object
                        description: >-
                          Readability scores across styled, input, and training
                          data.
                        properties:
                          flesch_reading_ease:
                            type: object
                            description: >-
                              Flesch Reading Ease scores. Higher values indicate
                              easier-to-read text.
                            properties:
                              unpersonalized:
                                type: number
                                description: Score for the input text.
                                example: 42.38
                              personalized:
                                type: number
                                description: Score for the styled text.
                                example: 63.7
                              ground_truth:
                                type: number
                                description: Score for the training data.
                                example: 63.29
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.9804
                          flesch_kincaid_grade:
                            type: object
                            description: >-
                              Flesch-Kincaid Grade Level scores. Represents the
                              U.S. school grade level needed to understand the
                              text.
                            properties:
                              unpersonalized:
                                type: number
                                description: Score for the input text.
                                example: 10.3
                              personalized:
                                type: number
                                description: Score for the styled text.
                                example: 8.4
                              ground_truth:
                                type: number
                                description: Score for the training data.
                                example: 8.5
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.9444
                      function_word_frequency:
                        type: object
                        description: >-
                          Function word frequency distribution similarity to the
                          training data.
                        properties:
                          jensen_shannon_distance:
                            type: object
                            description: >-
                              Jensen-Shannon distance between function word
                              distributions. Lower values indicate greater
                              similarity to the training data.
                            properties:
                              personalized:
                                type: number
                                description: Distance for the styled text.
                                example: 0.6689444357441154
                              unpersonalized:
                                type: number
                                description: Distance for the input text.
                                example: 0.7306543651658907
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.0845
                      pos_frequency:
                        type: object
                        description: >-
                          Part-of-speech frequency distribution similarity to
                          the training data.
                        properties:
                          jensen_shannon_distance:
                            type: object
                            description: >-
                              Jensen-Shannon distance between part-of-speech
                              distributions. Lower values indicate greater
                              similarity to the training data.
                            properties:
                              personalized:
                                type: number
                                description: Distance for the styled text.
                                example: 0.45509363085996124
                              unpersonalized:
                                type: number
                                description: Distance for the input text.
                                example: 0.5559353944473231
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.1814
                      lexical_density:
                        type: object
                        description: >-
                          Ratio of content words to total words. Measures how
                          informationally dense the text is.
                        properties:
                          personalized:
                            type: number
                            description: Lexical density of the styled text.
                            example: 0.5625
                          unpersonalized:
                            type: number
                            description: Lexical density of the input text.
                            example: 0.6666666666666666
                          ground_truth:
                            type: number
                            description: Lexical density of the training data.
                            example: 0.4917616488513553
                          personalization_improvement:
                            type: number
                            description: Relative improvement from styling.
                            example: 0.5956
                      sentence_structure_frequency:
                        type: object
                        description: >-
                          Distribution of sentence structure types across
                          styled, input, and training data.
                        properties:
                          simple:
                            type: object
                            description: Frequency of simple sentences.
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 1
                              ground_truth:
                                type: number
                                example: 0.4064748201438849
                          compound:
                            type: object
                            description: Frequency of compound sentences.
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.030575539568345324
                          complex:
                            type: object
                            description: Frequency of complex sentences.
                            properties:
                              personalized:
                                type: number
                                example: 1
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.5134892086330936
                          compound-complex:
                            type: object
                            description: Frequency of compound-complex sentences.
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.04946043165467626
                          fragment/unknown:
                            type: object
                            description: >-
                              Frequency of sentence fragments or unclassified
                              structures.
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0
                          jensen_shannon_distance:
                            type: object
                            description: >-
                              Jensen-Shannon distance between sentence structure
                              distributions. Lower values indicate greater
                              similarity to the training data.
                            properties:
                              personalized:
                                type: number
                                example: 0.45652139629164
                              unpersonalized:
                                type: number
                                example: 0.519924367696954
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0.1219
                      sentence_voice_frequency:
                        type: object
                        description: >-
                          Distribution of active vs. passive voice across
                          styled, input, and training data.
                        properties:
                          active:
                            type: object
                            description: Frequency of active voice sentences.
                            properties:
                              personalized:
                                type: number
                                example: 1
                              unpersonalized:
                                type: number
                                example: 1
                              ground_truth:
                                type: number
                                example: 0.9055755395683454
                          passive:
                            type: object
                            description: Frequency of passive voice sentences.
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.09442446043165467
                          jensen_shannon_distance:
                            type: object
                            description: >-
                              Jensen-Shannon distance between voice
                              distributions. Lower values indicate greater
                              similarity to the training data.
                            properties:
                              personalized:
                                type: number
                                example: 0.18410656144604748
                              unpersonalized:
                                type: number
                                example: 0.18410656144604748
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0
                      punctuation:
                        type: object
                        description: >-
                          Punctuation usage density across styled, input, and
                          training data. Each density value represents the
                          proportion of that punctuation type relative to all
                          punctuation.
                        properties:
                          comma_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.3713057495969909
                          semicolon_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.011821601289629231
                          colon_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.04674905964535196
                          period_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 1
                              unpersonalized:
                                type: number
                                example: 1
                              ground_truth:
                                type: number
                                example: 0.5292853304674906
                          question_mark_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.030628694250403012
                          exclamation_mark_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.0016120365394948952
                          parenthetical_density:
                            type: object
                            properties:
                              personalized:
                                type: number
                                example: 0
                              unpersonalized:
                                type: number
                                example: 0
                              ground_truth:
                                type: number
                                example: 0.008597528210639442
                          jensen_shannon_distance:
                            type: object
                            description: >-
                              Jensen-Shannon distance between punctuation
                              distributions. Lower values indicate greater
                              similarity to the training data.
                            properties:
                              personalized:
                                type: number
                                example: 0.4471617217138273
                              unpersonalized:
                                type: number
                                example: 0.4471617217138273
                              personalization_improvement:
                                type: number
                                description: Relative improvement from styling.
                                example: 0
        '400':
          description: Bad request. Possibly due to invalid input data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message explaining the issue.
                    example: Invalid input data.
        '401':
          description: >-
            Unauthorized. The request was missing authentication or contained
            invalid credentials.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message explaining the issue.
                    example: Invalid API key.
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````