Stepeee Stepeee Platform AI Automatik Sepenuhnya

Pengesahan

1

Semak kunci API anda

Anda boleh menyemaknya melalui menu di penjuru kanan atas > Tetapan > Akaun > Kunci API.

2

Tambah pada pengepala permintaan

Tambah kunci API yang dikeluarkan ke dalam pengepala Authorization dalam format Bearer.

3

Hantar permintaan ke URL asas

Hantar permintaan ke URL asas di bawah, diikuti dengan laluan titik akhir.

URL Asas

https://stepeee.com/public-api/v1

Contoh Permintaan

curl https://stepeee.com/public-api/v1/projects \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Format Respons & Ralat

Semua respons dikembalikan dalam format sampul berikut.

Apabila Berjaya

{ "data": ... }

Apabila Ralat

{ "error": { "code": "...", "message": "..." } }

Kod Status

StatusMaksud
401Kunci API tidak sah atau telah tamat tempoh
404Sumber tidak wujud (termasuk kes tiada kebenaran akses)
422Parameter tidak sah
429Had kadar telah melebihi
500Ralat yang tidak dijangka berlaku

Projek

GET › /projects

Mendapatkan senarai projek yang boleh diakses oleh pemilik kunci API.

Contoh Permintaan
curl https://stepeee.com/public-api/v1/projects \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Contoh Respons
{
  "data": [
    {
      "project_unique": "a1b2c3d4e5",
      "project_name": "Sample Project",
      "description": "Sample project description",
      "created_at": "2026-01-10T09:00:00Z"
    }
  ],
  "meta": { "total": 1 }
}
GET › /projects/{project_unique}

Mendapatkan butiran satu projek.

  • project_unique(string, laluan, wajib) — ID awam projek
Contoh Permintaan
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5 \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Contoh Respons
{
  "data": {
    "project_unique": "a1b2c3d4e5",
    "project_name": "Sample Project",
    "description": "Sample project description",
    "is_readonly": false,
    "created_at": "2026-01-10T09:00:00Z"
  }
}

Kandungan

GET › /projects/{project_unique}/contents

Mendapatkan senarai keseluruhan kandungan yang dijana dalam projek (pos, blog, imej dan video).

  • project_unique(string, laluan, wajib) — ID awam projek
Contoh Permintaan
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Contoh Respons
{
  "data": [
    {
      "mode": "moviemode",
      "variation_unique": "m1a2b3c4d5",
      "title": "Generated Title",
      "progress": { "step_process": 3, "is_complete": true },
      "created_at": "2026-01-12T03:00:00Z"
    }
  ],
  "meta": { "total": 1 }
}
GET › /projects/{project_unique}/contents/{variation_unique}

Mendapatkan butiran satu kandungan. Termasuk teks/aset yang dijana serta status penerbitan (hasil siaran ke SNS/WordPress, dsb.). Kandungan "content" berbeza mengikut mod.

  • project_unique(string, laluan, wajib) — ID awam projek
  • variation_unique(string, laluan, wajib) — ID awam kandungan
Contoh Permintaan
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5 \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Contoh Respons
{
  "data": {
    "mode": "moviemode",
    "variation_unique": "m1a2b3c4d5",
    "title": "Generated Title",
    "progress": { "step_process": 3, "is_complete": true },
    "publish": [
      {
        "platform": "youtube",
        "status": "success",
        "post_url": "https://youtube.com/watch?v=xxxx",
        "posted_at": "2026-01-12T04:00:00Z"
      }
    ],
    "content": {
      "movie_unique": "v1a2b3c4d5e6f7g8h9i0",
      "download_url": "https://... (issued dynamically per request)",
      "thumbnail_url": "https://... (issued dynamically per request)"
    },
    "created_at": "2026-01-12T03:00:00Z"
  }
}