# ModelsLab

> Generate and edit media with ModelsLab: make pictures from a description, restyle and edit the ones you have, animate them, read text aloud, transcribe recordings, compose music and build 3D objects.

App · AI Models · 15 actions. Web page: https://docs.lodol.com/docs/integrations/modelslab

## Actions

### Animate an image

Turn a still picture into a short clip: a product photo that drifts, a scene that comes to life.

**Inputs**

- Picture (`image`, text, required): The picture to animate: upload one, pick one from an earlier step, or paste a link to one.
- What should happen (`prompt`, text): Optional. Describe the movement you want, such as 'the camera slowly pushes in'.
- Shape (`video_size`, text): The shape of the clip. ModelsLab caps video at 512 pixels. One of: `square` (Square - 512 x 512), `landscape` (Landscape - 512 x 288), `portrait` (Portrait - 288 x 512). Default: `square`.
- File type (`video_format`, text): MP4 plays everywhere. A GIF loops silently and is bigger. One of: `mp4` (MP4 video), `gif` (Animated GIF). Default: `mp4`.

**Outputs**

- `count` (number): How many clips were produced.
- `document_ref` (text): The first saved file, for the usual case of one clips.
- `documents` (list): The clips this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_c02e9931",
  "documents": [
    {
      "content_type": "video/mp4",
      "document_ref": "doc_c02e9931",
      "filename": "animated.mp4",
      "size_bytes": 1440512,
      "url": "/actions/core/serve-document/doc_c02e9931"
    }
  ],
  "filename": "animated.mp4",
  "result_reference": "video:19482688",
  "seconds_taken": 66.0,
  "source_urls": [
    "https://assets.modelslab.ai/generations/stu.mp4"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_c02e9931"
}
```

### Describe an image

Get a written description of what is in a picture: for alt text, a caption, or so a later step can decide what to do with it.

**Inputs**

- Picture (`image`, text, required): The picture to describe: upload one, pick one from an earlier step, or paste a link to one.
- How much detail (`detail`, text): Short is a few words for alt text; long is a full paragraph. One of: `short`, `normal`, `long`. Default: `normal`.

**Outputs**

- `result_reference` (text): This request's reference on ModelsLab.
- `seconds_taken` (number): How long ModelsLab took.
- `status` (text): Status of the action execution ("success" on success).
- `text` (text): What ModelsLab sees in the picture.

**Example output**

```json
{
  "result_reference": "image_editing:19482501",
  "seconds_taken": 1.7,
  "status": "success",
  "text": "A red vintage bicycle leaning against a whitewashed wall in bright afternoon sunlight."
}
```

### Edit an image

Change a picture by saying what to change: 'remove the car on the left', 'make the sky blue', 'put the logo on the mug'. Nothing has to be marked up first.

**Inputs**

- Pictures (`images`, list, required): The picture to change. Add up to four and the instruction can refer to them in order, as 'image 1' and 'image 2'.
- What to change (`instruction`, text, required): One instruction, in plain words. Say what should be different, not what the whole picture should be.
- Filter out unsafe pictures (`safe_images`, true/false): On by default. ModelsLab replaces anything it judges explicit rather than returning it. Default: `true`.

**Outputs**

- `count` (number): How many pictures were produced.
- `document_ref` (text): The first saved file, for the usual case of one pictures.
- `documents` (list): The pictures this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_91ac0f5d",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_91ac0f5d",
      "filename": "edited.png",
      "size_bytes": 690411,
      "url": "/actions/core/serve-document/doc_91ac0f5d"
    }
  ],
  "filename": "edited.png",
  "result_reference": "image_editing:19482344",
  "seconds_taken": 6.8,
  "source_urls": [
    "https://assets.modelslab.ai/generations/ghi.png"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_91ac0f5d"
}
```

### Generate a 3D model

Build a 3D object from a description, ready to open in a 3D viewer, a game engine or a printing tool.

**Inputs**

