---
title: "Create and publish a model story via external API"
method: POST
path: "/v1/external-models/{id}/stories"
tags: ["External Models"]
---

# Create and publish a model story via external API

`POST /v1/external-models/{id}/stories`

Creates a published model story and returns a presigned URL for uploading its media. The caller must upload the file to the returned URL within 1 hour.

## Path parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Request body

- CreateExternalModelStoryRequestDto
  - `media_type` 'photo' | 'video', required
  - `content_type` string — Defaults to image/webp for photo stories and video/mp4 for video stories.
  - `expires_at` string, nullable
  - `order` number
  - `is_explicit` boolean
  - `duration` number, nullable — Video duration in seconds, if known.

## Response `201`

Story created and published with presigned upload URL

- CreateExternalModelStoryResponseDto
  - `story_id` string, required
  - `media_id` string, required
  - `model_id` string, required
  - `upload_url` string, required
  - `s3_key` string, required
  - `final_url` string, required
  - `expires_in` number, required

---

[API](https://skmtc.dev/miaai/apis/backend-template-api.md) · [All operations](https://skmtc.dev/miaai/apis/backend-template-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/miaai/backend-template-api/revisions/2a8d88a5124f/schema)
