404 - Page not found
It seems we cannot find what you are looking for? Perhaps try searching.
/* Reitti: POST /wp-json/volsku/v1/generate_openai - Valitsee demon videon - Kutsuu OpenAI /v1/responses (gpt-4.1) tekemään 2–3 lauseen kuvauksen suomeksi - Palauttaa { ok, source:'openai+demo', video_url, caption } */ add_action('rest_api_init', function(){ register_rest_route('volsku/v1', '/generate_openai', [ 'methods' => 'POST', 'permission_callback' => '__return_true', 'args' => [ 'prompt' => ['type'=>'string','required'=>true] ], 'callback' => function(WP_REST_Request $req){ // --- prompt --- $prompt_raw = $req->get_param('prompt'); $prompt = is_string($prompt_raw) ? trim($prompt_raw) : ''; $p = strtolower($prompt); // --- videokartta --- $map = [ 'meri' => 'https://cdn.volsku.fi/demo/sea.mp4', 'metsä' => 'https://cdn.volsku.fi/demo/forest.mp4', 'laiva' => 'https://cdn.volsku.fi/demo/ship.mp4', 'myrsky' => 'https://cdn.volsku.fi/demo/storm.mp4', 'tuli' => 'https://cdn.volsku.fi/demo/fire.mp4', ]; $chosen = null; foreach ($map as $k=>$url) { $has = function_exists('str_contains') ? str_contains($p, $k) : (strpos($p, $k) !== false); if ($has) { $chosen = $url; break; } } if (!$chosen){ $all = array_values($map); $chosen = $all[array_rand($all)]; } // --- OpenAI kutsu --- if (!defined('OPENAI_API_KEY') || !OPENAI_API_KEY){ return new WP_REST_Response([ 'ok' => true, 'source' => 'demo-no-openai', 'video_url' => $chosen, 'caption' => 'OpenAI-avain puuttuu (OPENAI_API_KEY). Lisää se wp-config.php:han.' ], 200); } // HAE AVAIN wp-config.php:sta – EI define() TÄHÄN! define('OPENAI_API_KEY', ' $body = [ 'model' => 'gpt-4.1', 'input' => 'Kirjoita lyhyt (2–3 lausetta) elokuvamainen kuvaus suomeksi kohtaukselle: ' . $prompt ]; $res = wp_remote_post('https://api.openai.com/v1/responses', [ 'headers' => [ 'Authorization' => 'Bearer ' . $apiKey, 'Content-Type' => 'application/json', ], 'body' => wp_json_encode($body), 'timeout' => 45, ]); $caption = ''; if (is_wp_error($res)){ $caption = 'Virhe OpenAI-yhteydessä: ' . $res->get_error_message(); } else { $code = wp_remote_retrieve_response_code($res); $json = json_decode(wp_remote_retrieve_body($res), true); if ($code === 200 && !empty($json['output'][0]['content'][0]['text'])){ $caption = trim($json['output'][0]['content'][0]['text']); } else { $msg = isset($json['error']['message']) ? $json['error']['message'] : 'Tuntematon virhe'; $caption = 'Kuvaustekstin haku epäonnistui (' . $code . '): ' . $msg; } } return new WP_REST_Response([ 'ok' => true, 'source' => 'openai+demo', 'video_url' => $chosen, 'caption' => $caption, ], 200); } ]); });
Create your own music
It seems we cannot find what you are looking for? Perhaps try searching.