Glyphlab API 0.1.0
The Glyphlab REST API. This is ALPHA software. Please see https://docs.glyphlab.xyz/api/ for more details.
Terms of service: https://glyphlab.xyz/terms/
Contact: Glyphlab Support info@glyphlab.xyz
Servers
Description | URL |
---|---|
https://api.glyphlab.xyz | https://api.glyphlab.xyz |
Endpoints
GET /v1/bookbridge/jobs
List all book conversion jobs
Description
List all jobs. Jobs are sorted by creation date.
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
limit |
query | integer | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. |
Response 200 OK
{
"data": [
{
"id": "job_b4ee8c",
"created": 1741219200,
"expires_at": 1743984000,
"status": "processing"
}
],
"object": "list"
}
Schema of the response body
{
"description": "",
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/job"
},
"type": "array"
},
"object": {
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
"enum": [
"list"
],
"type": "string"
}
},
"required": [
"data",
"object"
],
"title": "JobsResourceList",
"type": "object"
}
Other responses
{
"message": "string"
}
Schema of the response body
{
"type": "object",
"description": "An error response from the API",
"properties": {
"message": {
"type": "string",
"description": "A human-readable message providing more details about the error.",
"maxLength": 40000
}
},
"required": [
"message"
]
}
POST /v1/bookbridge/jobs
Create an book conversion job.
Description
This endpoint creates a book conversion job.
Request body
Schema of the request body
{
"additionalProperties": false,
"properties": {
"file": {
"description": "A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol.",
"format": "binary",
"type": "string"
}
}
}
Response 200 OK
{
"id": "job_b4ee8c",
"created": 1741219200,
"expires_at": 1743984000,
"status": "processing"
}
Schema of the response body
{
"type": "object",
"description": "A Job converts page images into an accessible ebook. A Job generally transitions between two states during its lifetime. A Job starts in the `processing` state. When conversion is complete, Job transitions to the `succeeded` state. If something went wrong, the Job ends up in the `failed` state. Related guide: [Convert page images of print books into accessible ebooks](https://docs.glyphlab.xyz/)",
"properties": {
"id": {
"description": "Unique identifier for the object.",
"maxLength": 5000,
"type": "string"
},
"status": {
"description": "Status of this Job, one of `processing`, `succeeded`, or `failed.",
"enum": [
"processing",
"succeeded",
"failed"
],
"type": "string"
},
"created": {
"description": "Time at which the job was created. Measured in seconds since the Unix epoch.",
"format": "unix-time",
"type": "integer"
},
"expires_at": {
"description": "Time at which the job will expire. Measured in seconds since the Unix epoch.",
"format": "unix-time",
"type": "integer"
},
"epub_url": {
"description": "URL to ebook EPUBv3 file.",
"maxLength": 5000,
"type": "string"
}
},
"required": [
"id",
"created",
"expires_at"
]
}
Other responses
{
"message": "Empty file. Expected PDF or zip file containing non-zero page images."
}
Schema of the response body
{
"type": "object",
"description": "An error response from the API",
"properties": {
"message": {
"type": "string",
"description": "A human-readable message providing more details about the error.",
"maxLength": 40000
}
},
"required": [
"message"
]
}
GET /v1/bookbridge/jobs/{job}
Retrieve a job
Description
Retrieves the job with the given ID.
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
job |
path | string | No |
Response 200 OK
{
"id": "job_b4ee8c",
"created": 1741219200,
"expires_at": 1743984000,
"status": "processing"
}
Schema of the response body
{
"type": "object",
"description": "A Job converts page images into an accessible ebook. A Job generally transitions between two states during its lifetime. A Job starts in the `processing` state. When conversion is complete, Job transitions to the `succeeded` state. If something went wrong, the Job ends up in the `failed` state. Related guide: [Convert page images of print books into accessible ebooks](https://docs.glyphlab.xyz/)",
"properties": {
"id": {
"description": "Unique identifier for the object.",
"maxLength": 5000,
"type": "string"
},
"status": {
"description": "Status of this Job, one of `processing`, `succeeded`, or `failed.",
"enum": [
"processing",
"succeeded",
"failed"
],
"type": "string"
},
"created": {
"description": "Time at which the job was created. Measured in seconds since the Unix epoch.",
"format": "unix-time",
"type": "integer"
},
"expires_at": {
"description": "Time at which the job will expire. Measured in seconds since the Unix epoch.",
"format": "unix-time",
"type": "integer"
},
"epub_url": {
"description": "URL to ebook EPUBv3 file.",
"maxLength": 5000,
"type": "string"
}
},
"required": [
"id",
"created",
"expires_at"
]
}
Other responses
{
"message": "string"
}
Schema of the response body
{
"type": "object",
"description": "An error response from the API",
"properties": {
"message": {
"type": "string",
"description": "A human-readable message providing more details about the error.",
"maxLength": 40000
}
},
"required": [
"message"
]
}
Schemas
error
Name | Type |
---|---|
message |
string |
job
Name | Type |
---|---|
created |
integer(unix-time) |
epub_url |
string |
expires_at |
integer(unix-time) |
id |
string |
status |
string |