- Describe the object (`prompt`, text, required): One object, described plainly, such as 'a ceramic coffee mug with a rounded handle'.
- File type (`file_format`, text): GLB opens in most viewers and game engines. STL is for 3D printing. OBJ and PLY are for 3D software. One of: `glb` (GLB - viewers and game engines), `stl` (STL - 3D printing), `obj` (OBJ - 3D software), `ply` (PLY - point clouds). Default: `glb`.
- Things to leave out (`avoid`, text): Anything that should not appear, such as 'text, watermark, blurry'.

**Outputs**

- `count` (number): How many models were produced.
- `document_ref` (text): The first saved file, for the usual case of one models.
- `documents` (list): The models this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_7719fcab",
  "documents": [
    {
      "content_type": "model/gltf-binary",
      "document_ref": "doc_7719fcab",
      "filename": "object.glb",
      "size_bytes": 2884120,
      "url": "/actions/core/serve-document/doc_7719fcab"
    }
  ],
  "filename": "object.glb",
  "result_reference": "3d:19482901",
  "seconds_taken": 52.8,
  "source_urls": [
    "https://assets.modelslab.ai/generations/567.glb"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_7719fcab"
}
```

### Generate a sound effect

Make a short sound from a description, such as 'a door closing in an empty hall' or 'distant thunder'.

**Inputs**

- Describe the sound (`prompt`, text, required): What should be heard, in plain words.
- Length in seconds (`seconds`, number): Between 3 and 15 seconds. From 3 to 15. Default: `10`.

**Outputs**

- `count` (number): How many sounds were produced.
- `document_ref` (text): The first saved file, for the usual case of one sounds.
- `documents` (list): The sounds this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_11b7c390",
  "documents": [
    {
      "content_type": "audio/wav",
      "document_ref": "doc_11b7c390",
      "filename": "sfx.wav",
      "size_bytes": 320044,
      "url": "/actions/core/serve-document/doc_11b7c390"
    }
  ],
  "filename": "sfx.wav",
  "result_reference": "voice:19482877",
  "seconds_taken": 6.4,
  "source_urls": [
    "https://assets.modelslab.ai/generations/234.wav"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_11b7c390"
}
```

### Generate a video

Make a short silent clip from a description. Video takes longer than a picture: the step waits for it, usually a minute or two.

**Inputs**

- Description (`prompt`, text, required): Describe what you want. The more specific the better -- what is in it, the style, the lighting, the mood.
- Shape (`video_size`, text): The shape of the clip. ModelsLab caps video at 512 pixels. One of: `square` (Square - 512 x 512), `landscape` (Landscape - 512 x 288), `portrait` (Portrait - 288 x 512). Default: `square`.
- File type (`video_format`, text): MP4 plays everywhere. A GIF loops silently and is bigger. One of: `mp4` (MP4 video), `gif` (Animated GIF). Default: `mp4`.
- Things to leave out (`avoid`, text): Anything that should not appear, such as 'text, watermark, blurry'.
- Seed (`seed`, number): Use the same number with the same description to get the same result again. Leave it blank for something new every time. At least 0.

**Outputs**

