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

# ScrapeCreators: Instagram Media Transcript

> Generates AI speech-to-text for an Instagram video post or reel. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Generates AI speech-to-text for an Instagram video post or reel.

> [!NOTE]
>
> Tool ID: `scrapecreators_instagram_media_transcript`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'scrapecreators_instagram_media_transcript',
  {
    "url": "https://example.com"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute scrapecreators_instagram_media_transcript --input '{
  "url": "https://example.com"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe scrapecreators_instagram_media_transcript --json` for the complete live contract.

## Input reference

Generates AI speech-to-text for an Instagram video post or reel. Returns a transcripts array containing each video's id, shortcode, and text. no speech can produce null entries. Each result also includes transcripts\[].transcript\_with\_timestamp: an array of \{start: number, end: number, text: string} sentence/phrase segments, or null when speech or timing is unavailable. Times are seconds relative to each individual video, not the combined carousel. AI timings are approximate, not word-perfect. The existing text remains plain text. Over 120 seconds, videos cannot be AI-transcribed by default. With allow\_long\_transcription=true, sum 10 \* ceil(duration\_seconds / 60) for each successfully transcribed video, rather than rounding the combined duration. images and empty video transcripts have no AI fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.url` | `string` | Yes | — | Instagram post or reel URL |
| `payload.allow_long_transcription` | `boolean` | No | `false` | Paid opt-in, enabled only by the literal query value 'true' (allow\_long\_transcription=true). Defaults to false when omitted. other values do not enable paid mode. Over 120 seconds, videos cannot be AI-transcribed by default. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get\_transcript=true or use\_ai\_as\_fallback=true where required by the endpoint. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can See the live schema for the complete constraint. |
| `payload.cache_max_age` | `"1d" \| "3d" \| "7d" \| "14d" \| "30d"` | No | — | If we have a response in the cache that is this many days old or newer, return the cached response. Otherwise, scrape a live result. [See the Caching page for details.](https://docs.scrapecreators.com/caching) Allowed: `1d`, `3d`, `7d`, `14d`, `30d`. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Generates AI speech-to-text for an Instagram video post or reel. Returns a transcripts array containing each video's id, shortcode, and text; no speech can produce null entries. Each result also includes transcripts[].transcript_with_timestamp: an array of {start: number, end: number, text: string} sentence/phrase segments, or null when speech or timing is unavailable. Times are seconds relative to each individual video, not the combined carousel. AI timings are approximate, not word-perfect. The existing text remains plain text. Over 120 seconds, videos cannot be AI-transcribed by default. With allow_long_transcription=true, sum 10 * ceil(duration_seconds / 60) for each successfully transcribed video, rather than rounding the combined duration; images and empty video transcripts have no AI fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.",
    "properties": {
      "url": {
        "type": "string",
        "description": "Instagram post or reel URL"
      },
      "allow_long_transcription": {
        "type": "boolean",
        "description": "Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. Over 120 seconds, videos cannot be AI-transcribed by default. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.",
        "default": false
      },
      "cache_max_age": {
        "type": "string",
        "description": "If we have a response in the cache that is this many days old or newer, return the cached response. Otherwise, scrape a live result. [See the Caching page for details.](https://docs.scrapecreators.com/caching)",
        "enum": [
          "1d",
          "3d",
          "7d",
          "14d",
          "30d"
        ]
      }
    },
    "required": [
      "url"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `unknown` | Yes | — | Provider response payload. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "description": "Provider response payload."
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.02` per pricing unit.

## Related documentation

* [ScrapeCreators provider guide](https://deepline.com/docs/providers/scrapecreators/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.