const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'a cute and bubbly font', glyph_set: 'standard'})
};
fetch('https://api.mixfont.com/v1/font-generations/text', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.mixfont.com/v1/font-generations/text"
payload = {
"prompt": "a cute and bubbly font",
"glyph_set": "standard"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.mixfont.com/v1/font-generations/text \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompt": "a cute and bubbly font",
"glyph_set": "standard"
}
'{
"id": "7d58a66d-f129-4f9a-bf9a-4f2c6d0c3e4d",
"name": "Nebula Sans",
"ttf_url": null,
"status": "preparing",
"input_type": "text",
"glyph_set": "standard",
"progress_percent": 0,
"poll_url": "https://api.mixfont.com/v1/font-generations/7d58a66d-f129-4f9a-bf9a-4f2c6d0c3e4d",
"created_at": "2026-06-02T21:12:42.000Z"
}{
"error": "prompt is required."
}{
"error": "Unauthorized."
}{
"error": "Current team does not have enough API credits remaining."
}{
"error": "Team associated with this API key could not be resolved."
}{
"error": "Failed to create font generation job."
}Generate Font from Prompt
Start a font generation from a text prompt
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'a cute and bubbly font', glyph_set: 'standard'})
};
fetch('https://api.mixfont.com/v1/font-generations/text', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.mixfont.com/v1/font-generations/text"
payload = {
"prompt": "a cute and bubbly font",
"glyph_set": "standard"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.mixfont.com/v1/font-generations/text \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompt": "a cute and bubbly font",
"glyph_set": "standard"
}
'{
"id": "7d58a66d-f129-4f9a-bf9a-4f2c6d0c3e4d",
"name": "Nebula Sans",
"ttf_url": null,
"status": "preparing",
"input_type": "text",
"glyph_set": "standard",
"progress_percent": 0,
"poll_url": "https://api.mixfont.com/v1/font-generations/7d58a66d-f129-4f9a-bf9a-4f2c6d0c3e4d",
"created_at": "2026-06-02T21:12:42.000Z"
}{
"error": "prompt is required."
}{
"error": "Unauthorized."
}{
"error": "Current team does not have enough API credits remaining."
}{
"error": "Team associated with this API key could not be resolved."
}{
"error": "Failed to create font generation job."
}id and poll_url.
Use GET /v1/font-generations/{jobId} to poll until the job reaches a terminal status.Authorizations
Body
Text prompt describing the font to generate.
1 - 2000standard generates 72 glyphs to support English with basic letters, numbers, and punctuation. extended generates 319 glyphs to support all Latin languages, including special characters, costs more credits, and may take 2-3 minutes to complete.
standard, extended Response
Generation job accepted
Generation id.
Generated font display name.
Download URL for the generated TTF file. This is null until the job succeeds.
preparing, queued, running, succeeded, cancelled, failed text, image standard generates 72 glyphs to support English with basic letters, numbers, and punctuation. extended generates 319 glyphs to support all Latin languages, including special characters, costs more credits, and may take 2-3 minutes to complete.
standard, extended Approximate job progress percentage.
0 <= x <= 100URL to poll for generation status.
ISO timestamp for when the generation was created.
Error message. Present only when status is failed and an error message is available.