- `count` (number): How many clips were produced.
- `document_ref` (text): The first saved file, for the usual case of one clips.
- `documents` (list): The clips this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_a41f77b2",
  "documents": [
    {
      "content_type": "video/mp4",
      "document_ref": "doc_a41f77b2",
      "filename": "clip.mp4",
      "size_bytes": 1884230,
      "url": "/actions/core/serve-document/doc_a41f77b2"
    }
  ],
  "filename": "clip.mp4",
  "result_reference": "video:19482610",
  "seconds_taken": 74.5,
  "source_urls": [
    "https://assets.modelslab.ai/generations/pqr.mp4"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_a41f77b2"
}
```

### Generate an image

Make a picture from a description and wait for it. The finished file is saved so a later step can attach or upload it.

**Inputs**

- Description (`prompt`, text, required): Describe what you want. The more specific the better -- what is in it, the style, the lighting, the mood.
- Shape (`image_size`, text): The shape and size of the picture. One of: `square` (Square - 1024 x 1024), `landscape` (Landscape - 1024 x 576), `portrait` (Portrait - 576 x 1024), `small_square` (Small square - 512 x 512 (fastest)). Default: `square`.
- How many pictures (`number_of_images`, number): Between 1 and 4. Each one is charged separately. From 1 to 4. Default: `1`.
- Model (`model`, text): Which model draws the picture. Flux is the all-round best and is used when this is left alone; the rest of the list is ModelsLab's public catalogue, for a particular look such as anime or photorealism. Default: `flux`.
- Things to leave out (`avoid`, text): Anything that should not appear, such as 'text, watermark, blurry'. Flux ignores this -- choose another model if you need it.
- Seed (`seed`, number): Use the same number with the same description to get the same result again. Leave it blank for something new every time. At least 0.
- Filter out unsafe pictures (`safe_images`, true/false): On by default. ModelsLab replaces anything it judges explicit rather than returning it. Default: `true`.

**Outputs**

- `count` (number): How many pictures were produced.
- `document_ref` (text): The first saved file, for the usual case of one pictures.
- `documents` (list): The pictures this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_3f9c1e2a",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_3f9c1e2a",
      "filename": "generation.png",
      "size_bytes": 842119,
      "url": "/actions/core/serve-document/doc_3f9c1e2a"
    }
  ],
  "filename": "generation.png",
  "result_reference": "images:19482203",
  "seconds_taken": 4.12,
  "source_urls": [
    "https://assets.modelslab.ai/generations/abc.png"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_3f9c1e2a"
}
```

### Generate music

Compose a piece of music from a description: background for a video, hold music, a theme. Tracks start at 30 seconds.

**Inputs**

- Describe the music (`prompt`, text, required): Instruments, genre, mood and tempo, such as 'warm acoustic guitar, unhurried, 90 bpm'.
- Length in seconds (`seconds`, number): Between 30 and 480 seconds (8 minutes). From 30 to 480. Default: `30`.
- Melody to follow (`melody`, text): Optional. A recording of up to 30 seconds whose tune the new music should follow. An uploaded file has to be an MP3 or a WAV under 5 MB; a link can be any format.
- File type (`audio_format`, text): MP3 is small and plays everywhere. WAV and FLAC are lossless and much larger. One of: `mp3`, `wav`, `flac`. Default: `mp3`.

**Outputs**

- `count` (number): How many tracks were produced.
- `document_ref` (text): The first saved file, for the usual case of one tracks.
- `documents` (list): The tracks this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_ef41a882",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_ef41a882",
      "filename": "music.mp3",
      "size_bytes": 1201233,
      "url": "/actions/core/serve-document/doc_ef41a882"
    }
  ],
  "filename": "music.mp3",
  "result_reference": "voice:19482844",
  "seconds_taken": 41.2,
  "source_urls": [
    "https://assets.modelslab.ai/generations/yz1.mp3"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_ef41a882"
}
```

### Generate speech

Read text aloud in a chosen voice and save the recording: for a voiceover, a phone message, or an audio version of something written.

**Inputs**

- What to say (`text`, text, required): Up to 2500 characters. Punctuation shapes the delivery, so write it as you would want it read.
- Voice (`voice`, text): ModelsLab's built-in voices, followed by any voice this account has uploaded or cloned. Default: `tara`.
- Language (`language`, text): The language and accent to read it in. One of: `american english`, `british english`, `spanish`, `french`, `italian`, `brazilian portuguese`, `hindi`, `japanese`, `mandarin chinese`. Default: `american english`.
- Speaking speed (`speed`, number): 1 is normal. Below 1 is slower, above 1 is faster. From 0.5 to 2.0. Default: `1`.
- Expressive delivery (`expressive`, true/false): Lets the voice laugh, sigh and gasp where you write <laugh>, <sigh>, <gasp>, <chuckle>, <cough>, <sniffle>, <groan> or <yawn> in the text. English only, and only on the built-in voices. Default: `false`.

**Outputs**

- `count` (number): How many recordings were produced.
- `document_ref` (text): The first saved file, for the usual case of one recordings.
- `documents` (list): The recordings this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_6ba90d13",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_6ba90d13",
      "filename": "speech.mp3",
      "size_bytes": 184320,
      "url": "/actions/core/serve-document/doc_6ba90d13"
    }
  ],
  "filename": "speech.mp3",
  "result_reference": "voice:19482733",
  "seconds_taken": 3.3,
  "source_urls": [
    "https://assets.modelslab.ai/generations/vwx.mp3"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_6ba90d13"
}
```

### Get a result

Collect a generation that was still running when its step ran out of time. Every action here waits ten minutes on its own first, so this is only needed when ModelsLab's queue is busy.

**Inputs**

- Result reference (`result_reference`, text, required): The 'result_reference' the generation step reported, such as video:19482610. The step that ran out of time names it in its error too.

**Outputs**

- `count` (number): How many files were produced.
- `document_ref` (text): The first saved file, for the usual case of one files.
- `documents` (list): The files this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_d0f4a2b6",
  "documents": [
    {
      "content_type": "video/mp4",
      "document_ref": "doc_d0f4a2b6",
      "filename": "clip.mp4",
      "size_bytes": 1884230,
      "url": "/actions/core/serve-document/doc_d0f4a2b6"
    }
  ],
  "filename": "clip.mp4",
  "result_reference": "video:19482610",
  "seconds_taken": 74.5,
  "source_urls": [
    "https://assets.modelslab.ai/generations/pqr.mp4"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_d0f4a2b6"
}
```

### List voices

List the voices this ModelsLab account has added: uploads, clones and song voices. ModelsLab's own built-in voices are always available and are not part of this list.

**Inputs**

- Kind of voice (`voice_kind`, text): Which of the account's own voices to list. One of: `manual` (Uploaded voices), `trained` (Cloned voices), `voice_cover` (Song voices). Default: `manual`.

**Outputs**

- `count` (number): How many voices were returned.
- `status` (text): Status of the action execution ("success" on success).
- `voice_kind` (text): Which kind of voice was listed.
- `voices` (list): The voices on this account.

**Example output**

```json
{
  "count": 1,
  "status": "success",
  "voice_kind": "manual",
  "voices": [
    {
      "language": "english",
      "name": "Narrator",
      "voice_id": "narrator-en"
    }
  ]
}
```

### Remove an image background

Cut the subject out of a picture and return it on a transparent background, ready to drop onto anything else.

**Inputs**

- Picture (`image`, text, required): The picture to cut out: upload one, pick one from an earlier step, or paste a link to one.

**Outputs**

- `count` (number): How many pictures were produced.
- `document_ref` (text): The first saved file, for the usual case of one pictures.
- `documents` (list): The pictures this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_2ce7b410",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_2ce7b410",
      "filename": "cutout.png",
      "size_bytes": 412880,
      "url": "/actions/core/serve-document/doc_2ce7b410"
    }
  ],
  "filename": "cutout.png",
  "result_reference": "image_editing:19482390",
  "seconds_taken": 2.1,
  "source_urls": [
    "https://assets.modelslab.ai/generations/jkl.png"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_2ce7b410"
}
```

### Restyle an image

Redraw a picture you already have in a new style, keeping its composition. The result comes back the same size as the original.

**Inputs**

- Picture (`image`, text, required): The picture to redraw: upload one, pick one from an earlier step, or paste a link to one.
- What it should become (`prompt`, text, required): Describe the result you want, such as 'the same room as a watercolour painting'.
- How much to change it (`change_level`, text): Subtle keeps the original clearly recognisable; dramatic keeps little more than the layout. One of: `subtle`, `balanced`, `dramatic`. Default: `balanced`.
- Model (`model`, text): Which model draws the picture. Flux is the all-round best and is used when this is left alone; the rest of the list is ModelsLab's public catalogue, for a particular look such as anime or photorealism. Default: `flux`.
- Things to leave out (`avoid`, text): Anything that should not appear, such as 'text, watermark, blurry'. Flux ignores this -- choose another model if you need it.
- How many pictures (`number_of_images`, number): Between 1 and 4. Each one is charged separately. From 1 to 4. Default: `1`.
- Seed (`seed`, number): Use the same number with the same description to get the same result again. Leave it blank for something new every time. At least 0.
- Filter out unsafe pictures (`safe_images`, true/false): On by default. ModelsLab replaces anything it judges explicit rather than returning it. Default: `true`.

**Outputs**

- `count` (number): How many pictures were produced.
- `document_ref` (text): The first saved file, for the usual case of one pictures.
- `documents` (list): The pictures this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_7b2d4c81",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_7b2d4c81",
      "filename": "restyled.png",
      "size_bytes": 733204,
      "url": "/actions/core/serve-document/doc_7b2d4c81"
    }
  ],
  "filename": "restyled.png",
  "result_reference": "images:19482291",
  "seconds_taken": 5.4,
  "source_urls": [
    "https://assets.modelslab.ai/generations/def.png"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_7b2d4c81"
}
```

### Transcribe audio

Write down what was said in a recording: a call, a voicemail, a voice note or the soundtrack of a video.

**Inputs**

- Recording (`audio`, text, required): The recording to transcribe: upload a file, pick one from an earlier step, or paste a link to one. An uploaded file has to be an MP3 or a WAV under 5 MB; a link can also be FLAC or OPUS. Five seconds to an hour long.
- Language spoken (`language`, text): The language being spoken in the recording. One of: `en` (English), `af` (Afrikaans), `ar` (Arabic), `be` (Belarusian), `bn` (Bengali), `bg` (Bulgarian), `zh` (Chinese), `cs` (Czech), `da` (Danish), `nl` (Dutch), and 33 more. Default: `en`.
- Timestamps (`timestamps`, text): Add the time each part was said. Per sentence is reliable; per word is approximate. One of: `""` (No timestamps), `sentence` (Per sentence), `word` (Per word (approximate)).

**Outputs**

- `result_reference` (text): This request's reference on ModelsLab.
- `seconds_taken` (number): How long ModelsLab took.
- `segments` (list): The timed parts of the transcript, when timestamps were asked for.
- `status` (text): Status of the action execution ("success" on success).
- `text` (text): Everything that was said.

**Example output**

```json
{
  "result_reference": "voice:19482801",
  "seconds_taken": 5.9,
  "segments": [],
  "status": "success",
  "text": "Thanks for calling - I wanted to check on order 4471."
}
```

### Upscale an image

Make a picture larger and sharper: for printing something that was only ever a thumbnail, or cleaning up a scan.

**Inputs**

- Picture (`image`, text, required): The picture to enlarge: upload one, pick one from an earlier step, or paste a link to one.
- Enlarge by (`enlarge_by`, text): How much bigger the result should be. One of: `2` (2x larger), `4` (4x larger). Default: `2`.
- Sharpen faces (`enhance_faces`, true/false): Restore facial detail as well. Worth turning on for portraits and group photos, and off for everything else. Default: `false`.

**Outputs**

- `count` (number): How many pictures were produced.
- `document_ref` (text): The first saved file, for the usual case of one pictures.
- `documents` (list): The pictures this step produced, saved to this workspace's file storage. Use one of these in a later step's file field.
- `filename` (text): The first saved file's name.
- `result_reference` (text): This generation's reference on ModelsLab, which 'Get a result' can collect it with.
- `seconds_taken` (number): How long ModelsLab took to make it.
- `source_urls` (list): ModelsLab's own links to the same files, for putting straight into a message or a page.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): A link that opens the first saved file in Lodol.

**Example output**

```json
{
  "count": 1,
  "document_ref": "doc_58d3ae07",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_58d3ae07",
      "filename": "upscaled.png",
      "size_bytes": 3104882,
      "url": "/actions/core/serve-document/doc_58d3ae07"
    }
  ],
  "filename": "upscaled.png",
  "result_reference": "image_editing:19482412",
  "seconds_taken": 8.9,
  "source_urls": [
    "https://assets.modelslab.ai/generations/mno.png"
  ],
  "status": "success",
  "url": "/actions/core/serve-document/doc_58d3ae07"
}
```
