AppleScript to perform actions to text in new TextEdit document
This is what I've written based on what was posted as the sample. First I set the filename and the file path of the document to create:

set filename to "test.txt"
set filePath to path to desktop


I wrote a display dialog that prompts a linefeed with a timeout and vague validation:

try
    set enteredText to (display dialog "What is your text?" default answer linefeed with title scriptTitle giving up after 40)
    if button returned of result = "" or gave up of result = true then error number -128
    set enteredText to text returned of enteredText
on error
    return display notification "Script cancelled" with title scriptTitle
end try


After the entry of text I then tell TextEdit to manipulate the text based on what you've supplied and save it to a file on the desktop:

tell application "TextEdit"
    activate
    set theDoc to make new document with properties {text:enteredText}
    tell theDoc
        set the color of every word to {65535, 0, 0}
        set size to 29
        try
            set font of theDoc to "Comic Sans MS"
        on error
            set font of theDoc to "Times"
        end try
        save in file ((filePath as text) &amp; filename)
    end tell
end tell


The script's entire code:

use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

(*
    Date: 18-12-20
    Developer: r2d2
    Purpose: prompt for text, manipulate in TextEdit and save to file.
    Version: 1.1
    Name: textedit_experiment.scpt
*)

set filename to "test.txt"
set filePath to path to desktop
set scriptTitle to "r2d2 TextEdit script"

try
    set enteredText to (display dialog "What is your text?" default answer linefeed with title scriptTitle giving up after 40)
    if button returned of result = "" or gave up of result = true then error number -128
    set enteredText to text returned of enteredText
on error
    return display notification "Script cancelled" with title scriptTitle
end try

tell application "TextEdit"
    activate
    set theDoc to make new document with properties {text:enteredText}
    tell theDoc
        set the color of every word to {65535, 0, 0}
        set size to 29
        try
            set font of theDoc to "Comic Sans MS"
        on error
            set font of theDoc to "Times"
        end try
        save in file ((filePath as text) &amp; filename)
    end tell
end tell
return display notification "Script COMPLETED" with title scriptTitle


The script as it is is a base and there are far other forms of validation and improvements that can be made such as file existence, text returned testing or dialog testing but I wanted to answer the question.



Edit:

Code for the TextEdit tell modified to include closure of the document, text passed is hard coded as foobar:

tell application "TextEdit"
    activate
    set theDoc to make new document with properties {text:"foobar"}

    tell theDoc
        set the color of every word to {65535, 0, 0}
        set size to 29
        try
            set font of theDoc to "Comic Sans MS"
        on error
            set font of theDoc to "Times"
        end try
        save in file ((filePath as text) &amp; filename)
    end tell

    set theDoc to front window
    try
        close theDoc
    on error
        display notification "Didn't close document"
    end try
end tell


Screenshot of dialog:



Screenshots of the above hard coded tell block and re-opened RTF file:



Code modified to take passed text to dialog and RTF opened: